【问题标题】:Unable to access cloud firestore in firebase due to permission issues由于权限问题,无法访问 Firebase 中的 Cloud Firestore
【发布时间】:2020-10-17 08:54:52
【问题描述】:

我是 Firebase 项目的所有者, 我的DataBase 规则读写设置为true,但我无法在cloudFireStore storage.SHA1 和SHA256 中读取和写入密钥也添加到googleservices.json 文件中,出现Permission Denied 异常。

异常详情

W/Firestore(12435): (21.3.0) [Firestore]: 侦听查询(users/null/info) 失败:状态{code=PERMISSION_DENIED, description=Missing or enough permissions., cause=null} I/System.out(12435): com.google.firebase.firestore.FirebaseFirestoreException: PERMISSION_DENIED: 权限缺失或不足。

数据库规则代码

rules_version = '2';
service cloud.firestore {
match /databases/{database}/documents {

// This rule allows anyone on the internet to view, edit, and delete
// all data in your Firestore database. It is useful for getting
// started, but it is configured to expire after 30 days because it
// leaves your app open to attackers. At that time, all client
// requests to your Firestore database will be denied.
//
// Make sure to write security rules for your app before that time, or else
// your app will lose access to your Firestore database
match /{document=**} {
  allow read, write: if true;
}

任何帮助都会非常有帮助。

【问题讨论】:

  • Firestore 安全规则依赖于服务帐户和 IAM 绑定。如果服务帐户缺少 firebaserules.system 角色,您的安全规则将拒绝所有请求。您可以参考此link 为服务帐户设置 IAM 角色。
  • 谢谢,问题已解决
  • 为了更好地重用可能对 GCP 社区有所帮助的信息。请帮助投票我添加的答案,谢谢!

标签: firebase flutter dart google-cloud-platform google-cloud-firestore


【解决方案1】:

使用云控制台解决:

gcloud 项目 add-iam-policy-binding 项目名称
--member=serviceAccount:service-project id@firebase-rules.iam.gserviceaccount.com
--role=roles/firebaserules.system

【讨论】:

    【解决方案2】:

    Firestore 安全规则依赖于服务帐号和 IAM 绑定。如果服务帐号缺少 firebaserules.system 角色,您的安全规则将拒绝所有请求。您可以参考此link 为服务帐号设置 IAM 角色。

    【讨论】:

      猜你喜欢
      • 2021-06-13
      • 2020-02-01
      • 2018-09-15
      • 1970-01-01
      • 2022-01-16
      • 1970-01-01
      • 1970-01-01
      • 2021-08-23
      • 1970-01-01
      相关资源
      最近更新 更多