Использование ролей IAM для создания динамического инвентаря для Ansible
Я смотрю на настройку сервера развертывания в нашем VPC и пытаюсь использовать роль IAM вместо ключей для динамической Ansibles ec2.py инвентаризационный скрипт.
В ответе " Могу ли я использовать роли IAM для Ansible" говорится, что это возможно, однако в нем не указано, какие разрешения требуются.
Мне интересно, может ли кто-то предоставить более подробную информацию о том, какие разрешения необходимы для создания динамического инвентаря.
Изменить: я просмотрел документы и думаю, что часть решения заключается в том, чтобы выяснить, какие права нужны botos get_all_instances ().
2 ответа
Предполагая, что единственный инвентарь, который вам нужен, это ресурсы на основе EC2, тогда достаточно действий "ec2:Describe*":
"Effect": "Allow",
"Action": "ec2:Describe*",
"Resource": "*"
См. Разрешить пользователям перечислять ресурсы Amazon EC2, которые принадлежат учетной записи AWS.
- Войдите в консоль управления AWS. Идти к
Identity & Access Management/Roles/Create New Role - Дайте вашей роли имя, например
ansibleпотому что экземпляр с этой ролью будет запускаться Ansible. - Под
AWS Service RolesВыбратьAmazon EC2 - Выбрать
Power User Accessу вас будет имя политики и документ политики, одна строка JSON:
{
"Версия": "20XX-XX-XX",
"Утверждение": [
{
"Эффект": "Разрешить",
"NotAction": "iam:*",
"Ресурс": "*"
}
]
}Next Step/Create Role- У вас будет профиль экземпляра с тем же именем, которое вы дадите своей роли, и роль будет связана с профилем экземпляра. Теперь, когда вы создаете новый экземпляр для развертывания Ansible, вы передадите этот профиль экземпляру экземпляру, и этот экземпляр будет иметь разрешения для роли.