У меня есть экземпляр ec2 с определенной ролью, при вводе команды awscli:
[TEST@JenkinsSlave ~]$ aws configure list
Name Value Type Location
---- ----- ---- --------
profile <not set> None None
access_key ****************E25I iam-role
secret_key ****************Yl4d iam-role
region <not set> None None
Я вижу, что у меня есть ключ доступа и секретный ключ, которые я не создавал, Это чистый amazon Linux ami без конфигурации.
Я думал, что это ключи роли, но нет такой вещи, как назначение ключей роли, и каждый раз, когда я создаю новый сервер, я получаю разные ключи, поэтому это выглядит как случайные ключи. Кто-нибудь знает, как я получил эти учетные данные?
и как я могу удалить их из своей конфигурации (как видно по Расположение=Нет, они не хранятся в ~/.aws/)
Даже если вам не назначена роль экземпляра, у вашего экземпляра EC2 есть учетные данные на основе экземпляра. Вы можете увидеть это с помощью curl http://169.254.169.254/latest/meta-data/identity-credentials/ec2/security-credentials/ec2-instance
.
Однако, когда я запускаю aws configure list
, эти учетные данные не отображаются. Возможно, вы используете более раннюю или более позднюю версию, чем я (aws-cli/1.16.153), и поведение изменилось. Вы можете сравнить учетные данные из этого curl
запроса, чтобы увидеть, совпадают ли они.
Вы должны убедиться, что на самом деле у вас нет набора ролей экземпляра. Либо проверьте консоль, либо используйте curl http://169.254.169.254/latest/meta-data/iam/
из экземпляра. Если у вас есть набор ролей не, вы получите ошибку 404. Если у вас есть набор ролей, эта команда покажет файл с именем info
, и этот файл будет содержать информацию о роли экземпляра.
Обновлено: единственное, что я пробовал, чтобы делает производил вывод, который вы видите, - это назначить экземпляру профиль экземпляра.
В ответ на комментарий с вопросом о разных токенах для каждой машины: так работают профили экземпляров. Каждая машина получает ограниченный по времени набор учетных данных, которые можно использовать для отправки запросов, и автоматически обновляет эти учетные данные по мере необходимости. Это хорошо, так как это означает, что эти учетные данные не могут быть сняты с машины и использованы для получения несанкционированного доступа к службам.
@ShacharHamuzimRajuan — это адрес метаданных экземпляра. См. docs.aws.amazon.com/AWSEC2/latest/UserGuide/…
Но если я назначил профиль экземпляра, почему я получаю разные ключи для каждого экземпляра, который развертываю одинаково?
Что это за IP-адрес, который вы используете?