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 | |
| create_instance_profile bool (добавлено в 2.5) |
| Создаёт профиль экземпляра IAM вместе с ролью |
| description (добавлено в 2.5) | Укажите описание новой роли | |
| ec2_url | URL для подключения к EC2 или вашему облаку Eucalyptus (по умолчанию модуль использует конечные точки EC2). Игнорируется для модулей, где требуется регион. Должен быть указан для всех других модулей, если регион не используется. Если не задан, используется значение переменной окружения EC2_URL, если таковое имеется. | |
| managed_policy | Список ARNs управляемых политик или, начиная с Ansible 2.4, список ARNs или дружественных имён управляемых политик. Для включения встроенной политики используйте iam_policy. Для удаления существующих политик используйте пустой элемент списка. псевдонимы: managed_policies | |
| name обязательно | Имя создаваемой роли. | |
| path | По умолчанию: "/" | Путь к роли. Более подробная информация о путях доступна по адресу http://docs.aws.amazon.com/IAM/latest/UserGuide/reference_identifiers.html. |
| profile (добавлено в 1.6) | Использует профиль boto. Работает только с boto >= 2.24.0. | |
| purge_policies bool (добавлено в 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 (добавлено в 1.6) | Токен безопасности AWS STS. Если не задан, используется значение переменной окружения AWS_SECURITY_TOKEN или EC2_SECURITY_TOKEN. псевдонимы: access_token | |
| state |
| Создание или удаление роли IAM |
| validate_certs bool (добавлено в 1.5) |
| При значении "no" сертификаты 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), если учетные данные не предоставлены. См. http://boto.readthedocs.org/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 | |
| path строка | всегда | путь к роли Пример: / | |
| role_name строка | всегда | дружественное имя, идентифицирующее роль Пример: myrole | |
| role_id строка | всегда | устойчивая и уникальная строка, идентифицирующая роль Пример: ABCDEFF4EZ4ABCDEFV4ZC | |
| arn строка | всегда | Amazon Resource Name (ARN), определяющий роль Пример: arn:aws:iam::1234567890:role/mynewrole | |
| create_date строка | всегда | дата и время создания роли в формате ISO 8601 Пример: 2016-08-14T04:36:28+00:00 | |
| 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'}] | |
Статус
Этот модуль помечен как предварительный, что означает, что он не гарантирует обратную совместимость.
Обслуживание
Этот модуль помечен как сообщественный, что означает, что его поддерживает сообщество Ansible. Подробнее о поддержке модулей см. в разделе Поддержка модулей и обслуживание.
Список других модулей, поддерживаемых сообществом 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.6/modules/iam_role_module.html