如何配置AWS ECR默认策略以允许用户拉取镜像?
AWS ECR仓库策略配置:添加镜像拉取权限
要允许用户执行镜像拉取操作,你需要在现有策略中补充ECR拉取镜像必需的权限,并指定正确的授权主体(Principal),具体修改如下:
完整修改后的策略示例
{ "Sid": "AllowImagePull", "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::447619021764:user/your-target-username" }, "Action": [ "ecr:CreateRepository", "ecr:ReplicateImage", "ecr:GetDownloadUrlForLayer", "ecr:BatchGetImage", "ecr:BatchCheckLayerAvailability" ], "Resource": "arn:aws:ecr:us-east-1:447619021764:repository/*" }
关键修改说明
- 指定授权主体:将
Principal.AWS中的空字符串替换为需要授权的IAM用户、角色或组的ARN,比如上述示例中的用户ARN。 - 添加拉取镜像的核心权限:
ecr:GetDownloadUrlForLayer:获取镜像层的下载URLecr:BatchGetImage:批量获取镜像元数据ecr:BatchCheckLayerAvailability:检查镜像层在仓库中的可用性
这三个权限是完成镜像拉取的必要条件。
可选补充:允许获取ECR授权令牌
如果用户需要通过docker login命令登录ECR仓库,还需要添加账户级的ecr:GetAuthorizationToken权限,可单独添加一条策略语句:
{ "Sid": "AllowECRLogin", "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::447619021764:user/your-target-username" }, "Action": "ecr:GetAuthorizationToken", "Resource": "*" }
内容的提问来源于stack exchange,提问作者Peter Penzov
相关产品推荐
相关产品推荐

