使用 serviceaccount 的 Firebase 托管部署失败并显示 403
Firebase hosting deploy with serviceaccount fails with 403
我正在尝试通过管道(Gitlab,但是这对这个问题)。
当我 运行 在本地执行以下命令时(同样发生在管道中):
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
操作都不会产生任何影响。有关详细信息,请参阅 。
您必须使用 oadm policy add-cluster-role-to-user cluster-reader system:serviceaccount:myproject:default
在集群级别添加角色
在 Firebase 支持的帮助下,有人指出 部署到 Firebase page,它提供了所有必需角色的枚举。总结一下:
- 云构建服务帐户
- Firebase 管理员
- API 密钥管理员
我错过了第一个,导致了这个错误。希望这对其他人也有帮助!
我正在尝试通过管道(Gitlab,但是这对这个问题)。
当我 运行 在本地执行以下命令时(同样发生在管道中):
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
操作都不会产生任何影响。有关详细信息,请参阅
您必须使用 oadm policy add-cluster-role-to-user cluster-reader system:serviceaccount:myproject:default
在 Firebase 支持的帮助下,有人指出 部署到 Firebase page,它提供了所有必需角色的枚举。总结一下:
- 云构建服务帐户
- Firebase 管理员
- API 密钥管理员
我错过了第一个,导致了这个错误。希望这对其他人也有帮助!