Amazon ECR
用户指南 (API 版本 2015-09-21)
AWS 文档中描述的 AWS 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 AWS 服务入门

Amazon ECR 存储库策略

Amazon ECR 使用基于资源的权限控制对存储库的访问。基于资源的权限让您可以指定能够访问存储库的 IAM 用户或角色,以及这些用户或角色可以对该存储库执行的操作。默认情况下,只有存储库所有者有权访问存储库。您可以应用策略文档来允许针对您的存储库的其他权限。

存储库策略与 IAM 策略

Amazon ECR 存储库策略是 IAM 策略的一部分,这些策略专用于控制对单个 Amazon ECR 存储库的访问。IAM 策略通常用于应用针对整个 Amazon ECR 服务的权限,但也可用于控制针对特定资源的访问。

在确定某个特定 IAM 用户或角色可对存储库执行的操作时,将同时使用 Amazon ECR 存储库策略和 IAM 策略。如果通过存储库策略允许某个用户或角色执行某个操作但通过 IAM 策略拒绝其执行该操作(或反过来),则将拒绝该操作。用户或角色只需通过存储库策略或 IAM 策略之一获得执行某个操作的许可,而不需要同时通过这两个策略来获得执行该操作的许可。

重要

Amazon ECR 用户需要先获得调用 ecr:GetAuthorizationToken 的权限,然后才能对注册表进行身份验证,并从任何 Amazon ECR 存储库推送或提取任何映像。Amazon ECR 提供一些托管策略来控制不同级别下的用户访问,有关更多信息,请参阅 Amazon ECR 托管策略

您可以使用这两个策略类型之一来控制对您的存储库的访问,如以下示例中所示。

此示例显示了一个 Amazon ECR 存储库策略,该策略允许某个特定 IAM 用户描述存储库及存储库内的映像:

{ "Version": "2008-10-17", "Statement": [{ "Sid": "ECR Repository Policy", "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::123456789012:user/MyUsername" }, "Action": [ "ecr:DescribeImages", "ecr:DescribeRepositories" ] }] }

此示例显示了一个 IAM 策略,该策略可实现与上面相同的目标,方法是使用资源参数将策略范围限定为存储库(由存储库的完整 ARN 指定):

{ "Version": "2012-10-17", "Statement": [{ "Sid": "ECR Repository Policy", "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::123456789012:user/MyUsername" }, "Action": [ "ecr:DescribeImages", "ecr:DescribeRepositories" ], "Resource": [ "arn:aws:ecr:region:123456789012:repository/MyRepository" ] }] }