You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

docker pull报错:权限‘artifactregistry.repositories.downloadArtifacts’被拒,如何授权?

解决Artifact Registry docker pull权限报错的方案

1. 检查角色绑定的资源范围

  • 确认新服务账号的Artifact Registry Reader/Administrator角色,是否绑定到了目标仓库所在的项目、文件夹,或者直接绑定到仓库本身。
    • 如果角色只绑定在其他项目,而镜像仓库属于另一个项目,权限不会生效。
    • 优先将角色直接绑定到具体的Artifact Registry仓库,避免层级继承出现问题。

2. 验证服务账号的实际权限

  • 用gcloud命令直接查询目标仓库的IAM策略,确认新账号是否拥有对应权限:
    gcloud artifacts repositories get-iam-policy 你的仓库名 --location=仓库区域 --project=项目ID
    
    输出结果中需要能找到你的新服务账号,且关联了roles/artifactregistry.reader或roles/artifactregistry.admin角色。

3. 确认虚拟机正确使用新服务账号

  • 检查当前虚拟机的服务账号是否为新账号:
    gcloud compute instances describe 虚拟机名 --zone=虚拟机区域 --format="value(serviceAccounts.email)"
    
    输出的邮箱需与新服务账号一致。如果刚更换账号,记得重启虚拟机让配置生效。

4. 直接补充权限(若上述步骤无效)

  • 重新给新账号绑定目标仓库的Reader角色(可排除权限继承异常问题):
    gcloud artifacts repositories add-iam-policy-binding 你的仓库名 \
      --location=仓库区域 \
      --project=项目ID \
      --member="serviceAccount:新服务账号邮箱" \
      --role="roles/artifactregistry.reader"
    
    若仍报错,也可单独授予下载权限(优先使用预定义角色,此为兜底方案):
    gcloud artifacts repositories add-iam-policy-binding 你的仓库名 \
      --location=仓库区域 \
      --project=项目ID \
      --member="serviceAccount:新服务账号邮箱" \
      --permission="artifactregistry.repositories.downloadArtifacts"
    

内容的提问来源于stack exchange,提问作者zino

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.19 21:40:16