AWS CodeBuild 中的 GetAuthorizationToken 权限错误

Héc*_*tor 6 amazon-web-services amazon-ecs amazon-iam aws-codebuild

我正在尝试使用 AWS CodeBuild 设置我的 Node 项目。

version: 0.2
phases:

  pre_build:
    commands:
      - $(aws ecr get-login)
      - TAG="$(echo $CODEBUILD_RESOLVED_SOURCE_VERSION | head -c 8)"

  build:
    commands:
      - docker build -t "${REPOSITORY}:${TAG}" .

  post_build:
    commands:
      - docker push "${REPOSITORY}:${TAG}"
Run Code Online (Sandbox Code Playgroud)

当我触发构建时,命令$(aws ecr get-login)失败:

调用 GetAuthorizationToken 操作时发生错误 (AccessDeniedException): 用户无权对资源执行: ecr:GetAuthorizationToken: * [Container] 2018/10/26 10:04:12 命令未成功退出 $(aws ecr get-登录)退出状态 255

在 IAM 控制台中,用户附加了以下策略:

  • AmazonEC2ContainerRegistryFullAccess
  • AmazonEC2ContainerRegistryPowerUser

并且两者都包含ecr:GetAuthorizationToken许可。

我缺少什么?

Héc*_*tor 4

解决了。我需要ecr:GetAuthorizationToken向角色授予权限,而不是用户。