Firebase 存储安全规则存储桶通配符是否会影响项目中的其他 GCS 存储桶?

问题描述

鉴于您可以在 Firebase Storage 安全规则中提供存储桶通配符,例如:

service firebase.storage {
  match /b/{bucket}/o {
    ...
  }
}

此处声明的规则是否有可能覆盖来自同一 Google Cloud 项目的 GCS 存储分区的规则(例如公共读取)?具体来说,在 Firebase 存储浏览器中创建的规则是否会影响同一项目中的其他(即非 Firebase)GCS 存储桶?

示例:

[Firebase storage]
- FB Bucket 1
- FB Bucket 2
(Rule: wildcard bucket* — public read)

[Google Cloud Storage]
- FB Bucket 1
- FB Bucket 2
- Special Bucket 3 (Rule: no public access)

Firebase Storage 的规则是否会导致 Special Bucket 3 无意中获得公开读取权限?

解决方法

Firebase 安全规则适用于对通过 Firebase 客户端 SDK 在该项目中访问的文件的访问。因此,重要的不是存储桶文件在什么中,而是如何访问它们。