iam_role — Управление ролями AWS IAM
Новая версия 2.3.
Обзор
- Управление ролями AWS IAM
Требования
Ниже перечислены требования к хосту, на котором будет выполняться этот модуль.
- boto
- boto3
- botocore
- python >= 2.6
Параметры
| Параметр | Варианты/Значения по умолчанию | Комментарии |
|---|---|---|
| assume_role_policy_document | Политика отношений доверия, предоставляющая сущности разрешение на принятие роли. Этот параметр требуется, когда state=present. | |
| aws_access_key | По умолчанию: None | Ключ доступа AWS. Если не задан, используется значение переменной окружения AWS_ACCESS_KEY_ID, AWS_ACCESS_KEY или EC2_ACCESS_KEY. Псевдонимы: ec2_access_key, access_key |
| aws_secret_key | По умолчанию: None | Секретный ключ AWS. Если не задан, используется значение переменной окружения AWS_SECRET_ACCESS_KEY, AWS_SECRET_KEY или EC2_SECRET_KEY. Псевдонимы: ec2_secret_key, secret_key |
| create_instance_profile (добавлен в 2.5) |
| Создает профиль IAM-экземпляра вместе с ролью |
| description (добавлен в 2.5) | Укажите описание новой роли | |
| ec2_url | По умолчанию: None | 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) | По умолчанию: None | Использует профиль 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 (добавлен в 1.6) | По умолчанию: None | Токен безопасности AWS STS. Если не задан, используется значение переменной окружения AWS_SECURITY_TOKEN или EC2_SECURITY_TOKEN. Псевдонимы: access_token |
| state |
| Создать или удалить роль IAM |
| validate_certs (добавлен в 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 | |
| attached_policies список | всегда | Список словарей, содержащих имя и ARN прикрепленных к роли управляемых политик IAM Пример: [{'policy_arn': 'arn:aws:iam::aws:policy/PowerUserAccess', 'policy_name': 'PowerUserAccess'}] | |
| assume_role_policy_document строка | всегда | Политика, предоставляющая сущности разрешение на принятие роли Пример: {'version': '2012-10-17', 'statement': [{'action': 'sts:AssumeRole', 'principal': {'service': 'ec2.amazonaws.com'}, 'effect': 'Allow', 'sid': ''}]} | |
| role_name строка | всегда | Дружественное имя, определяющее роль Пример: myrole | |
| create_date строка | всегда | Дата и время создания роли в формате ISO 8601 Пример: 2016-08-14T04:36:28+00:00 | |
| path строка | всегда | Путь к роли Пример: / | |
| arn строка | всегда | Amazon Resource Name (ARN), определяющий роль Пример: arn:aws:iam::1234567890:role/mynewrole | |
| role_id строка | всегда | Уникальная строка, идентифицирующая роль Пример: ABCDEFF4EZ4ABCDEFV4ZC | |
Статус
Этот модуль помечен как превью, что означает отсутствие гарантии обратной совместимости интерфейса.
Автор
- 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.5/modules/iam_role_module.html