community.aws.iam_role – Управление ролями AWS IAM
Примечание
Этот плагин входит в состав коллекции community.aws (версия 1.3.0).
Для его установки используйте: ansible-galaxy collection install community.aws.
Для использования в книге задач укажите: community.aws.iam_role.
Новое в версии 1.0.0: от community.aws
Описание
- Управление ролями AWS IAM.
Требования
Ниже перечислены требования к хосту, на котором будет выполняться этот модуль.
- boto
- boto3
- botocore
- python >= 2.6
Параметры
| Параметр | Варианты/Значения по умолчанию | Комментарии |
|---|---|---|
| assume_role_policy_document json | Документ политики доверия, предоставляющий сущности разрешение на принятие роли. Этот параметр обязателен, когда state=present. | |
| 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 | |
| boundary строка | ARN управляемой политики IAM, используемой для ограничения разрешений, которые эта роль может передавать ролям/пользователям IAM, которые она создает. Границы не могут быть установлены для профилей экземпляров, поэтому если этот параметр задан, то create_instance_profile должен быть false.Это предназначено для ролей/пользователей, имеющих разрешения на создание новых объектов IAM. Дополнительную информацию о границах см. по адресу https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_boundaries.html. Требуется botocore 1.10.57 или выше. псевдонимы: boundary_policy_arn | |
| create_instance_profile логическое |
| Создает профиль экземпляра IAM вместе с ролью. |
| debug_botocore_endpoint_logs логическое |
| Используйте журнализатор botocore.endpoint для анализа уникальных (а не общих) вызовов API «ресурс:действие» во время задачи, выводя набор в ключ resource_actions результатов задачи. Используйте обратный вызов aws_resource_action для вывода полного списка, созданного во время выполнения книги задач. Также можно использовать переменную среды ANSIBLE_DEBUG_BOTOCORE_LOGS. |
| delete_instance_profile логическое |
| При delete_instance_profile=true и state=absent удаление роли также удалит профиль экземпляра, созданный с тем же name, что и роль. Применимо только при state=absent. |
| description строка | Предоставляет описание роли. | |
| ec2_url строка | URL для подключения к EC2 или вашему облаку Eucalyptus (по умолчанию модуль будет использовать конечные точки EC2). Игнорируется для модулей, где регион требуется. Должен быть указан для всех других модулей, если регион не используется. Если не задан, используется значение переменной окружения EC2_URL, если она задана. псевдонимы: aws_endpoint_url, endpoint_url | |
| managed_policies список / элементы=строка | Список ARN управляемых политик или, начиная с Ansible 2.4, список управляемых политик ARN или дружественных имен. Для удаления всех политик установите purge_polices=true и managed_policies=[None]. Для встраивания встроенной политики используйте community.aws.iam_policy. псевдонимы: managed_policy | |
| max_session_duration целое число | Максимальная продолжительность (в секундах) сеанса при принятии роли. Допустимые значения находятся в диапазоне от 1 до 12 часов (3600 и 43200 секунд). | |
| name строка / обязательный | Имя создаваемой роли. | |
| path строка | По умолчанию: "/" | Путь к роли. Дополнительную информацию о путях см. по адресу https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_identifiers.html. |
| 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 | |
| purge_policies логическое |
| Если purge_policies=true, все управляемые политики, не перечисленные в managed_policies, будут откреплены. По умолчанию purge_policies=true. В Ansible 2.14 это будет изменено на purge_policies=false. псевдонимы: purge_policy, purge_managed_policies |
| purge_tags логическое |
| Удаляет метки, не перечисленные в tags, когда tags задано. |
| 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 | |
| state строка |
| Создание или удаление роли IAM. |
| tags словарь | Словарь меток для применения к очереди. Требуется botocore 1.12.46 или выше. | |
| validate_certs логическое |
| Если установлено значение "нет", SSL-сертификаты не будут проверяться для версий boto >= 2.6.0. |
Примечания
Примечание
- Если параметры не заданы в модуле, можно использовать следующие переменные окружения в порядке убывания приоритета
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
Примеры
# Note: These examples do not set authentication details, see the AWS Guide for details.
- name: Create a role with description and tags
community.aws.iam_role:
name: mynewrole
assume_role_policy_document: "{{ lookup('file','policy.json') }}"
description: This is My New Role
tags:
env: dev
- name: "Create a role and attach a managed policy called 'PowerUserAccess'"
community.aws.iam_role:
name: mynewrole
assume_role_policy_document: "{{ lookup('file','policy.json') }}"
managed_policies:
- arn:aws:iam::aws:policy/PowerUserAccess
- name: Keep the role created above but remove all managed policies
community.aws.iam_role:
name: mynewrole
assume_role_policy_document: "{{ lookup('file','policy.json') }}"
managed_policies: []
- name: Delete the role
community.aws.iam_role:
name: mynewrole
assume_role_policy_document: "{{ lookup('file', 'policy.json') }}"
state: absent
Значения возврата
Общие значения возврата документированы здесь, следующие поля уникальны для этого модуля:
| Ключ | Возвращаемое значение | Описание | |
|---|---|---|---|
| iam_role сложный | успех | словарь, содержащий данные IAM роли | |
| arn строка | всегда | Amazon Resource Name (ARN), определяющий роль Пример: arn:aws:iam::1234567890:role/mynewrole | |
| assume_role_policy_document строка | всегда | политика, предоставляющая субъекту разрешение на принятие роли Пример: {'statement': [{'action': 'sts:AssumeRole', 'effect': 'Allow', 'principal': {'service': 'ec2.amazonaws.com'}, 'sid': ''}], 'version': '2012-10-17'} | |
| attached_policies список / элементы=строка | всегда | список словарей, содержащих имя и ARN управляемых IAM политик, прикрепленных к роли Пример: [{'policy_arn': 'arn:aws:iam::aws:policy/PowerUserAccess', 'policy_name': 'PowerUserAccess'}] | |
| create_date строка | всегда | дата и время создания роли в формате ISO 8601 Пример: 2016-08-14T04:36:28+00:00 | |
| path строка | всегда | путь к роли Пример: / | |
| role_id строка | всегда | уникальная и постоянная строка, идентифицирующая роль Пример: ABCDEFF4EZ4ABCDEFV4ZC | |
| role_name строка | всегда | название роли для удобства идентификации Пример: myrole | |
| tags словарь | всегда | теги роли Пример: {"Env": "Prod"} | |
Авторы
- Rob White (@wimnat)
© 2012–2018 Michael DeHaan
© 2018–2019 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
https://docs.ansible.com/ansible/2.10/collections/community/aws/iam_role_module.html