我正在尝试通过管道(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之外,没有提供其他详细信息。我为服务帐户设置了以下角色:
部署规则(使用--only firestore
)可以正常工作。我已经阅读了有关Firebase hosting的角色的文档,但是分配这些角色也不起作用。
有人知道我缺少哪些角色吗?
注意:此处使用服务帐户进行部署,因此任何firebase login
/ firebase logout
操作都不会起作用。有关详细信息,请参见Login to firebase using gcloud service account。
答案 0 :(得分:0)
在Firebase支持的帮助下,我指出了部署到Firebase page,其中列举了所有必需的角色。总结一下:
我错过了第一个,导致了此错误。希望这也会对其他人有所帮助!
答案 1 :(得分:-1)
您必须使用oadm policy add-cluster-role-to-user cluster-reader system:serviceaccount:myproject:default