在GCP Kubernetes中触发镜像构建时遇403权限错误求助
解决GCP Kubernetes触发器构建镜像时的403权限错误
错误原因
你执行gcloud.container.clusters.get-credentials命令时,当前使用的GCP账号没有目标集群projects/digidoc-uat/locations/asia-south1/clusters/digidocuatfe的container.clusters.get权限,导致无法获取集群凭证,进而中断了镜像构建流程。
解决步骤
确认当前活跃账号
先查清楚是哪个账号在执行操作:gcloud config get-value account给账号添加所需权限
找拥有项目管理员权限(比如roles/owner或roles/container.admin)的人,执行以下命令给目标账号授权:- 最小权限方案:授予
Kubernetes Engine Cluster Viewer角色(刚好包含container.clusters.get权限)gcloud projects add-iam-policy-binding digidoc-uat \ --member="user:你的账号邮箱" \ --role="roles/container.clusterViewer" - 全权限方案(按需使用):如果需要完整的集群管理权限,可授予
Kubernetes Engine Admin角色gcloud projects add-iam-policy-binding digidoc-uat \ --member="user:你的账号邮箱" \ --role="roles/container.admin"
注意:如果是构建触发器用的服务账号,要给服务账号(格式是
serviceAccount:xxx@xxx.iam.gserviceaccount.com)授权,而非个人账号- 最小权限方案:授予
验证权限生效
重新执行获取凭证的命令,确认是否能成功:gcloud container clusters get-credentials digidocuatfe --location=asia-south1 --project=digidoc-uat
额外提示
权限变更通常需要1-2分钟才能同步,刚设置完如果还报错,等几分钟再重试。
内容的提问来源于stack exchange,提问作者Rahul Chhabra
相关产品推荐
相关产品推荐

