Использование ролей 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, вы передадите этот профиль экземпляру экземпляру, и этот экземпляр будет иметь разрешения для роли.