【问题标题】:Do firebase storage rules override cloud storage permissions?Firebase 存储规则是否会覆盖云存储权限?
【发布时间】:2021-04-04 08:47:40
【问题描述】:

我的存储桶中有以下规则:

rules_version = '2';
service firebase.storage {
  match /b/{bucket}/o {
    match /{allPaths=**} {
      allow read;
    }
  }
}

这告诉我公众可以阅读 - 但他们不能。检查谷歌云存储用户界面,没有“公共网址”。

有几个问题:

  • firebase 是否为访问将根据上述规则配置颁发权限的文件提供不同的 URL?
  • GCS 存储桶权限中有一个 firebase-adminsdk 服务帐号 - 这是 firebase 用来访问存储桶的吗?
  • 哪些凭据相互覆盖?

【问题讨论】:

    标签: firebase google-cloud-storage firebase-storage firebase-security


    【解决方案1】:

    Cloud Storage 访问权限和 Firebase 的存储规则无关。

    Firebase 的存储规则适用于通过 Firebase SDK 访问存储分区中数据的用户。此外,Firebase 可以生成一个所谓的下载 URL,让拥有该 URL 的每个人都可以只读访问该文件。

    Cloud Storage 访问权限适用于通过 Cloud API 访问存储桶中数据的用户。 Cloud Storage SDK 和 API 还可以生成所谓的签名 URL,其作用类似于上述下载 URL。

    【讨论】:

      【解决方案2】:

      Firebase 安全规则仅影响在使用 Firebase SDK 时从网络和移动客户端应用直接访问,尤其是当用户通过 Firebase Auth 进行身份验证时(因为在评估规则期间用户的帐户令牌可用)。

      规则不会影响服务帐号的工作方式或其他依赖 Cloud Storage ACL 的公共访问方式。这些是由他们自己的权限系统决定的。这些其他系统也完全不会影响 Firebase 客户端访问。

      【讨论】:

      • 如果您发现某个答案有帮助,通常会点赞。
      猜你喜欢
      • 2017-09-09
      • 2019-10-30
      • 1970-01-01
      • 2020-05-07
      • 2017-08-11
      • 2019-07-26
      • 2019-05-08
      • 2020-08-15
      • 2019-06-24
      相关资源
      最近更新 更多