首页 > 解决方案 > 使用 serviceaccount 部署 Firebase 托管失败并显示 403

问题描述

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

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

GOOGLE_APPLICATION_CREDENTIALS="/path/to/serviceaccount.json" firebase deploy --only hosting

我收到以下错误:

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

i  deploying hosting

Error: HTTP Error: 403, The caller does not have permission

除了--debug403 之外,不提供任何更多详细信息。我已将以下角色设置为服务帐户:

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

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

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

标签: firebasefirebase-hostinggoogle-cloud-iam

解决方案


在 Firebase 支持的帮助下,我被指向了Deploying to Firebase 页面,该页面提供了所有必需角色的枚举。在这里总结一下:

  1. Cloud Build 服务帐号
  2. Firebase 管理员
  3. API 密钥管理员

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


推荐阅读