我尝试使用服务帐户从CI中使用CheckBox
,但收到错误:
(gcloud.beta.functions.deploy)ResponseError:status = [403], code = [Forbidden],message = [来电者没有权限]
我无法在IAM Web控制台中找到任何看起来合适的角色。我使用哪一个?
答案 0 :(得分:1)
答案 1 :(得分:1)
检查您当前的配置:gcloud config list
查看结果并检查project =
与目标项目 PROJECT_ID 完全相同。
您可以列出您的项目:gcloud config set project
重要强>
Project =
未设置为NAME。必须设置 PROJECT_ID 。
答案 2 :(得分:1)
要部署功能,用户应具有角色roles/cloudfunctions.developer
我是通过更改UI中的角色来发现这一点的。我找不到任何官方的Google文档。本文https://medium.com/google-cloud/triggering-cloud-functions-deployments-97691f9b5416
中也提到了此角色答案 3 :(得分:1)
这是我的服务帐户(不是默认的Cloud Functions服务帐户)使用CI成功部署Cloud Function所需的最低角色。
Cloud Functions Developer Service Account User
来自文档
为了向用户分配Cloud Functions开发人员角色(roles / cloudfunctions.developer)或可以部署功能的自定义角色,您还必须为该用户分配IAM服务帐户用户角色(roles / iam.serviceAccountUser)。云功能运行时服务帐户。
参考:https://cloud.google.com/functions/docs/reference/iam/roles
我不明白的一件事是提到运行时服务帐户。您不必将服务帐户用户角色分配给运行时服务帐户,而应将其分配给您要用于部署的SA。(不确定我是否正确理解该文档)