sta*_*uxe 2 google-cloud-platform google-iam google-cloud-iam google-cloud-build
我在GCP项目中设置了Cloud Build触发器,以便通过.yaml文件从Cloud Source Repository部署Cloud Function。一切似乎都已正确设置,并根据官方文档授予了权限,但是当我通过手动运行触发器来测试触发器时,出现以下错误:
错误:(gcloud.functions.deploy)响应错误:状态= [403],代码= [禁止],消息= [缺少对资源[MY_SERVICE_ACCOUNT]的必需的权限iam.serviceAccounts.actAs。请授予角色/iam.serviceAccountUser角色。您可以通过运行“ gcloud iam服务帐户add-iam-policy-binding [MY_SERVICE_ACCOUNT] --member = --role = roles / iam.serviceAccountUser']来完成此操作
现在,首先,因为建议的语法错误(缺少“ member =“的值),所以运行建议的命令甚至无法正常工作。但更重要的是,我已经将该角色添加到错误消息所抱怨的服务帐户中。我尝试从UI和CLI删除它,然后将其重新添加,但始终会显示此错误。
为什么?
经过大量的反复试验,我发现了这一点。该文档似乎不正确(缺少一些其他必要的权限)。我用这个答案使我到达那里。
简而言之,您还需要向该帐户添加cloudfunctions.developer和iam.serviceAccountUser角色[PROJECT_NUMBER]@cloudbuild.gserviceaccount.com,并且(我相信)还需要将上述cloudbuild服务帐户作为具有部署您的Cloud Function权限的服务帐户的成员添加(再次显示在链接的SO答案)。
文档确实应该反映出这一点。
祝好运!
| 归档时间: |
|
| 查看次数: |
478 次 |
| 最近记录: |