Использование ролей 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.

  1. Войдите в консоль управления AWS. Идти к Identity & Access Management/Roles/Create New Role
  2. Дайте вашей роли имя, например ansible потому что экземпляр с этой ролью будет запускаться Ansible.
  3. Под AWS Service Roles Выбрать Amazon EC2
  4. Выбрать Power User Access у вас будет имя политики и документ политики, одна строка JSON:
   {
        "Версия": "20XX-XX-XX",
        "Утверждение": [
            {
                "Эффект": "Разрешить",
                "NotAction": "iam:*",
                "Ресурс": "*"
            }
        ]
    }
  1. Next Step/Create Role
  2. У вас будет профиль экземпляра с тем же именем, которое вы дадите своей роли, и роль будет связана с профилем экземпляра. Теперь, когда вы создаете новый экземпляр для развертывания Ansible, вы передадите этот профиль экземпляру экземпляру, и этот экземпляр будет иметь разрешения для роли.
Другие вопросы по тегам