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

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

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

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

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

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

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

  3. 在导航窗格中,选择 Private registry(私有注册表)、Registry permissions(注册表权限)。

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

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

    1. 对于 Policy type(策略类型),选择 Cross account policy(跨账户策略)。

    2. 对于声明 ID,输入唯一的声明 ID。此字段在注册表策略上用作 Sid

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

  6. 展开预览策略声明部分以查看注册表权限策略声明。

  7. 确认策略声明后,选择添加到策略以将策略保存到您的注册表。

  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