已设公开规则仍出现Firebase Storage Permission denied错误如何解决?
排查步骤
- 首先确认存储规则已发布:修改完规则后必须点击Firebase控制台规则页面右上角的发布按钮,草稿状态的规则不会生效,这是最常见的问题。
- 核对存储桶地址是否匹配:你代码中Firebase初始化配置里的
storageBucket参数,必须和你修改规则的存储桶地址完全一致。如果你的项目下有多个存储桶,很容易出现修改了A桶规则、代码访问B桶的情况。 - 检查谷歌云存储IAM权限冲突:Firebase存储规则是上层权限控制,如果你在谷歌云控制台给对应存储桶设置了更严格的IAM策略,即使Firebase规则开了公开访问也会被拦截。你可以到对应存储桶的权限配置页,确认是否给匿名用户开放了存储对象读取权限。
- 排除规则缓存影响:新发布的规则最多可能有10分钟的缓存生效时间,刚改完规则可以等待几分钟、清空浏览器缓存或者用隐私窗口测试。
- 确认Firebase实例初始化正确:检查你项目中初始化的Firebase实例是否和你操作的控制台项目一致,避免出现开发/生产环境配置混用的情况。
内容的提问来源于stack exchange,提问作者Vinicius Bortoletto
相关产品推荐
相关产品推荐

