AWS Пользователь IAM получает 401 при доступе к репозиторию ECR, работает с root пользователем - PullRequest
0 голосов
/ 29 апреля 2020

Я начал использовать AWS ECR для хранения моих docker изображений. Когда я пытаюсь аутентифицировать пользователя IAM через Powershell (то же самое происходит, когда я делаю это из командной строки AWS), я получаю 401: UnAuthorized. Если я использую ключ / секрет аутентификации пользователя root, он работает и аутентифицируется.

Используемый мной сценарий PowerShell:

(Get-ECRLoginCommand).Password | docker login --username AWS --password-stdin 474389077978.dkr.ecr.eu-west-3.amazonaws.com/myreoi

. заменил пользователя AWS на пользователя IAM. Я также добавил пользователя IAM к администраторам, но этого недостаточно.

Есть предложения? Спасибо

1 Ответ

1 голос
/ 29 апреля 2020

Пользователю IAM должна быть назначена роль для доступа к службе ECR. Это можно сделать, добавив встроенную политику в разделе разрешений групп.

Пожалуйста, следуйте приведенным ниже шагам, чтобы выполнить использование, кроме пользователей root IAM, которые могут выполнять docker ecr операцию.

1.) Create IAM user say "ecr-user". 
2.) Create IAM group called "ecr-group".
3.) Add user ecr-user to ecr-group.
4.) Create a role "ecr-role"
5.) Attach the policy name "AmazonEC2ContainerServiceRole" to the role ecr-role.

6.) Go in the group section of the AWS console.
7.) Select the group "ecr-group" and go to the permission tab.
    Add policy - "AmazonEC2ContainerServiceRole" using attach policy button. 
8.) "Click here" in the inline policy section of the permission tab.
9.) Choose custom policy.
10.) Choose a name for custom policy - "ecr-passon"
11.) Add policy json given above - ensure to change your account id.

{
"Version": "2012-10-17",
"Statement": [{
    "Effect": "Allow",
    "Action": [
        "iam:GetRole",
        "iam:PassRole"
    ],
    "Resource": "arn:aws:iam::<account-id>:role/ecr-role"
}]}

Все эти шаги будут прикреплять роль ecr-role к пользователю ecr группы ecr-group с помощью политики AmazonEC2ContainerServiceRole.

AWS programmati c пользователей IAM должен выполнять роль для выполнения некоторых операций.

Используйте ссылку для понимания передачи роли. Передать роль службе AWS

...