根据这些answers以下内容应允许红色所有人访问并写入授权用户:
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>
知道为什么吗?
安全规则仅在使用适用于这些平台的Firebase SDK(例如Android,iOS,Web,Unity)通过Web和移动客户端访问网络和移动客户端时,才控制对对象存储桶的访问。它对通过域“ storage.googleapis.com”中的URL的访问没有任何影响。
即使Cloud Storage是Google Cloud产品,Firebase安全规则也是Firebase独有的概念。因此,您可以期望它们仅适用于Cloud Storage中的Firebase入口点。请阅读this article以更好地了解Firebase与Google Cloud之间的关系。