Назад | Перейти на главную страницу

Использование ролей IAM для создания динамического инвентаря для Ansible

Я собираюсь настроить сервер развертывания в нашем VPC и пытаюсь использовать роль IAM вместо ключей для динамических Ansibles. ec2.py Скрипт инвентаризации.

Ответ на Могу ли я использовать роли IAM для Ansible говорит, что это возможно, но делает не укажите, какое разрешение требуется.

Мне интересно, может ли кто-нибудь предоставить более подробную информацию о том, какие разрешения необходимы для создания динамической инвентаризации.

Изменить: я просмотрел документы, и я думаю, что часть решения - выяснить, какие разрешения бото get_all_instances () потребности.

Предполагая, что единственный инвентарь, который вам нужен, это ресурсы на основе 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, например:
   {
        "Version": "20XX-XX-XX",
        "Statement": [
            {
                "Effect": "Allow",
                "NotAction": "iam:*",
                "Resource": "*"
            }
        ]
    }
  1. Next Step/Create Role
  2. У вас будет профиль экземпляра с тем же именем, которое вы даете своей роли, и эта роль будет связана с профилем экземпляра. Теперь, когда вы создаете новый экземпляр для развертывания Ansible, вы передаете этот профиль экземпляра экземпляру, и этот экземпляр будет иметь разрешения для роли.