iam_policy – Управление политиками IAM для пользователей, групп и ролей
Описание
- Разрешает загрузку или удаление политик IAM для пользователей, групп или ролей IAM.
Требования
Ниже перечислены требования, необходимые на хосте, на котором выполняется этот модуль.
- python >= 2.6
- boto
Параметры
| Параметр | Варианты/Значения по умолчанию | Комментарии |
|---|---|---|
| aws_access_key строка | Ключ доступа AWS. Если не задано, используется значение переменной среды AWS_ACCESS_KEY_ID, AWS_ACCESS_KEY или EC2_ACCESS_KEY. псевдонимы: ec2_access_key, access_key | |
| aws_secret_key строка | Секретный ключ AWS. Если не задано, используется значение переменной среды AWS_SECRET_ACCESS_KEY, AWS_SECRET_KEY или EC2_SECRET_KEY. псевдонимы: ec2_secret_key, secret_key | |
| debug_botocore_endpoint_logs логический тип добавлен в 2.8 |
| Используйте логгер botocore.endpoint для анализа уникальных (а не общих) API-вызовов «ресурс:действие», выполненных во время задачи, выводите набор в ключ resource_actions результатов задачи. Используйте обратный вызов aws_resource_action для вывода полного списка, созданного во время выполнения игры. |
| ec2_url строка | URL для подключения к EC2 или вашему облаку Eucalyptus (по умолчанию модуль будет использовать конечные точки EC2). Игнорируется для модулей, где регион является обязательным. Должен быть указан для всех остальных модулей, если регион не используется. Если не задано, используется значение переменной среды EC2_URL, если таковая имеется. | |
| iam_name - / обязательно | Имя ресурса IAM, который вы хотите использовать для действий с политикой. Другими словами, имя пользователя, группы или роли. | |
| iam_type - / обязательно |
| Тип ресурса IAM |
| policy_document - | Путь к правильно отформатированному файлу политики в формате JSON (исключает policy_json) | |
| policy_json - | Правильно отформатированная политика в формате JSON в виде строки (исключает policy_document, см. https://github.com/ansible/ansible/issues/7005#issuecomment-42894813, как ее правильно использовать) | |
| policy_name - / обязательно | Метка имени политики для создания или удаления. | |
| profile строка | Использует профиль boto. Работает только с boto >= 2.24.0. | |
| region строка | AWS-регион для использования. Если не указан, используется значение переменной среды AWS_REGION или EC2_REGION, если таковая имеется. См. http://docs.aws.amazon.com/general/latest/gr/rande.html#ec2_region
псевдонимы: aws_region, ec2_region | |
| security_token строка | Токен безопасности AWS STS. Если не задан, используется значение переменной среды AWS_SECURITY_TOKEN или EC2_SECURITY_TOKEN. псевдонимы: access_token | |
| skip_duplicates - | По умолчанию: "/" | По умолчанию модуль ищет политики, соответствующие переданному документу. Если совпадение найдено, новый объект политики с теми же правилами не создается. Вы можете переопределить это, указав false, что позволит создать два объекта политики с разными именами, но одинаковыми правилами. |
| state - / обязательно |
| Создание или удаление политики IAM. |
| validate_certs логический тип |
| При значении «нет» сертификаты SSL для boto версии >= 2.6.0 не будут проверены. |
Примечания
Примечание
- В настоящее время boto не поддерживает удаление управляемых политик. Модуль не будет работать с удалением/добавлением управляемых политик.
- Если параметры не заданы внутри модуля, следующие переменные среды могут быть использованы в порядке убывания приоритета
AWS_URLилиEC2_URL,AWS_ACCESS_KEY_IDилиAWS_ACCESS_KEYилиEC2_ACCESS_KEY,AWS_SECRET_ACCESS_KEYилиAWS_SECRET_KEYилиEC2_SECRET_KEY,AWS_SECURITY_TOKENилиEC2_SECURITY_TOKEN,AWS_REGIONилиEC2_REGION - Ansible использует конфигурационный файл boto (обычно ~/.boto), если учетные данные не предоставлены. См. https://boto.readthedocs.io/en/latest/boto_config_tut.html
-
AWS_REGIONилиEC2_REGIONобычно могут быть использованы для указания AWS-региона, когда это требуется, но это также можно настроить в файле конфигурации boto
Примеры
# Create a policy with the name of 'Admin' to the group 'administrators'
- name: Assign a policy called Admin to the administrators group
iam_policy:
iam_type: group
iam_name: administrators
policy_name: Admin
state: present
policy_document: admin_policy.json
# Advanced example, create two new groups and add a READ-ONLY policy to both
# groups.
- name: Create Two Groups, Mario and Luigi
iam:
iam_type: group
name: "{{ item }}"
state: present
loop:
- Mario
- Luigi
register: new_groups
- name: Apply READ-ONLY policy to new groups that have been recently created
iam_policy:
iam_type: group
iam_name: "{{ item.created_group.group_name }}"
policy_name: "READ-ONLY"
policy_document: readonlypolicy.json
state: present
loop: "{{ new_groups.results }}"
# Create a new S3 policy with prefix per user
- name: Create S3 policy from template
iam_policy:
iam_type: user
iam_name: "{{ item.user }}"
policy_name: "s3_limited_access_{{ item.prefix }}"
state: present
policy_json: " {{ lookup( 'template', 's3_policy.json.j2') }} "
loop:
- user: s3_user
prefix: s3_user_prefix
Статус
- Этот модуль гарантирует обратную совместимость изменений интерфейса в будущем. [stableinterface]
- Этот модуль поддерживается сообществом Ansible. [community]
Авторы
- Jonathan I. Davila (@defionscode)
Подсказка
Если вы заметите какие-либо проблемы в этой документации, вы можете отредактировать этот документ, чтобы улучшить его.
© 2012–2018 Michael DeHaan
© 2018–2019 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
https://docs.ansible.com/ansible/2.9/modules/iam_policy_module.html