使用 serviceaccount 进行 Firebase 托管部署失败并显示 403

Rob*_*sch 6 firebase firebase-hosting google-cloud-iam

我正在尝试通过管道(Gitlab,但这对这个问题无关紧要)部署一个带有服务帐户(我自己创建,而不是 Google/Firebase 默认提供的服务帐户)的 Firebase 托管项目。

当我在本地运行以下命令时(管道中也会发生同样的情况):

GOOGLE_APPLICATION_CREDENTIALS="/path/to/serviceaccount.json" firebase deploy --only hosting
Run Code Online (Sandbox Code Playgroud)

我收到以下错误:

=== Deploying to 'my-firebase-project'...

i  deploying hosting

Error: HTTP Error: 403, The caller does not have permission
Run Code Online (Sandbox Code Playgroud)

--debug不提供任何更多的细节,除了403我已经设置了以下角色的serviceaccount:

  • Firebase 托管管理员
  • Firebase 规则管理员
  • API 密钥查看器

部署规则(使用--only firestore)没有问题。我已阅读有关Firebase 托管角色的文档,但分配这些角色也不起作用。

有谁知道我缺少哪些角色?

注意:这里使用服务帐户进行部署,因此任何firebase login/firebase logout操作都不会产生任何影响。有关详细信息,请参阅使用 gcloud 服务帐户登录 firebase

Rob*_*sch 2

在 Firebase 支持的帮助下,我被引导至“部署到 Firebase” 页面,该页面提供了所有必需角色的枚举。总结一下:

  1. 云构建服务帐号
  2. Firebase 管理员
  3. API 密钥管理

我错过了第一个,这导致了这个错误。希望这也能帮助其他人!