sts_assume_role – Принятие роли с помощью AWS Security Token Service и получение временных учетных данных
Описание
- Принятие роли с помощью AWS Security Token Service и получение временных учетных данных
Требования
Ниже перечислены требования к хосту, на котором будет выполняться этот модуль.
- boto
- boto3
- botocore
- python >= 2.6
Параметры
| Параметр | Варианты/Значения по умолчанию | Комментарии |
|---|---|---|
| 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 | |
| debug_botocore_endpoint_logs логический тип добавлено в 2.8 |
| Используйте логирование botocore.endpoint для анализа уникальных (а не общих) API-вызовов «ресурс:действие», выполняемых во время задачи, выводив набор в ключ resource_actions в результатах задачи. Используйте обратный вызов aws_resource_action для вывода в полный список, созданный во время выполнения книги сценариев. |
| duration_seconds - | Продолжительность сеанса роли в секундах. Значение может варьироваться от 900 секунд (15 минут) до 43200 секунд (12 часов). Максимальное значение зависит от настройки параметров продолжительности сеансов в роли IAM. По умолчанию значение установлено в 3600 секунд. | |
| ec2_url строка | URL для подключения к EC2 или вашему облаку Eucalyptus (по умолчанию модуль использует конечные точки EC2). Игнорируется для модулей, где требуется регион. Должен быть указан для всех остальных модулей, если не используется регион. Если не задан, используется значение переменной окружения EC2_URL, если она есть. | |
| external_id - | Уникальный идентификатор, используемый сторонними лицами для принятия роли в учетных записях своих клиентов. | |
| mfa_serial_number - | Идентификационный номер устройства MFA, связанного с пользователем, выполняющим вызов AssumeRole. | |
| mfa_token - | Значение, предоставленное устройством MFA, если политика доверия принимаемой роли требует MFA. | |
| policy - | Дополнительная политика, которая используется дополнительно к политикам принимаемой роли. | |
| profile строка | Использует профиль 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) роли, которую вызывает вызывающий https://docs.aws.amazon.com/IAM/latest/UserGuide/Using_Identifiers.html#Identifiers_ARNs. | |
| role_session_name - / обязательно | Имя сеанса роли – будет использовано CloudTrail | |
| security_token строка | AWS STS security токен. Если не задан, используется значение переменной окружения AWS_SECURITY_TOKEN или EC2_SECURITY_TOKEN. псевдонимы: access_token | |
| validate_certs логический тип |
| При установке в «нет», сертификаты SSL не будут проверяться для boto версий >= 2.6.0. |
Примечания
Примечание
- Для использования принятой роли в следующей задаче книги сценариев необходимо передать 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), если учетные данные не предоставлены. См. 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.
# Assume an existing role (more details: https://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 логический тип | всегда | Истинно, если получение учетных данных прошло успешно |
| sts_creds словарь | всегда | Временные учетные данные безопасности, включающие идентификатор ключа доступа, секретный ключ доступа и токен безопасности (или сессии) Пример: {'access_key': 'XXXXXXXXXXXXXXXXXXXX', 'expiration': '2017-11-11T11:11:11+00:00', 'secret_key': 'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX', 'session_token': 'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'} |
| sts_user словарь | всегда | Amazon Resource Name (ARN) и идентификатор принятой роли Пример: {'assumed_role_id': 'arn:aws:sts::123456789012:assumed-role/demo/Bob', 'arn': 'ARO123EXAMPLE123:Bob'} |
Статус
- Гарантированы изменения интерфейса, совместимые со старыми версиями. [stableinterface]
- Этот модуль поддерживается сообществом Ansible. [community]
Авторы
- 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.9/modules/sts_assume_role_module.html