iam_policy – Управление политиками IAM для пользователей, групп и ролей
Новая версия 2.0.
Описание
- Позволяет загружать или удалять политики 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:action" во время задачи, вывод набора в ключ 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.8/modules/iam_policy_module.html