Firebase初始化遇Secret Manager权限错误,无法执行firebase init
解决Firebase Init时Secret Manager权限错误
问题根源
你遇到的错误明确指出Cloud Build服务账号缺少secretmanager.secrets.create和secretmanager.secrets.setIamPolicy权限,而你添加的Secret Manager访问者角色不包含这两个操作权限——该角色仅提供读取类权限,无法满足创建密钥和设置IAM策略的需求。
Error: could not assert Secret Manager permissions. Make sure that Secret Manager is enabled in your GCP project and that the Cloud Build P4SA (service-570924573232@gcp-sa-cloudbuild.iam.gserviceaccount.com) has permissions secretmanager.secrets.create and secretmanager.secrets.setIamPolicy. Error: generic::permission_denied: Permission 'secretmanager.secrets.create' denied for resource 'projects/edrak-fc40c' (or it may not exist).
修复步骤
- 登录GCP控制台,进入IAM与管理员页面,找到目标服务账号:
service-570924573232@gcp-sa-cloudbuild.iam.gserviceaccount.com - 为该账号配置权限,二选一即可:
- 直接添加Secret Manager Admin角色:该角色包含所有必要权限,适合快速解决问题
- 精细化权限配置:手动添加以下两个单独权限
secretmanager.secrets.createsecretmanager.secrets.setIamPolicy
- 保存权限设置后,等待1-2分钟让权限生效,重新执行
firebase init命令
额外验证项
- 确认GCP项目
edrak-fc40c已启用Secret Manager API:在GCP控制台的API库中搜索Secret Manager,确保状态为“已启用” - 检查操作时是否选中了正确的项目,避免因选错项目导致权限配置无效
内容的提问来源于stack exchange,提问作者Ali
相关产品推荐
相关产品推荐

