我面临着一个问题与firebase云存储规则.事实上,我想限制访问未登录用户到我的文件在我的存储.我写了一个基本的规则,shloud不给予访问未登录用户,但这并不起作用.
我在firebase控制台云存储中的规则:
rules_version = '2';
service firebase.storage {
match /b/{bucket}/o {
match /{allPaths=**} {
allow read, write: if request.auth != null && request.auth.uid != ''
}
}
}
用例:如果我在隐身模式下打开一个窗口,可以通过输入firebase存储提供的下载URL链接来打开文件(然而,该规则不应如此)。
**PS:**我在post和this one上看到,这个url链接是一个公共资源(不可编辑),URL上提供的令牌是安全的,所以网上没有人可以访问我的云存储?但是在这种情况下,如何授权访问某些文件给某些用户?示例:我有来自不同公司的文件,我不希望一个人从公司A有机会从公司B的文件.如何控制访问该文件(下载URL链接与他的令牌)谢谢
1条答案
按热度按时间jjjwad0x1#
下载URL给任何拥有它的用户提供了对底层文件的公开的只读访问权限。此时不再有访问控制(通过安全规则或其他方式)。
因此,如果您希望使用安全规则控制对文件的访问,则不应生成下载URL,而是通过SDK方法进行所有访问,这些方法将根据您的安全规则进行检查。