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

时间:2020-07-06 10:34:42

标签: firebase firebase-hosting google-cloud-iam

我正在尝试通过管道(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

--debug除了403之外,没有提供其他详细信息。我为服务帐户设置了以下角色:

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

部署规则(使用--only firestore)可以正常工作。我已经阅读了有关Firebase hosting的角色的文档,但是分配这些角色也不起作用。

有人知道我缺少哪些角色吗?

注意:此处使用服务帐户进行部署,因此任何firebase login / firebase logout操作都不会起作用。有关详细信息,请参见Login to firebase using gcloud service account

2 个答案:

答案 0 :(得分:0)

在Firebase支持的帮助下,我指出了部署到Firebase page,其中列举了所有必需的角色。总结一下:

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

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

答案 1 :(得分:-1)

您必须使用oadm policy add-cluster-role-to-user cluster-reader system:serviceaccount:myproject:default

在集群级别添加角色
相关问题