InvalidClientTokenId при вызове get-caller-identity для экземпляра AWS EC2 с профилем экземпляра - PullRequest
0 голосов
/ 07 февраля 2020

У нас проблема с экземпляром CentOS EC2, который использует роль в прикрепленном профиле экземпляра. Когда мы находимся в консоли после SSHing, мы запускаем инструмент командной строки python awscli, чтобы получить нашу личность:

$ aws sts get-caller-identity

мы получаем

Произошла ошибка (InvalidClientTokenId) при вызове операции GetCallerIdentity: маркер безопасности, включенный в запрос, недопустим

другие команды, такие как aws ec2 describe-instances, работают и разрешены профилем экземпляра.

После прочтения документации AWS не требуется никаких разрешений для get-caller-identity, и для роли, связанной с экземпляром, не задан явный deny.

Мы проверили, и * 1017 нет * file и никакие env переменные не установлены, поэтому доступ должен полностью управляться через службу метаданных в экземпляре EC2.

В нашей настройке отсутствует или при вызове awscli что-то может вызвать разрешение потерпеть неудачу?

1 Ответ

0 голосов
/ 07 февраля 2020

Просто документирование исправления для любого, кто сталкивается с этой проблемой.

Все вызовы awscli, вероятно, должны включать параметр --region <region>.

Например,

$ aws sts get-caller-identity --region us-east-2

Нас попросили указать регион при нашем вызове aws ec2 describe-instances, но при вызове aws sts get-caller-identity он просто не удался.

Кроме того, мы обнаружили, что переменная окружения AWS_REGION, похоже, не влияет звонки: нам все еще нужно было включить параметр --region <region>.

...