本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
授予在 Amazon ECR 中进行跨账户复制的注册表权限
跨账户策略类型用于向 Amazon 委托人授予权限,允许将存储库从源注册表复制到您的注册表。预设情况下,您有权在自己的注册表中配置跨区域复制。如果您授予其他账户将内容复制到注册表的权限,则只需配置注册表策略。
注册表策略必须授予 ecr:ReplicateImage
API 操作权限。此 API 是一个内部 Amazon ECR API,可在区域或账户之间复制镜像。您还可以授予 ecr:CreateRepository
权限,该权限允许 Amazon ECR 在您的注册表中创建存储库 (如果存储库尚不存在)。如果未提供 ecr:CreateRepository
权限,则必须在注册表中手动创建与源存储库名称相同的存储库。如果两者均未完成,复制将失败。任何失败的操作CreateRepository
或 ReplicateImage
API 操作都会显示在中 CloudTrail。
打开 Amazon ECR 控制台,网址为https://console.aws.amazon.com/ecr/
。 -
从导航栏中,选择区域以配置注册表策略。
-
在导航窗格中,选择 “私有注册表”,选择 “功能和设置”,然后选择 “权限”。
-
在 Registry permissions(注册表权限)页面上,选择 Generate statement(生成语句)。
-
使用策略生成器完成以下步骤以定义策略声明。
-
对于策略类型,选择复制-跨账户。
-
在对账单编号中,输入唯一的对账单编号。此字段在注册表策略上用作
Sid
。 -
对于帐户,输入您要向 IDs其授予权限的每个账户的帐户。指定多个帐户时 IDs,请用逗号分隔它们。
-
-
选择保存。
-
创建名为
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/*
" ] } ] } -
使用策略文件创建注册表策略。
aws ecr put-registry-policy \ --policy-text file://
registry_policy.json
\ --regionus-west-2
-
检索要确认的注册表策略。
aws ecr get-registry-policy \ --region
us-west-2