You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Terraform创建Firebase Web应用时服务账号GCS存储桶403权限错误排查

问题原因

你当前配置的roles/firebase.managementServiceAgent、roles/firebase.sdkAdminServiceAgent、roles/firebase.sdkProvisioningServiceAgent三个角色均为Firebase专属的服务代理角色,仅覆盖Firebase应用创建、配置拉取等Firebase核心资源的管理权限,不包含Cloud Storage(GCS)资源的操作权限,因此Terraform在尝试读取/创建GCS存储桶时会触发storage.buckets.get权限不足的403报错。

解决方案

  • 权限配置补充:你可以根据需求选择以下两种权限配置方案之一:
    1. 便捷配置:直接为服务账号授予当前项目的roles/storage.admin(存储管理员)角色,该角色已包含你当前Terraform代码中创建存储桶、上传配置文件所需的所有GCS操作权限,授予命令参考:
      gcloud projects add-iam-policy-binding optic-web-otp \
        --member="serviceAccount:替换为你的服务账号完整标识" \
        --role="roles/storage.admin"
      
    2. 最小权限配置:如果需要控制权限范围,可自定义IAM角色,仅添加当前所需的最小权限列表:
      • storage.buckets.get
      • storage.buckets.create
      • storage.objects.create
      • storage.objects.get
  • 额外注意事项:GCS存储桶名称为全局唯一资源,如果你定义的桶名firebase-optic-storage已被其他GCP项目占用,也会触发无权限访问的同类报错,建议将桶名调整为带项目ID的唯一值,例如firebase-optic-storage-${var.gcp_project_id},避免全局命名冲突。

权限配置完成后重新执行terraform plan即可验证修复效果。


内容的提问来源于stack exchange,提问作者Manuel Spigolon

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.01 03:15:02