iam_role – Управление ролями AWS IAM
Описание
- Управление ролями 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_actions результатов задачи. Используйте обратный вызов aws_resource_action для вывода полного списка, выполненного во время выполнения playbook. Переменная среды ANSIBLE_DEBUG_BOTOCORE_LOGS также может использоваться. |
| description - добавлено в 2.5 | Укажите описание новой роли | |
| ec2_url строка | URL для подключения к EC2 или вашему облаку Eucalyptus (по умолчанию модуль будет использовать конечные точки EC2). Игнорируется для модулей, где требуется регион. Должен быть указан для всех других модулей, если регион не используется. Если не задан, используется значение переменной среды EC2_URL, если таковая имеется. | |
| managed_policy - | Список ARN управляемых политик или, начиная с Ansible 2.4, список ARN управляемых политик или дружественных имен. Для встраивания встроенной политики используйте 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 сложный | success | словарь, содержащий данные о роли 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 | |
Статус
- Данный модуль не гарантирует обратную совместимость интерфейса. [preview]
- Данный модуль поддерживается сообществом Ansible. [community]
Авторы
- 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.9/modules/iam_role_module.html