推送镜像 - Amazon ECR

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

推送镜像

您可以将 Docker 镜像、清单列表和 Open Container Initiative (OCI) 镜像以及兼容的构件推送到您的私有存储库。以下各页对这些内容进行了详述。

Amazon ECR 还提供了一种方法,通过在您的私有注册表设置中指定复制配置,将镜像复制到其他存储库、您自己注册表中的各个区域和不同账户。有关更多信息,请参阅 私有注册表设置

推送镜像所需的 IAM 权限

Amazon ECR 要求用户具有以下权限才能推送镜像。按照授予最小权限的最佳实践,您可以将这些权限范围缩小到特定存储库,也可以授予所有存储库的权限。用户必须通过请求授权令牌,向其推送镜像的每个 Amazon ECR 注册表进行身份验证。Amazon ECR 提供多个托管 IAM policy,在不同级别控制用户访问;有关更多信息,请参阅 Amazon Elastic Container Registry 基于身份的策略示例

以下 IAM policy 授予推送镜像所需的权限,而不将范围划定到特定存储库。

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "ecr:CompleteLayerUpload", "ecr:GetAuthorizationToken", "ecr:UploadLayerPart", "ecr:InitiateLayerUpload", "ecr:BatchCheckLayerAvailability", "ecr:PutImage" ], "Resource": "*" } ] }

以下 IAM policy 授予将镜像和作用域推送到特定存储库所需的权限。必须将存储库指定为完整的 Amazon Resource Name (ARN)。

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "ecr:CompleteLayerUpload", "ecr:UploadLayerPart", "ecr:InitiateLayerUpload", "ecr:BatchCheckLayerAvailability", "ecr:PutImage" ], "Resource": "arn:aws:ecr:region:111122223333:repository/repository-name" }, { "Effect": "Allow", "Action": "ecr:GetAuthorizationToken", "Resource": "*" } ] }