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

标签 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之外没有提供更多详细信息。我已经为serviceaccount设置了以下角色:
  • Firebase托管管理员
  • Firebase规则管理员
  • API key 查看器

  • 部署规则(使用--only firestore)可以正常工作。我已经阅读了有关Firebase hosting角色的文档,但是分配这些角色也不起作用。
    有人知道我缺少哪些角色吗?
    注意:此处使用服务帐户进行部署,因此任何firebase login/firebase logout操作均无效。有关详细信息,请参见Login to firebase using gcloud service account

    最佳答案

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

  • 云构建服务帐户
  • Firebase管理员
  • API key 管理员

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

    关于使用serviceaccount进行Firebase托管部署失败并显示403,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62754227/

    相关文章:

    javascript - Firebase 'child_removed' 事件监听器不工作

    java - 循环通过 firebase 时为空指针

    firebase - 如何编辑 Firebase DynamicLinks 404(未找到动态链接)页面?

    google-cloud-platform - 如何调度经过身份验证的云函数的http调用?

    postgresql - 使用 IAM 用户从 Azure Data Studio 连接到 Cloud SQL

    google-cloud-platform - 您需要此操作的权限。所需权限 : resourcemanager. projects.setIamPolicy

    android - 如何知道用户是否已验证他/她的电子邮件地址

    ios - Firebase 崩溃符号文件 : Unable to upload symbol file (reason unknown)

    firebase-hosting - 使用 Firebase 托管如何更改域名

    Firebase部署,忽略除公用文件夹外的所有文件