繁体   English   中英

你能。 使用代入角色时运行“aws ecr get-login-password”?

[英]Can you. run “aws ecr get-login-password” when using an assumed role?

目前,我想与我可以通过假定角色访问的 ECR 存储库进行交互。

我该如何运行:

aws ecr get-login-password --region us-east-1 | docker login --username AWS --password-stdin accountId.dkr.ecr.us-east-1.amazonaws.com

docker pull respositylocation:tag

这样我就可以承担这个角色,并拉取 docker 图像。

我能够在 AWS 中运行其他命令并成功承担执行命令的角色。 特别是我无法成功运行的 aws ecr get-login-password 。

是的,当然可以。 例如,这就是 CodeBuild 使用其角色登录 ECR 的方式。

为此,您的角色需要具有使用 ECR 所需的权限。 通过 CodeBuild 的示例,您的角色可以附加以下策略:

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Sid": "ECRPullPolicy",
      "Effect": "Allow",
      "Action": [
        "ecr:BatchCheckLayerAvailability",
        "ecr:GetDownloadUrlForLayer",
        "ecr:BatchGetImage"
      ],
      "Resource": [
        "*"
      ]
    },
    {
      "Sid": "ECRAuthPolicy",
      "Effect": "Allow",
      "Action": [
        "ecr:GetAuthorizationToken"
      ],
      "Resource": [
        "*"
      ]
    }
  ]
}

该角色可能需要其他权限,例如 S3。 但是 ECR 访问应该由上述充分处理。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM