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

跨AWS账号拉取ECR镜像失败:403 Forbidden错误解决求助

跨AWS账号ECS拉取ECR镜像的403错误解决方法

出现403 Forbidden错误的核心原因是权限配置缺失,以下是分步解决步骤:

1. 配置源ECR账号(存储镜像的账号)

在源ECR仓库的权限策略中,添加允许目标账号拉取镜像的规则:

{
  "Version": "2008-10-17",
  "Statement": [
    {
      "Sid": "AllowCrossAccountPull",
      "Effect": "Allow",
      "Principal": {
        "AWS": "arn:aws:iam::目标账号ID:role/ECS任务执行角色名称"
      },
      "Action": [
        "ecr:GetDownloadUrlForLayer",
        "ecr:BatchGetImage",
        "ecr:BatchCheckLayerAvailability"
      ]
    }
  ]
}
  • 替换目标账号ID为需要拉取镜像的ECS所在账号ID
  • 替换ECS任务执行角色名称:Fargate集群用任务执行角色,EC2集群用ECS实例的IAM角色

2. 配置目标ECS账号

确保ECS任务使用的角色(任务执行角色/EC2实例角色)拥有获取ECR授权令牌的权限,添加以下策略:

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

3. 验证任务定义中的镜像地址

确认任务定义里的镜像地址是源ECR仓库的完整正确地址,例如:
189426755769.dkr.ecr.eu-west-2.amazonaws.com/ecr-dev-apps:1.0.0
避免账号ID、仓库名、标签或区域写错。

4. 检查AWS组织SCP(若启用)

如果AWS组织开启了服务控制策略(SCP),需确保:

  • 目标账号的SCP未禁止访问外部ECR资源
  • 源账号的SCP未禁止对外共享ECR镜像

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.13 02:45:43