Модуль amazon.aws.sts_assume_role — принять роль с помощью службы токенов безопасности AWS и получить временные учетные данные
Примечание
Этот модуль входит в коллекцию amazon.aws (версия 11.3.0).
Возможно, эта коллекция уже установлена, если вы используете пакет ansible. Она не входит в состав ansible-core. Чтобы проверить, установлена ли она, выполните ansible-galaxy collection list.
Чтобы установить ее, используйте: ansible-galaxy collection install amazon.aws. Для работы с этим модулем требуются дополнительные компоненты; подробности см. в разделе Требования.
Чтобы использовать модуль в плейбуке, укажите: amazon.aws.sts_assume_role.
Добавлено в community.aws 1.0.0
Краткое описание
- Принять роль с помощью службы токенов безопасности AWS и получить временные учетные данные.
Требования
На узле, выполняющем этот модуль, должны быть установлены следующие компоненты.
- python >= 3.6
- boto3 >= 1.35.0
- botocore >= 1.35.0
Параметры
Параметр | Комментарии |
|---|---|
access_key псевдонимы: aws_access_key_id, aws_access_key строка | Идентификатор ключа доступа AWS. Дополнительные сведения о токенах доступа см. в документации AWS: https://docs.aws.amazon.com/general/latest/gr/aws-sec-cred-types.html#access-keys-and-secret-access-keys. Также можно использовать переменные среды Параметры aws_access_key и profile являются взаимоисключающими. Псевдоним aws_access_key_id добавлен в выпуске 5.1.0 для согласованности с AWS SDK botocore. |
aws_ca_bundle путь | Путь к пакету сертификатов CA для проверки сертификатов SSL. Также можно использовать переменную среды |
aws_config словарь | Словарь для изменения конфигурации botocore. Параметры перечислены в документации AWS: https://botocore.amazonaws.com/v1/documentation/api/latest/reference/config.html#botocore.config.Config. |
debug_botocore_endpoint_logs логическое значение | Использовать регистратор Также можно использовать переменную среды Варианты:
|
duration_seconds целое число | Продолжительность сеанса роли в секундах. Значение может составлять от 900 секунд (15 минут) до 43200 секунд (12 часов). Максимальное значение зависит от настройки продолжительности сеанса роли IAM. По умолчанию установлено значение |
endpoint_url псевдонимы: aws_endpoint_url строка | URL для подключения вместо стандартных конечных точек AWS. Хотя этот параметр можно использовать для подключения к другим сервисам, совместимым с AWS, коллекции amazon.aws и community.aws тестируются только с AWS. Также можно использовать переменную среды |
external_id строка | Уникальный идентификатор, который третьи стороны используют для принятия роли в учетных записях своих клиентов. |
mfa_serial_number строка | Идентификационный номер устройства MFA, связанного с пользователем, который вызывает AssumeRole. |
mfa_token строка | Значение, предоставленное устройством MFA, если политика доверия принимаемой роли требует MFA. |
policy строка | Дополнительная политика, применяемая вместе с политиками принятой роли. |
profile псевдонимы: aws_profile строка | Именованный профиль AWS для аутентификации. Дополнительные сведения об именованных профилях см. в документации AWS: https://docs.aws.amazon.com/cli/latest/userguide/cli-configure-profiles.html. Также можно использовать переменную среды Параметр profile взаимоисключающий с параметрами aws_access_key, aws_secret_key и session_token. |
region псевдонимы: aws_region строка | Регион AWS. Для глобальных сервисов, таких как IAM, Route53 и CloudFront, параметр region игнорируется. Также можно использовать переменную среды Дополнительные сведения см. в документации Amazon AWS: http://docs.aws.amazon.com/general/latest/gr/rande.html#ec2_region. |
role_arn строка / обязательный | Имя ресурса Amazon (ARN) роли, которую принимает вызывающая сторона: https://docs.aws.amazon.com/IAM/latest/UserGuide/Using_Identifiers.html#Identifiers_ARNs. |
role_session_name строка / обязательный | Имя сеанса роли — оно будет использоваться CloudTrail. |
secret_key псевдонимы: aws_secret_access_key, aws_secret_key строка | Секретный ключ доступа AWS. Дополнительные сведения о токенах доступа см. в документации AWS: https://docs.aws.amazon.com/general/latest/gr/aws-sec-cred-types.html#access-keys-and-secret-access-keys. Также можно использовать переменные среды Параметры secret_key и profile являются взаимоисключающими. Псевдоним aws_secret_access_key добавлен в выпуске 5.1.0 для согласованности с AWS SDK botocore. |
session_token псевдонимы: aws_session_token строка | Токен сеанса AWS STS для использования с временными учетными данными. Дополнительные сведения о токенах доступа см. в документации AWS: https://docs.aws.amazon.com/general/latest/gr/aws-sec-cred-types.html#access-keys-and-secret-access-keys. Также можно использовать переменную среды Параметры session_token и profile являются взаимоисключающими. |
validate_certs логическое значение | Если задано значение Настоятельно не рекомендуется устанавливать validate_certs=false; в качестве альтернативы можно задать параметр aws_ca_bundle. Варианты:
|
Примечания
Примечание
- Чтобы использовать принятую роль в следующей задаче плейбука, необходимо передать параметры
access_key,secret_keyиsession_tokenмодулям, которым следует использовать учетные данные принятой роли. - Внимание: Для модулей переменные среды и файлы конфигурации считываются из контекста «узла» Ansible, а не из контекста «контроллера». Поэтому файлы, возможно, потребуется явно скопировать на «узел». Для плагинов поиска и подключения переменные среды и файлы конфигурации считываются из контекста «контроллера» Ansible, а не из контекста «узла».
- Используемый Ansible SDK AWS (boto3) также может считывать значения по умолчанию для учетных данных и других параметров, например региона, из файлов конфигурации в контексте «узла» Ansible (обычно
~/.aws/credentials). Дополнительные сведения см. по адресу https://boto3.amazonaws.com/v1/documentation/api/latest/guide/credentials.html.
Примеры
# Assume an existing role (more details: https://docs.aws.amazon.com/STS/latest/APIReference/API_AssumeRole.html)
- amazon.aws.sts_assume_role:
access_key: AKIA1EXAMPLE1EXAMPLE
secret_key: 123456789abcdefghijklmnopqrstuvwxyzABCDE
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
- amazon.aws.ec2_tag:
access_key: "{{ assumed_role.sts_creds.access_key }}"
secret_key: "{{ assumed_role.sts_creds.secret_key }}"
session_token: "{{ assumed_role.sts_creds.session_token }}"
resource: i-xyzxyz01
state: present
tags:
MyNewTag: value
Возвращаемые значения
Общие возвращаемые значения описаны здесь; ниже перечислены поля, уникальные для этого модуля:
Ключ | Описание |
|---|---|
changed логическое значение | Значение True, если получение учетных данных выполнено успешно. Возвращается: всегда |
sts_creds словарь | Временные учетные данные безопасности, включающие идентификатор ключа доступа, секретный ключ доступа и токен безопасности (или сеанса). Возвращается: всегда Пример: |
sts_user словарь | Имя ресурса Amazon (ARN) и идентификатор принятой роли. Возвращается: всегда Пример: |
Ссылки на коллекцию
© 2012–2018 Michael DeHaan
© 2018–2025 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
https://docs.ansible.com/projects/ansible/latest/collections/amazon/aws/sts_assume_role_module.html