如何使用服务帐户获取Firestore规则

时间:2018-08-20 12:35:32

标签: firebase google-cloud-firestore

如Firestore文档here中所述,我有这样的安全规则:

service cloud.firestore {
  match /databases/{database}/documents {
    match /users/{userId} {
      allow read, update, delete: if request.auth.uid == userId;
      allow create: if request.auth.uid != null;
    }
  }
}

此规则在通过客户端库进行身份验证时有效,但在我使用Firebase文档中编写的服务器库时无效

  

注意:服务器客户端库绕过所有Cloud Firestore安全规则,而是通过Google应用程序默认凭据进行身份验证。如果您使用服务器客户端库或REST或RPC API,请确保为Cloud Firestore设置Cloud Identity和访问管理。

如何将此安全规则复制到服务帐户角色?

1 个答案:

答案 0 :(得分:5)

使用Firebase Admin SDK和服务帐户访问Firestore的代码当前不能用于执行安全规则的范围内特定的用户ID。使用Admin SDK进行的所有访问都将绕过安全规则并完全控制数据库。

请注意,这与具有这种功能的实时数据库不同。