Firebase Storage出现googleapis.com凭证缺失401未认证访问错误
问题原因解释
返回的401 UNAUTHENTICATED错误、CREDENTIALS_MISSING标识指的是Firebase服务访问Google Cloud存储时的系统身份凭证缺失,并非你个人账号配置的Storage Admin角色无效,问题出在Firebase与Google Cloud的权限联动配置上,和你个人登录权限无关。
排查修复步骤
- 确认Firebase与Google Cloud项目关联状态
进入Firebase控制台「项目设置」页面,核对关联的Google Cloud项目ID是否和你存储桶所属的项目一致,若出现关联异常可重新绑定后等待10分钟再测试访问。 - 补全Firebase系统服务账号权限
进入Google Cloud IAM页面,确认存在firebase-storage@system.gserviceaccount.com服务账号,为该账号授予存储对象查看者或存储管理员角色,该账号是Firebase读取Google Cloud存储桶内容的系统身份,权限缺失会直接导致Firebase控制台和公开下载链接失效。 - 关闭存储桶全局公开访问限制
进入Google Cloud Storage对应存储桶的「权限」设置页,找到「阻止公开访问」配置项,取消所有勾选的限制规则,该配置优先级高于Firebase Storage的安全规则与下载token校验,开启状态下所有公开访问请求都会被拦截。 - 核对Firebase API密钥限制
进入Google Cloud「API和服务→凭据」页面,找到Firebase项目自动生成的浏览器API密钥,检查是否配置了IP、HTTP referer等访问限制,若最近修改过限制规则,可先移除限制测试访问是否恢复,再按需调整规则范围。 - 回滚最近24小时内的配置变更
若上述操作都无效,可通过Google Cloud IAM的「策略分析器」查询最近24小时内的IAM策略、存储桶配置变更记录,回滚最近修改的配置项即可恢复服务。
内容的提问来源于stack exchange,提问作者Burak Kalafat
相关产品推荐
相关产品推荐

