Ошибка UnrecognizedClientException при аутентификации на aws-cli

Когда я извлекаю чистый образ Alphine Linux Docker, устанавливаю на него aws-cli и пытаюсь аутентифицироваться с помощью aws ecr get-authorization-token --region eu-central-1, я продолжаю получать следующую ошибку:

Произошла ошибка (UnrecognizedClientException) при вызове операции GetAuthorizationToken: Маркер безопасности, включенный в запрос, недействителен.

Я уже проверил часовой пояс, который кажется нормальным, и команда работает правильно на моем локальном компьютере.

Это команды, которые я запускаю для настройки aws-cli: apk add --update python python-dev py-pip pip install awscli --upgrade export AWS_ACCESS_KEY_ID=XXXXXXXXXXXXXXXXXXXX export AWS_SECRET_ACCESS_KEY=XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

Есть ли что-то очевидное, что мне не хватает?


person cute_marmalade    schedule 28.01.2018    source источник
comment
Вам нужно export AWS_SESSION_TOKEN=XXXXX. Как вы получаете доступ и секретные ключи?   -  person krishna_mee2004    schedule 28.01.2018
comment
@KrishnaKumarR Я получил ключи после генерации ключей доступа в консоли IAM. Требуется ли установка AWS_SESSION_TOKEN? Я думал, что это необходимо только в том случае, если вы не используете постоянные ключи, которые я использую. Кроме того, это не упоминается в документации: docs.aws.amazon .com / rekognition / latest / dg / setup-awscli.html.   -  person cute_marmalade    schedule 28.01.2018
comment
Ага, в этом нет необходимости. Вы смотрели на этот вопрос форума об использовании ролей IAM: forum.aws.amazon. com / message.jspa? messageID = 737198?   -  person krishna_mee2004    schedule 28.01.2018
comment
Ключи, которые я тестирую, на самом деле имеют полный доступ администратора, и аутентификация с этими точными ключами работает на моем Macbook, поэтому я уверен, что это каким-то образом связано с настройкой.   -  person cute_marmalade    schedule 28.01.2018
comment
Вы оплатили счет? ржу не могу   -  person felipekm    schedule 27.06.2020


Ответы (6)


В конце концов, это была проблема с доступом! Оказывается, если вы создадите нового пользователя IAM с полным доступом администратора, он по умолчанию не сможет получить доступ к реестру ECR, который вы создали, используя другую учетную запись. Использование учетных данных IAM из другой учетной записи решило проблему.

person cute_marmalade    schedule 28.01.2018
comment
Я столкнулся с этой же ошибкой сейчас, когда вы нашли это решение? - person Krismorte; 15.04.2020

У вас нет разрешения на доступ к этим ресурсам, пока вы не получите разрешение на aws-cli, для этого вы можете использовать следующие шаги.

Войдите в свою учетную запись AWS, щелкните имя своей учетной записи, выберите мои учетные данные безопасности, нажмите ключи доступа и загрузите учетные данные.

Откройте свой PowerShell от имени администратора и следуйте командам.

$ aws configure
$ AWS Access Key ID [****************E5TA]=xxxxxxxxxx
$ AWS Secret Access Key [****************7gNT]=xxxxxxxxxxxxxx
person Alan Varghese    schedule 10.09.2019

В моем случае в моем ~/.aws/credentials файле был старый aws_session_token, который не был обновлен командой aws configure CLI. Как только я открыл файл с vi ~/.aws/credentials и удалил запись aws_session_token, я больше не встречал UnrecognizedClientException. Я предполагаю, что AWS CLI сначала отдает приоритет aws_session_token над aws access key id и aws secret access key при выполнении команд AWS CLI, если aws_session_token присутствует в ~/.aws/credentials файле.

person jones-chris    schedule 02.07.2020

Спустя пару часов я пришел к такому выводу:

Если вы хотите использовать AWS_PROFILE, убедитесь, что остальные переменные окружения AWS не установлены (НЕ только пустые ... ДОЛЖНЫ быть ОТКЛЮЧЕНЫ).

profile=$AWS_PROFILE
unset $(printenv |grep AWS_ | cut -f1 -d"=");
export AWS_PROFILE=${profile};

Потом :

  # with aws cli >= 1.x
  $(aws ecr get-login --no-include-email --region ${aws_region})

  # with aws cli >= 2.x
  registry=${aws_account_id}.dkr.ecr.${aws_region}.amazonaws.com
  aws ecr get-login-password --region ${aws_region} | docker login --username AWS --password-stdin ${registry}
person Abdennour TOUMI    schedule 04.07.2020

Решенная проблема после следующего:

  1. Перейдите в Консоль управления AWS IAM.
  2. Сгенерируйте учетные данные в разделе Ключи доступа (идентификатор ключа доступа и секретный ключ доступа)
  3. Запустите команду aws configure и установите те же загруженные учетные данные в Cdrive-User-directory.aws \ credentials.
person Suresh    schedule 05.06.2020

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

(Убедитесь, что вы тоже находитесь в правильном регионе AWS.)

person phredd    schedule 19.03.2021