使用firebase-tools最新版部署Firebase遇403权限错误求助
Firebase-tools 13.15.2部署时出现默认存储桶权限拒绝403错误
环境
- firebase-tools: 13.15.2
- Next.js: 14.1.4
- 平台:Ubuntu(GitHub Actions)
问题描述
此前使用firebase-tools部署正常,升级到13.15.2版本后,部署时出现默认存储桶权限拒绝错误,降级至12.9.1版本可恢复正常。
错误信息
Error: HTTP Error: 403, Permission 'firebasestorage.defaultBucket.get' denied on resource '//firebasestorage.googleapis.com/projects/myProjectId/defaultBucket' (or it may not exist). Reverting to 12.9.1 works fine.
复现步骤
执行部署命令:
firebase deploy --force --only hosting:dev,functions,firestore,storage --project my-project
已尝试操作
- 检查Firebase IAM和服务账号权限,已分配以下角色:
- Cloud Storage for Firebase Admin
- Firebase Admin
- Storage Admin
- 通过Policy Analyzer确认
firebasestorage.defaultBucket.get权限已附加到服务账号,但问题仍存在。
解决方案建议
- 锁定firebase-tools版本:在GitHub Actions部署步骤中指定安装12.9.1版本,命令为
npm install -g firebase-tools@12.9.1,暂时规避版本问题。 - 验证服务账号与项目关联:确认GitHub Actions中使用的服务账号密钥属于目标项目
my-project,避免跨项目权限冲突。 - 确认默认存储桶存在:登录Firebase控制台,检查Storage模块下是否存在默认存储桶,桶名格式应为
<project-id>.appspot.com。 - 触发IAM权限同步:尝试移除并重新添加服务账号的角色,或等待10-15分钟让IAM权限配置完全生效(部分场景下权限更新存在延迟)。
- 添加细粒度权限:直接为服务账号添加
firebasestorage.defaultBucket.get这个具体权限,补充现有管理员角色可能存在的覆盖遗漏。
内容的提问来源于stack exchange,提问作者user25401403
相关产品推荐
相关产品推荐

