授予在 Amazon ECR 中进行跨账户复制的注册表权限 - Amazon ECR
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

授予在 Amazon ECR 中进行跨账户复制的注册表权限

跨账户策略类型用于向 Amazon 委托人授予权限,允许将存储库从源注册表复制到您的注册表。预设情况下,您有权在自己的注册表中配置跨区域复制。如果您授予其他账户将内容复制到注册表的权限,则只需配置注册表策略。

注册表策略必须授予 ecr:ReplicateImage API 操作权限。此 API 是一个内部 Amazon ECR API,可在区域或账户之间复制镜像。您还可以授予 ecr:CreateRepository 权限,该权限允许 Amazon ECR 在您的注册表中创建存储库 (如果存储库尚不存在)。如果未提供 ecr:CreateRepository 权限,则必须在注册表中手动创建与源存储库名称相同的存储库。如果两者均未完成,复制将失败。任何失败的操作CreateRepositoryReplicateImage API 操作都会显示在中 CloudTrail。

  1. 打开 Amazon ECR 控制台,网址为https://console.aws.amazon.com/ecr/

  2. 从导航栏中,选择区域以配置注册表策略。

  3. 在导航窗格中,选择 “私有注册表”,选择 “功能和设置”,然后选择 “权限”。

  4. Registry permissions(注册表权限)页面上,选择 Generate statement(生成语句)。

  5. 使用策略生成器完成以下步骤以定义策略声明。

    1. 对于策略类型,选择复制-跨账户

    2. 在对账单编号中,输入唯一的对账单编号。此字段在注册表策略上用作 Sid

    3. 对于帐户,输入您要向 IDs其授予权限的每个账户的帐户。指定多个帐户时 IDs,请用逗号分隔它们。

  6. 选择保存

  1. 创建名为 registry_policy.json 的文件并使用注册表策略填充它。

    { "Version":"2012-10-17", "Statement":[ { "Sid":"ReplicationAccessCrossAccount", "Effect":"Allow", "Principal":{ "AWS":"arn:aws:iam::source_account_id:root" }, "Action":[ "ecr:CreateRepository", "ecr:ReplicateImage" ], "Resource": [ "arn:aws:ecr:us-west-2:your_account_id:repository/*" ] } ] }
  2. 使用策略文件创建注册表策略。

    aws ecr put-registry-policy \ --policy-text file://registry_policy.json \ --region us-west-2
  3. 检索要确认的注册表策略。

    aws ecr get-registry-policy \ --region us-west-2