所有存储桶的 Firebase 存储安全规则

Posted

技术标签:

【中文标题】所有存储桶的 Firebase 存储安全规则【英文标题】:Firebase storage security rule for all buckets 【发布时间】:2022-01-18 16:28:42 【问题描述】:

我们的 firebase 应用正在为每个客户创建一个 gcs 存储桶,并将其链接到 firebase 存储,并将 firebase 存储安全规则应用于该桶。即使它是相同的规则,它也仅适用于创建的所有存储桶。所以firebase规则的数量被计为桶的数量。如果我们有 200 个客户,那么就有 200 个桶和 200 个 Firebase 存储规则。不知道这样的做法对不对?

我知道,如果我们走这条路,我们将达到每个项目 2500 条规则的限制。

是否可以选择将一个全局规则应用于项目中的所有存储桶?今天部署规则,如果明天创建一个新的桶,新桶会继承全局规则吗?

随着客户数量的增加,GCP 是否允许我们拥有如此多的存储桶?

其中一种选择是拥有一个通用存储桶,并为存储桶内的每个客户创建一个文件夹。 Firebase 存储规则可以应用于存储桶内的文件夹。

请让我知道您的想法/建议。

【问题讨论】:

【参考方案1】:

是否可以选择将一个全局规则应用于项目中的所有存储桶?

没有。

今天部署规则,如果明天创建一个新的桶,新桶会继承全局规则吗?

没有。您必须分别配置它们。

随着客户数量的增加,GCP 是否允许我们拥有如此多的存储桶?

有人问过这个问题:Is there a max limit of buckets that a Google Cloud Storage project can have?

【讨论】:

这意味着,当我们增长到 2500 个客户时,我们肯定会达到每个项目 2500 个 Firebase 规则的限制。我认为我们必须更改设计以使用每个客户一个文件夹,而不是每个客户一个存储桶。你能推荐一下吗? 我不知道你从哪里得到这个限制。规则的限制记录在here,我没有看到列出的内容。如果您有该文档未涵盖的问题,请直接联系 Firebase 支持以进行澄清。 page 中给出了 firebase 规则集限制。 我认为您应该联系 Firebase 支持以澄清这在实践中的含义。 好的,我会联系 Firebase 支持。你认为我们应该怎么做?为每个客户使用单独的存储桶,或者为一个客户使用一个带有多个文件夹的大存储桶

以上是关于所有存储桶的 Firebase 存储安全规则的主要内容,如果未能解决你的问题,请参考以下文章

Firebase存储规则资源变量返回null

读取 Firebase 存储映像安全规则

Firebase 存储安全规则

为特定用户提供访问权限的 Firebase 存储安全规则

群组的 Firebase 存储安全规则

Firebase 存储安全规则不适用于文件夹