sts_assume_role - Принять роль с помощью AWS Security Token Service и получить временные учетные данные
Новая версия 2.0.
Описание
- Принять роль с помощью AWS Security Token Service и получить временные учетные данные
Требования
Ниже перечислены требования к хосту, на котором будет выполняться данный модуль.
- boto
- boto3
- botocore
- python >= 2.6
Параметры
| Параметр | Варианты/Значения по умолчанию | Комментарии |
|---|---|---|
| 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 |
| duration_seconds | Значение по умолчанию: None | Срок действия сеанса роли в секундах. Значение может варьироваться от 900 секунд (15 минут) до 3600 секунд (1 час). По умолчанию значение установлено в 3600 секунд. |
| ec2_url | Значение по умолчанию: None | URL для подключения к EC2 или вашему облаку Eucalyptus (по умолчанию модуль использует конечные точки EC2). Игнорируется для модулей, где требуется регион. Должен быть указан для всех остальных модулей, если регион не используется. Если не задан, используется значение переменной окружения EC2_URL, если таковая имеется. |
| external_id | Значение по умолчанию: None | Уникальный идентификатор, используемый третьими сторонами для принятия роли в учетных записях своих клиентов. |
| mfa_serial_number | Значение по умолчанию: None | Идентификационный номер устройства MFA, связанного с пользователем, который выполняет вызов AssumeRole. |
| mfa_token | Значение по умолчанию: None | Значение, предоставленное устройством MFA, если политика доверия принимаемой роли требует MFA. |
| policy | Значение по умолчанию: None | Дополнительная политика, используемая в дополнение к политикам принимаемой роли. |
| profile (добавлено в 1.6) | Значение по умолчанию: None | Использует профиль boto. Работает только с boto >= 2.24.0. |
| region | AWS регион для использования. Если не указан, используется значение переменной окружения AWS_REGION или EC2_REGION, если таковая имеется. См. http://docs.aws.amazon.com/general/latest/gr/rande.html#ec2_region
Псевдонимы: aws_region, ec2_region | |
| role_arn обязательно | Amazon Resource Name (ARN) роли, которую вызывающий субъект принимает (http://docs.aws.amazon.com/IAM/latest/UserGuide/Using_Identifiers.html#Identifiers_ARNs) | |
| role_session_name обязательно | Имя сеанса роли — будет использоваться CloudTrail | |
| security_token (добавлено в 1.6) | Значение по умолчанию: None | AWS STS security token. Если не задан, используется значение переменной окружения AWS_SECURITY_TOKEN или EC2_SECURITY_TOKEN. Псевдонимы: access_token |
| validate_certs (добавлено в 1.5) |
| Если установлено "нет", сертификаты SSL не будут проверены для boto-версий >= 2.6.0. |
Примечания
Примечание
- Для использования принятой роли в последующей задаче playbook необходимо передать access_key, access_secret и access_token
- Если параметры не заданы в модуле, можно использовать следующие переменные окружения в порядке убывания приоритета
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.
# Assume an existing role (more details: http://docs.aws.amazon.com/STS/latest/APIReference/API_AssumeRole.html)
sts_assume_role:
role_arn: "arn:aws:iam::123456789012:role/someRole"
role_session_name: "someRoleSession"
register: assumed_role
# Use the assumed role above to tag an instance in account 123456789012
ec2_tag:
aws_access_key: "{{ assumed_role.sts_creds.access_key }}"
aws_secret_key: "{{ assumed_role.sts_creds.secret_key }}"
security_token: "{{ assumed_role.sts_creds.session_token }}"
resource: i-xyzxyz01
state: present
tags:
MyNewTag: value
Возвращаемые значения
Общие возвращаемые значения описаны в здесь, следующие являются полями, уникальными для этого модуля:
| Ключ | Возвращаемое значение | Описание |
|---|---|---|
| changed bool | всегда | True, если получение учетных данных прошло успешно |
| sts_creds dict | всегда | Временные учетные данные безопасности, которые включают идентификатор ключа доступа, секретный ключ доступа и токен безопасности (или сеанса) Пример: {'access_key': 'XXXXXXXXXXXXXXXXXXXX', 'secret_key': 'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX', 'expiration': datetime.datetime(2017, 11, 11, 11, 11, 11), 'session_token': 'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'} |
| sts_user dict | всегда | Amazon Resource Name (ARN) и идентификатор принятой роли Пример: {'assumed_role_id': 'arn:aws:sts::123456789012:assumed-role/demo/Bob', 'arn': 'ARO123EXAMPLE123:Bob'} |
Статус
Этот модуль помечен как stableinterface, что означает, что разработчики этого модуля гарантируют, что не будет внесено никаких несовместимых изменений в интерфейс.
Автор
- Boris Ekelchik (@bekelchik)
- Marek Piatek (@piontas)
Подсказка
Если вы заметите какие-либо проблемы в этом документе, вы можете отредактировать этот документ, чтобы улучшить его.
© 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/sts_assume_role_module.html