iam_role – Управление ролями AWS IAM
Новая версия 2.3.
Описание
- Управление ролями AWS IAM
Требования
Ниже приведены требования к хосту, на котором будет выполняться этот модуль.
- boto
- boto3
- botocore
- python >= 2.6
Параметры
| Параметр | Варианты/Значения по умолчанию | Комментарии |
|---|---|---|
| assume_role_policy_document - | Политика отношений доверия, предоставляющая сущности разрешение на принятие роли. Этот параметр необходим, когда state=present. | |
| 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 | |
| boundary - добавлен в 2.7 | Добавить ARN управляемой политики IAM, чтобы ограничить разрешения, которые эта роль может передать ролям/пользователям IAM, которые она создает. Границы не могут быть установлены для профилей экземпляров, поэтому, если этот параметр указан, create_instance_profile должно быть false.Это предназначено для ролей/пользователей, имеющих разрешения на создание новых объектов IAM. Дополнительную информацию о границах см. в https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_boundaries.html
Псевдонимы: boundary_policy_arn | |
| create_instance_profile логическое значение добавлен в 2.5 |
| Создает профиль экземпляра IAM вместе с ролью |
| debug_botocore_endpoint_logs логическое значение добавлен в 2.8 |
| Использовать регистрирователь botocore.endpoint для анализа уникальных (а не общих) API-вызовов "resource:action", выполняемых во время задачи, выводя набор в ключ task results resource_actions. Используйте обратный вызов aws_resource_action для вывода общего списка, созданного во время выполнения playbook. Также может использоваться переменная среды ANSIBLE_DEBUG_BOTOCORE_LOGS. |
| description - добавлен в 2.5 | Укажите описание новой роли | |
| ec2_url строка | URL для подключения к EC2 или вашему облаку Eucalyptus (по умолчанию модуль будет использовать конечные точки EC2). Игнорируется для модулей, где регион требуется. Должен быть указан для всех остальных модулей, если регион не используется. Если не задан, используется значение переменной среды EC2_URL, если таковое имеется. | |
| managed_policy - | Список ARNs управляемых политик или, начиная с Ansible 2.4, список ARNs или дружественных имен управляемых политик. Чтобы встроить встроенную политику, используйте iam_policy. Для удаления существующих политик используйте пустой элемент списка. Псевдонимы: managed_policies | |
| name - / обязательно | Имя роли для создания. | |
| path - | По умолчанию: "/" | Путь к роли. Дополнительную информацию о путях см. в https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_identifiers.html. |
| profile строка | Использует профиль boto. Работает только с boto >= 2.24.0. | |
| purge_policies логическое значение добавлен в 2.5 |
| Открепляет любые управляемые политики, не указанные в параметре "managed_policy". Установите в false, если вы хотите прикрепить политики в другом месте. |
| 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 | |
| state - |
| Создание или удаление роли IAM |
| validate_certs логическое значение |
| При значении "нет" сертификаты SSL для boto версий >= 2.6.0 не будут проверены. |
Примечания
Примечание
- Если параметры не заданы в модуле, могут быть использованы следующие переменные среды в порядке убывания приоритета
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
Примеры
# Note: These examples do not set authentication details, see the AWS Guide for details.
- name: Create a role with description
iam_role:
name: mynewrole
assume_role_policy_document: "{{ lookup('file','policy.json') }}"
description: This is My New Role
- name: "Create a role and attach a managed policy called 'PowerUserAccess'"
iam_role:
name: mynewrole
assume_role_policy_document: "{{ lookup('file','policy.json') }}"
managed_policy:
- arn:aws:iam::aws:policy/PowerUserAccess
- name: Keep the role created above but remove all managed policies
iam_role:
name: mynewrole
assume_role_policy_document: "{{ lookup('file','policy.json') }}"
managed_policy: []
- name: Delete the role
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 | |
Статус
- Данный модуль не гарантирует обратную совместимость. [превью]
- Данный модуль поддерживается сообществом Ansible. [сообщество]
Авторы
- 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.8/modules/iam_role_module.html