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

使用AWS CLI登录Amazon ECR Public时出现403 Forbidden错误

问题描述

我正尝试在EC2实例(俄亥俄区域,us-east-2)上通过AWS CLI登录Amazon ECR Public以推送Docker镜像。我已配置具备ECR完全访问权限的凭证,并遵循了登录公共ECR注册表的必要步骤。

执行以下命令时:

aws ecr get-login-password --region us-east-2 | docker login --username AWS --password-stdin public.ecr.aws/g0n5y2m3

出现如下错误:

Error response from daemon: login attempt to https://public.ecr.aws/v2/ failed with status: 403 Forbidden

当前使用的aws-cli版本为1.18.69

已完成的排查操作:

  • 验证~/.aws/credentials中的凭证已正确配置
  • 确认IAM用户已附加AmazonEC2ContainerRegistryFullAccess和AmazonElasticContainerRegistryPublicFullAccess策略
  • 确保处于正确的区域(us-east-2)

请问登录公共ECR仓库时出现403 Forbidden错误的原因是什么?访问ECR Public是否还需要额外配置?


问题分析与解决方案

1. AWS CLI版本过低

你使用的1.18.69版本AWS CLI对ECR Public的支持存在兼容性缺陷,早期版本未完善公共注册表的登录令牌生成逻辑。建议升级到AWS CLI v2,或至少升级到v1的最新稳定版本:

# 升级到AWS CLI v2示例命令
curl "https://awscli.amazonaws.com/awscli-exe-linux-x86_64.zip" -o "awscliv2.zip"
unzip awscliv2.zip
sudo ./aws/install

2. 区域参数使用错误

ECR Public是全局服务,无需指定区域参数(或需使用us-east-1作为默认区域)。你当前指定的us-east-2会导致生成的登录令牌无法被公共注册表识别,尝试调整命令:

# 去掉区域参数
aws ecr get-login-password | docker login --username AWS --password-stdin public.ecr.aws/g0n5y2m3

# 或指定us-east-1区域
aws ecr get-login-password --region us-east-1 | docker login --username AWS --password-stdin public.ecr.aws/g0n5y2m3

3. IAM策略权限缺失

虽然你已附加官方策略,但需确认策略中包含ecr-public:GetAuthorizationToken权限——这是登录公共注册表的核心权限。如果是自定义策略,需确保包含以下语句:

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

4. 实例角色权限问题(若使用EC2实例角色)

如果依赖EC2实例的IAM角色而非本地凭证,需确认实例角色已附加ECR Public相关权限策略,且角色信任关系允许EC2服务扮演该角色。

5. Docker缓存或网络问题

  • 清理Docker旧登录缓存:docker logout public.ecr.aws后重新登录
  • 测试网络连通性:执行curl https://public.ecr.aws确认EC2实例能正常访问公共ECR端点

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.16 21:12:14