You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

已绑定IAM角色的EC2实例运行ECR命令的权限配置问题

问题原因
  • AWS官方托管的AmazonEC2ContainerRegistryFullAccess策略仅适用于ECR私有仓库的所有操作,权限动作前缀为ecr:,不包含ECR公有仓库(ECR Public)的操作权限。
  • ECR Public是独立的AWS服务类别,所有相关操作的权限动作前缀为ecr-public:,不在上述托管策略的覆盖范围内,因此即使配置了该策略依然会报AccessDenied错误。
  • 配置AdministratorAccess后所有服务的操作权限都被放开,自然可以正常创建ECR Public仓库。
所需的最小IAM策略配置

你可以为jenkins_role附加如下自定义策略,覆盖ECR Public的操作需求,如果同时需要操作私有ECR仓库,可以保留原有AmazonEC2ContainerRegistryFullAccess托管策略,或者合并到自定义策略中:

{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Effect": "Allow",
            "Action": [
                "ecr-public:CreateRepository",
                "ecr-public:DeleteRepository",
                "ecr-public:DescribeRepositories",
                "ecr-public:GetRepositoryPolicy",
                "ecr-public:SetRepositoryPolicy",
                "ecr-public:InitiateLayerUpload",
                "ecr-public:UploadLayerPart",
                "ecr-public:CompleteLayerUpload",
                "ecr-public:PutImage",
                "ecr-public:BatchCheckLayerAvailability",
                "ecr-public:GetDownloadUrlForLayer",
                "ecr-public:BatchGetImage"
            ],
            "Resource": "arn:aws:ecr-public::1234567890:repository/*"
        },
        {
            "Effect": "Allow",
            "Action": "ecr-public:GetAuthorizationToken",
            "Resource": "*"
        },
        {
            "Effect": "Allow",
            "Action": "sts:GetServiceBearerToken",
            "Resource": "*",
            "Condition": {
                "StringEquals": {
                    "sts:AWSServiceName": "ecr-public.amazonaws.com"
                }
            }
        }
    ]
}

注意将策略中的账号ID1234567890替换为你实际的AWS账号ID,也可以根据实际使用场景裁剪不需要的动作,进一步收缩权限范围。

额外注意事项
  • 如果你是在非us-east-1区域调用ECR Public的API,不需要额外配置其他区域的权限,ECR Public的服务端点仅在us-east-1区域存在,所有区域的ECR Public请求最终都会自动路由到该端点。
  • 确认jenkins_role的信任策略中已经允许EC2服务代入角色,没有额外的权限边界限制相关操作。

内容的提问来源于stack exchange,提问作者TheWalkingMalteser

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.06 18:36:04