Google AppEngine服务帐户的Firestore规则和版本

问题描述

我已经更新了Google App Engine应用程序,以在同一项目中的新创建的Firestore实例中写入一些设置。

我收到来自Firestore / firebase的电子邮件,说我的Firestore不安全,并且任何人都可以读写。

当我查看文档时,所有示例均指向Firebase利用,而我正在通过“ google / cloud” PHP库使用Google App Engine服务帐户写入Firestore。

您有样品吗? 我只需要允许服务帐户读取并写入单个集合即可。

解决方法

听起来您正在使用Admin SDK或其他服务器端API来访问Cloud Firestore。在这种情况下,您的代码将使用管理凭据访问Firestore,并绕过安全规则。

如果这是访问Cloud Firestore的唯一方法,则只需设置安全规则即可禁止来自客户端SDK的所有访问。根据{{​​3}}上的Firebase文档,这些规则是:

service cloud.firestore {
  match /databases/{database}/documents {
    match /{document=**} {
      allow read,write: if false;
    }
  }
}