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

新组织及Firebase新项目无法生成服务账号私钥问题求助

问题分析与解决办法

问题根源

你用域名创建的新账号属于某个Google Workspace(原G Suite)组织,该组织管理员设置了iam.disableServiceAccountKeyCreation全局组织策略,禁止创建服务账号密钥;而你的个人账号是独立Google账号,不属于任何组织,因此不受该策略限制。

具体解决办法

1. 无需修改组织策略的替代方案(优先推荐,规避安全风险)

如果没有组织管理员权限,或者不想调整全局策略,可以用应用默认凭据替代长期服务账号密钥:

  • 本地开发场景:
    1. 安装Google Cloud SDK,运行命令登录你的个人账号:
      gcloud auth login
      
    2. 设置应用默认凭据:
      gcloud auth application-default login
      
    3. Python Admin SDK代码无需指定密钥文件,自动读取默认凭据:
      import firebase_admin
      from firebase_admin import credentials
      
      cred = credentials.ApplicationDefault()
      firebase_admin.initialize_app(cred, {
          'projectId': '你的Firebase项目ID',
      })
      
  • 生产环境场景:可以使用工作负载身份联盟,通过云服务(如Cloud Run、GCE)的内置身份认证,无需手动管理密钥。

2. 联系组织管理员的解决方案

如果能联系到组织管理员,建议做以下操作(遵循最小权限原则,避免全局放宽策略):

  • 在你的Firebase项目级别添加策略例外:管理员进入Google Cloud控制台的「组织策略」页面,找到iam.disableServiceAccountKeyCreation约束,为你的项目添加「允许」例外,仅放开该项目的密钥创建权限。
  • 由管理员创建密钥:管理员直接在组织控制台为你的firebase-adminsdk服务账号创建密钥,安全分发给你,避免你获得策略修改权限。

3. 辅助检查:确认服务账号密钥数量

虽然核心问题是组织策略,但也可以验证服务账号的密钥上限:每个服务账号最多允许创建10个密钥。如果之前创建过密钥未删除,可在Google Cloud控制台的「IAM & Admin > 服务账号 > 密钥」页面查看并清理,但根据你的报错信息,这大概率不是核心原因。

内容的提问来源于stack exchange,提问作者Nico Essi

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.24 09:17:00