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

如何一次性将所有ECR仓库共享给其他AWS账号?

AWS账号下全量ECR仓库跨账号共享方案

AWS原生支持一次性将账号下所有ECR仓库共享给其他AWS账号,无需在控制台逐个仓库配置权限,根据使用场景可选择以下两种落地方式:

方案一:IAM跨账号角色授权(推荐,永久生效覆盖新老仓库)

这个方案不需要修改任何单个ECR仓库的策略,配置完成后,对端账号不仅能访问当前所有已存在的ECR仓库,后续你账号下新建的ECR仓库也会自动对其开放对应权限,不需要重复配置。

  1. 在你的ECR资源持有账号中创建一个IAM角色,将角色信任关系配置为允许对端账号的主体担任该角色,信任策略示例如下:
{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Effect": "Allow",
      "Principal": {
        "AWS": "arn:aws:iam::<对端AWS账号ID>:root"
      },
      "Action": "sts:AssumeRole"
    }
  ]
}
  1. 给该角色绑定ECR访问权限策略,资源范围指定为所有ECR资源即可,不需要限定具体仓库,基础拉取权限的策略示例如下:
{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Effect": "Allow",
      "Action": [
        "ecr:BatchCheckLayerAvailability",
        "ecr:BatchGetImage",
        "ecr:DescribeImages",
        "ecr:DescribeRepositories",
        "ecr:GetDownloadUrlForLayer",
        "ecr:ListImages"
      ],
      "Resource": "*"
    }
  ]
}

如果需要给对端开放镜像推送、删除、仓库配置修改等写权限,直接在Action数组中补充对应的ECR操作项即可。

  1. 通知对端账号的用户通过STS担任该角色,即可访问你账号下的全量ECR资源。

方案二:AWS CLI批量更新现有仓库策略

如果不想使用跨账号角色扮演的授权方式,需要直接给对端账号授予所有仓库的原生访问权限,可以通过AWS CLI批量遍历仓库写入策略,不需要手动逐个配置:

  1. 先导出当前区域下所有ECR仓库的名称列表:
aws ecr describe-repositories --query 'repositories[].repositoryName' --output text | tr '\t' '\n' > ecr_repos.txt
  1. 执行循环命令,批量给所有仓库添加跨账号访问策略:
TARGET_ACCOUNT_ID="<填入对端AWS账号ID>"
while read repo; do
  aws ecr set-repository-policy \
    --repository-name $repo \
    --policy-text "{
      \"Version\": \"2012-10-17\",
      \"Statement\": [
        {
          \"Sid\": \"CrossAccountAccess\",
          \"Effect\": \"Allow\",
          \"Principal\": {
            \"AWS\": \"arn:aws:iam::${TARGET_ACCOUNT_ID}:root\"
          },
          \"Action\": [
            \"ecr:BatchCheckLayerAvailability\",
            \"ecr:BatchGetImage\",
            \"ecr:GetDownloadUrlForLayer\"
          ]
        }
      ]
    }"
done < ecr_repos.txt

注意:该方案仅会给执行命令时已经存在的ECR仓库添加权限,后续新建的ECR仓库不会自动继承该授权,需要重新执行脚本或单独配置。

补充场景

如果两个账号属于同一个AWS Organization组织,可直接在组织层面配置服务控制策略(SCP),给组织内指定账号集授予全量ECR访问权限,无需逐账号、逐仓库做配置。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.28 07:12:27