针对存储桶的 Firebase 存储规则不允许访问



根据这些答案 以下内容应允许红色任何人访问和写入授权用户:

rules_version = '2';
service firebase.storage {
match /b/example-bda7b.appspot.com/o {
match /{allPaths=**} {
allow read;
allow write: if request.auth != null;
}
}
}

存储桶名称为:example-bda7b.appspot.com/o

但是,当我转到 uri 时:

http://storage.googleapis.com/example-bda7b.appspot.com/images/someone-Lopez.jpg

我收到一个错误:

<Error>
<Code>AccessDenied</Code>
<Message>Access denied.</Message>
<Details>
Anonymous caller does not have storage.objects.get access to example-bda7b.appspot.com/images/Aaliyah-Lopez.jpg.
</Details>
</Error>

知道为什么吗?

安全规则仅在使用适用于这些平台(例如 Android、iOS、Web、Unity(的 Firebase SDK 通过网络和移动客户端时控制对这些对象存储空间的访问。 它对通过域"storage.googleapis.com"中的 URL 进行的访问没有任何影响。

尽管 Cloud Storage 是 Google Cloud 产品,但 Firebase 安全规则是 Firebase 独有的概念。 因此,您可以期望它们仅适用于Cloud Storage的Firebase入口点。 请阅读本文以更好地了解Firebase和Google Cloud之间的关系。

最新更新