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

AWS CodeBuild部署报错:角色无法执行ecr:DescribeRepositories操作

问题排查方向

根据错误提示,核心问题是ECR仓库的资源策略未授权该角色执行ecr:DescribeRepositories操作——即使IAM角色本身配置了相关权限,资源策略的优先级会在此场景下生效。以下是具体排查点:

  • 检查ECR仓库的资源策略
    登录AWS控制台找到目标ECR仓库app-main,查看其资源策略配置。确认是否存在允许foo-staging-application-deploy角色执行ecr:DescribeRepositories的语句。如果没有,需要添加类似策略:

    {
      "Version": "2008-10-17",
      "Statement": [
        {
          "Effect": "Allow",
          "Principal": {
            "AWS": "arn:aws:iam::XXXXXXXXXXX:role/foo-staging-application-deploy"
          },
          "Action": "ecr:DescribeRepositories",
          "Resource": "arn:aws:ecr:eu-west-1:XXXXXXXXXXX:repository/app-main"
        }
      ]
    }
    

    注意:资源策略中的Principal必须使用角色的主ARN(即arn:aws:iam::XXX:role/foo-staging-application-deploy),而非错误信息中显示的STS临时会话ARN。

  • 检查角色的权限边界
    查看foo-staging-application-deploy角色是否设置了权限边界。如果边界策略未包含ecr:DescribeRepositories权限,会直接覆盖IAM策略的允许规则,导致访问被拒绝。

  • 检查服务控制策略(SCP)
    如果你的AWS账号属于组织单元(OU),需要确认该OU的SCP是否允许账户内角色访问ECR资源。若SCP限制了ecr:DescribeRepositories操作,即使IAM和资源策略都授权,也会被拦截。

  • 验证CodeBuild角色关联
    确认CodeBuild项目是否正确绑定了foo-staging-application-deploy角色,避免因配置错误导致使用了其他无权限的身份执行操作。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.27 00:24:57