存储库策略 - Amazon ECR
AWS 文档中描述的 AWS 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 AWS 服务入门

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

存储库策略

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

存储库策略与 IAM 政策

Amazon ECR 存储库策略是 IAM 针对个人控制访问权限的范围范围内的政策 Amazon ECR 存储库。 IAM 政策通常用于应用整个权限 Amazon ECR 还可以用于控制对特定资源的访问。

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

重要

Amazon ECR 要求用户先通过 IAM 策略允许对 ecr:GetAuthorizationToken API 的权限,然后才能对镜像仓库进行身份验证并对任意 Amazon ECR 存储库推送或提取任意镜像。Amazon ECR 提供多个托管 IAM 策略,在不同级别控制用户访问权限。有关更多信息,请参阅 Amazon Elastic Container Registry 基于身份的策略示例

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

此示例显示 Amazon ECR 存储库策略,允许特定的 IAM 用户可以描述存储库内的存储库和图像。

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

此示例显示了一个 IAM 策略,该策略可实现与上面相同的目标,方法是使用资源参数将策略范围限定为存储库(由存储库的完整 ARN 指定)。有关 Amazon 资源名称 (ARN) 的更多信息,请参阅Resources.

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