sts_assume_role – Получение временных учетных данных с использованием AWS Security Token Service
Новая версия 2.0.
Обзор
- Получение временных учетных данных с использованием 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 | |
| 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 - добавлено в 1.6 | Использует профиль 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 | AWS STS security token. Если не задан, используется значение переменной среды AWS_SECURITY_TOKEN или EC2_SECURITY_TOKEN. Псевдонимы: access_token | |
| validate_certs boolean добавлено в 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), если учетные данные не предоставлены. См. 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: 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 boolean | всегда | True, если получение учетных данных успешно |
| sts_creds словарь | всегда | Временные учетные данные безопасности, включающие идентификатор ключа доступа, секретный ключ доступа и сессионный токен. Пример: {'access_key': 'XXXXXXXXXXXXXXXXXXXX', 'expiration': datetime.datetime(2017, 11, 11, 11, 11, 11, tzinfo=datetime.timezone.utc), '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. [certified]
Авторы
- Борис Екельчик (@bekelchik)
- Марек Пиатек (@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.7/modules/sts_assume_role_module.html