使用service acct在CI/CD管道中部署go应用程序,缺少权限

问题描述 投票:0回答:1

我正在使用 部署应用程序引擎 操作来尝试自动化 Go 标准应用程序引擎部署。我使用该操作的自述文件中指定的角色创建了一个服务帐户,其中包括存储管理员。我在部署时仍然遇到错误:

(gcloud.app.deploy) 错误响应:[7] 无法获取元数据: generic::permission_denied: 无法从镜像“us.gcr.io/myprojectid/app-engine-tmp/app/”的注册表中获取元数据default/ttl-18h:65ff63ae-0547-4731-b625-ca7612b30c97”,原因: generic::permission_denied: 从 us.gcr.io 获取图像 us.gcr.io/myprojectid/app-engine-tmp/app 的ImageMetadata 失败/default/ttl-18h:65ff63ae-0547-4731-b625-ca7612b30c97,原因:generic::permission_denied:无法获取清单:generic::permission_denied:无法获取清单“myprojectid/app-engine-tmp/app/default /ttl-18h/manifests/65ff63ae-0547-4731-b625-ca7612b30c97”,错误:generic::permission_denied:获得 URI 的 HTTP/403 响应 https://us.gcr.io/v2/myprojectid/app-engine -tmp/app/default/ttl-18h/manifests/65ff63ae-0547-4731-b625-ca7612b30c97:(allowRedirect = false)

查看页面here,它说我需要添加我已经拥有的存储管理员角色。我还能做什么来进一步调试这个问题?最近对工件注册表的更改是否需要额外的角色?

google-app-engine
1个回答
0
投票

根据@jum 的评论发布为社区维基:

好的,我的服务帐户需要 Artifact Registry Repository Administrator 角色。在进一步的尝试中,我还需要 Cloud Datastore Index Admin 来上传indexes.yaml,并需要 Cloud Tasks Admin 来上传 cron.yaml。我还需要服务使用管理,但现在它可以工作了。

© www.soinside.com 2019 - 2024. All rights reserved.