community.aws.iam_policy – Управление встроенными политиками IAM для пользователей, групп и ролей
Примечание
Этот плагин является частью коллекции community.aws (версия 1.3.0).
Для его установки используйте: ansible-galaxy collection install community.aws.
Для использования в книге задач укажите: community.aws.iam_policy.
Новое в версии 1.0.0: of community.aws
Обзор
- Разрешает загрузку или удаление встроенных политик IAM для пользователей, групп или ролей IAM.
- Для управления управляемыми политиками см. community.aws.iam_user, community.aws.iam_role, community.aws.iam_group и community.aws.iam_managed_policy
Требования
Ниже приведены требования к хосту, на котором будет выполняться этот модуль.
- python >= 2.6
- boto
Параметры
| Параметр | Варианты/Значения по умолчанию | Комментарии |
|---|---|---|
| aws_access_key строка | Ключ доступа AWS. Если не задан, используется значение переменной окружения AWS_ACCESS_KEY_ID, AWS_ACCESS_KEY или EC2_ACCESS_KEY. Если задан параметр profile, этот параметр игнорируется. Одновременное указание параметров aws_access_key и profile устарело и будет сделано взаимоисключающим после 2022-06-01. Псевдонимы: ec2_access_key, access_key | |
| aws_ca_bundle путь | Расположение файла с набором сертификатов CA для проверки SSL-сертификатов. Используется только для модулей, основанных на boto3. Примечание: Набор CA считывается на стороне модуля и, возможно, требует явного копирования с контроллера, если он не выполняется локально. | |
| aws_config словарь | Словарь для изменения настроек botocore. Параметры можно найти по адресу https://botocore.amazonaws.com/v1/documentation/api/latest/reference/config.html#botocore.config.Config. Для модулей boto используется только ключ 'user_agent'. Дополнительные настройки boto см. по адресу http://boto.cloudhackers.com/en/latest/boto_config_tut.html#boto. | |
| aws_secret_key строка | Секретный ключ AWS. Если не задан, используется значение переменной окружения AWS_SECRET_ACCESS_KEY, AWS_SECRET_KEY или EC2_SECRET_KEY. Если задан параметр profile, этот параметр игнорируется. Одновременное указание параметров aws_secret_key и profile устарело и будет сделано взаимоисключающим после 2022-06-01. Псевдонимы: ec2_secret_key, secret_key | |
| debug_botocore_endpoint_logs логический |
| Использование логгера botocore.endpoint для анализа уникальных (а не общих) API-вызовов "resource:action", производимых во время задачи, выводящих набор в ключ resource_actions результатов задачи. Используйте обратный вызов aws_resource_action для вывода в полный список, созданный во время выполнения книги задач. Также может быть использована переменная среды ANSIBLE_DEBUG_BOTOCORE_LOGS. |
| ec2_url строка | Адрес для подключения к EC2 или вашему облаку Eucalyptus (по умолчанию модуль использует адреса EC2). Игнорируется для модулей, где необходим регион. Должен быть указан для всех других модулей, если регион не используется. Если не задан, используется значение переменной окружения EC2_URL, если она есть. Псевдонимы: aws_endpoint_url, endpoint_url | |
| iam_name строка / обязательно | Имя ресурса IAM, к которому вы хотите обратиться для действий с политикой. То есть имя пользователя, группы или роли. | |
| iam_type строка / обязательно |
| Тип ресурса IAM. |
| policy_document строка | Путь к файлу политики с правильным форматированием JSON. Взаимоисключающий с policy_json. Этот параметр устарел и будет удален в версии 2.14. Существующее поведение можно воспроизвести, используя параметр policy_json и чтение файла с помощью плагина lookup. | |
| policy_json json | Политика в формате JSON как строка. Взаимоисключающий с policy_document. См. https://github.com/ansible/ansible/issues/7005#issuecomment-42894813 по правильному использованию. | |
| policy_name строка / обязательно | Имя метки политики для создания или удаления. | |
| profile строка | Использование профиля boto. Работает только с boto >= 2.24.0. Использование profile переопределит aws_access_key, aws_secret_key и security_token, а поддержка их одновременного указания с profile устарела.
aws_access_key, aws_secret_key и security_token будут сделаны взаимоисключающими с profile после 2022-06-01. Псевдонимы: aws_profile | |
| 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. Если задан параметр profile, этот параметр игнорируется. Одновременное указание параметров security_token и profile устарело и будет сделано взаимоисключающим после 2022-06-01. Псевдонимы: aws_security_token, access_token | |
| skip_duplicates логический |
| При skip_duplicates=true модуль ищет политики, соответствующие переданному вами документу. Если совпадение найдено, новый объект политики с теми же правилами не будет создан. Текущее значение по умолчанию true. Однако это поведение может быть запутанным, поэтому значение по умолчанию будет изменено на false в версии 2.14. Чтобы сохранить существующее поведение, явно задайте skip_duplicates=true. |
| state строка |
| Определение создания или удаления политики IAM. |
| validate_certs логический |
| При установке в значение "нет" для boto-версий >= 2.6.0 SSL-сертификаты не будут проверяться. |
Примечания
Примечание
- Если параметры не заданы в модуле, можно использовать следующие переменные среды в порядке убывания приоритета
AWS_URLилиEC2_URL,AWS_PROFILEилиAWS_DEFAULT_PROFILE,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,AWS_CA_BUNDLE - 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
community.aws.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
community.aws.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
community.aws.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
community.aws.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
Авторы
- Jonathan I. Davila (@defionscode)
- Dennis Podkovyrin (@sbj-ss)
© 2012–2018 Michael DeHaan
© 2018–2021 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
https://docs.ansible.com/ansible/2.11/collections/community/aws/iam_policy_module.html