当前位置: 首页 > 知识库问答 >
问题:

GCP云生成失败,出现权限错误,即使授予了正确的角色

瞿博学
2023-03-14

我在GCP项目中设置了一个云构建触发器,以便通过.yaml文件从云源存储库部署云功能。似乎所有的一切都已正确设置,并且根据官方文档授予了权限,但是当我通过手动运行触发器来测试它时,我得到了以下错误:

错误:(GCloud.functions.deploy)响应错误:status=[403],code=[禁止],message=[缺少资源[MY_SERVICE_ACCOUNT]的必要权限iam.serviceaccounts.actas。请授予roles/iam.serviceAccountUser角色。您可以通过运行“GCloud iam service-accounts add-iam-policy-binding[MY_SERVICE_ACCOUNT]--member=--role=roles/iam.serviceAccountUser”来完成此操作

首先,运行建议的命令甚至不起作用,因为建议的语法是错误的(缺少“member=”的值)。但更重要的是,我已经将该角色添加到错误消息所抱怨的服务帐户中。我试着从UI和CLI中删除它,然后再添加它,但仍然总是显示这个错误。

为什么?

共有1个答案

劳彦
2023-03-14

我是在反复试验之后才想出来的。文档似乎不正确(缺少一些额外的必要权限)。我用这个答案把我带到那里。

简而言之,您还需要将cloudfunctions.developeriam.serviceAccountUser角色添加到[PROJECT_NUMBER]@cloudbuild.gserviceAccount.com帐户中,并且(我相信)还需要将前面提到的cloudbuild服务帐户添加为具有部署您的云功能的权限的服务帐户的成员(再次显示在链接的SO答案中)。

文档确实应该反映这一点。

祝你好运!

 类似资料:
  • 配置: 我正在使用JWT,所以我有一个过滤器来创建基于它的用户: 我的userDetailsService填充GrantedAuthorities:

  • 我的清单里有这个: 这是我尝试创建和写入文件的地方(它在一个名为的文件中): 当我尝试创建文件时,会显示以下内容: 如您所见,它在此处打印,表示授予了权限,但紧接着出现了“权限被拒绝”错误。有没有办法解决这个问题? 编辑:在旁注上,当它说它试图保存到数据/用户/0/cs时。cscb07courseproject/files,是在项目中还是保存在我的计算机上?因为当我去我的终端做cd/data或cd

  • 我分配一个角色权限来创建数据库。相同的角色被分配给登录用户,但是当我试图使用分配角色的登录用户创建新数据库时,我得到权限拒绝错误。 无法执行语句。权限拒绝,数据库主,所有者dbo。运行此命令需要以下权限:CREATE DATABASE。赛贝斯错误代码=10331严重级别=14,状态=3,事务状态=0第1行 我用15.5分和16分试了一下。我做错什么了吗?我们需要考虑其他参数吗?我经历了这次讨论 h

  • 从多个github讨论中,我发现这是一个windows网络错误。 这个问题有解决办法吗?我应该降级docker版本还是安装其他东西。 我正在使用windows容器。运行docker版本客户端:版本:17.06.0-CE API版本:1.30 Go版本:Go1.8.3 Git提交:02C1D87构建:周五6月23日21:30:30 2017 OS/arch:Windows/amd64 如何解决lin

  • 我有一个针对SDK28的Android应用程序,所以我有处理的权限。我检查是否设置了,但当Exoplayer尝试读取文件(我验证该文件确实存在)时,我看到 com.google.android.exoplayer2.upstream.filedatasource$filedatasourceException:java.io.fileNotfoundexception:/storage/emula

  • 当我录制一个浓缩咖啡测试并重播时,我收到这个错误,我该如何解决它?: junit.framework.AssertionFailedError:无法授予权限,请参阅logcat(位于Android.support.test.runner.permission.requester.requestPermission(permissionrequester.java:50)(位于Android.sup