Проблема с получением результата от «aws ecr get-login»

Я получаю следующую ошибку, когда даю следующую команду.

aws ecr get-login --region eu-central-1

Ошибка

An error occurred (AccessDeniedException) when calling the GetAuthorizationToken operation: User: arn:aws:iam::314xxxx91079:user/git is not authorized to perform: ecr:GetAuthorizationToken on resource: *

Мой администратор предоставил мне доступ к этому ресурсу GetAuthorizationToken.

Скорее всего, я думаю, что проблема заключается в том, что для этой команды используется пользователь «arn:aws:iam::314xxxx91079:user/git». Когда я вхожу в консоль aws, я вижу свое имя пользователя (IAM) следующим образом.

[email protected]

Как мне заставить «get-login» использовать это имя пользователя вместо user/git. Я очень новичок в aws cli, и эта команда является одним из этапов сборки.


person Amit Bhandari    schedule 17.01.2019    source источник


Ответы (4)


Команда AWS cli выглядит хорошо, и результат должен быть примерно таким, как показано ниже.

Sample output: 

docker login -u AWS -p password https://aws_account_id.dkr.ecr.eu-central-1.amazonaws.com

Пожалуйста, проверьте, правильно ли вы установили учетные данные AWS для использования cli.

Если это не сделано, попробуйте ниже настроить учетные данные

aws configure

AWS Access Key ID [None]: Access Key
AWS Secret Access Key [None]: Secret Key
Default region name [None]: eu-central-1
Default output format [None]: json

Примечание. Это должен быть ваш профиль по умолчанию, в противном случае также укажите имя профиля для команды ecr get-login.

aws ecr get-login --region eu-central-1 --profile <profile name>

Надеюсь это поможет !!!

person omuthu    schedule 17.01.2019
comment
Где я могу получить свой идентификатор ключа доступа AWS и секретный ключ доступа AWS в консоли aws? - person Amit Bhandari; 17.01.2019
comment
Обратитесь к своему администратору, чтобы получить его, запросите учетные данные AWS, они должны быть сгенерированы в IAM. Храните в безопасности и не разглашайте - person omuthu; 17.01.2019
comment
Способен решить проблему, запросив ключи у администратора. Спасибо! - person Amit Bhandari; 21.01.2019

Для более новой версии просто используйте

aws ecr get-login-password \
        --region us-east-1 | docker login \
        --username AWS \
        --password-stdin <account-id>.dkr.ecr.us-east-1.amazonaws.com
person Most Wanted    schedule 04.03.2020

В более новых версиях AWS CLI мы можем запросить пароль для входа в ECR Docker с помощью get-login-password и передать пароль для входа в Docker, например:

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

Документация: https://awscli.amazonaws.com/v2/documentation/api/latest/reference/ecr/get-login-password.html

с CLI V2 следующий синтаксис вызовет ошибку:

$(aws ecr get-login --no-include-email --region us-east-1)
 aws ecr get-login --no-include-email --region us-east-1
 usage: aws [options] <command> <subcommand> [<subcommand> ...] [parameters]
 To see help text, you can run:
 aws help
 aws <command> help
 aws <command> <subcommand> help
 aws: error: argument operation: Invalid choice, valid choices are:
person Ravish    schedule 26.02.2021

Ниже приведен шаг, который передает локальный образ докера в AWS ECR, и мы можем успешно войти в систему:

  1. C:>aws ecr get-login-password --no-verify Мы получим пароль. Пожалуйста, найдите ниже столбец пароля

  2. C:\docker login --username AWS --password eyJwYXlsb2Fk...kRBVEFfS0VZIn0= https://123456789012.dkr.ecr.us-east-1.amazonaws.com

  3. тег докера user-mysql account_id.dkr.ecr.us-east-1.amazonaws.com/dockerregistry

  4. Отправьте образ в ECR: C:\docker push account_id.dkr.ecr.us-east-1.amazonaws.com/dockerregistry

Имя пользователя: AWS
Пароль: eyJwYXlsb2Fk...kRBVEFfS0VZIn0=
Конечная точка прокси-сервера: https://123456789012.dkr.ecr.us-west-2.amazonaws.com
Конечная точка: https://123456789012.dkr.ecr.us-west-2.amazonaws.com
ExpiresAt: 26.09.2017 6:08:23
Команда: docker login --username AWS --password eyJwYXlsb2Fk...kRBVEFfS0VZIn0= https://123456789012.dkr.ecr.us-west-2.amazonaws.com

person Pramod Kumar Gupta    schedule 27.05.2020