Модуль amazon.aws.sts_assume_role – Принятие роли с использованием AWS Security Token Service и получение временных учетных данных
Примечание
Этот модуль является частью коллекции amazon.aws (версия 8.2.1).
Эта коллекция может быть уже установлена, если вы используете пакет ansible. Она не включена в ansible-core. Чтобы проверить установку, выполните ansible-galaxy collection list.
Чтобы установить её, используйте: ansible-galaxy collection install amazon.aws. Для использования этого модуля потребуются дополнительные зависимости. Подробнее см. Требования.
Чтобы использовать его в playbook, укажите: amazon.aws.sts_assume_role.
Добавлена в community.aws 1.0.0
Описание
- Принятие роли с использованием AWS Security Token Service и получение временных учетных данных.
Требования
Ниже перечислены требования, необходимые на хосте, на котором выполняется этот модуль.
- python >= 3.6
- boto3 >= 1.26.0
- botocore >= 1.29.0
Параметры
Параметр | Комментарии |
|---|---|
access_key aliases: aws_access_key_id, aws_access_key, ec2_access_key string | Идентификатор ключа доступа 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 для согласованности с SDK AWS botocore. Псевдоним ec2_access_key устарел и будет удален в релизе после 2024-12-01. Поддержка переменной среды |
aws_ca_bundle path | Расположение пакета CA, используемого при проверке SSL-сертификатов. Переменная среды |
aws_config dictionary | Словарь для изменения конфигурации botocore. Параметры можно найти в документации AWS https://botocore.amazonaws.com/v1/documentation/api/latest/reference/config.html#botocore.config.Config. |
debug_botocore_endpoint_logs boolean | Использовать Переменная среды Варианты:
|
duration_seconds integer | Длительность, в секундах, сессии роли. Значение может варьироваться от 900 секунд (15 минут) до 43200 секунд (12 часов). Максимальное значение зависит от настройки длительности сессии роли IAM. По умолчанию значение установлено на |
endpoint_url aliases: ec2_url, aws_endpoint_url, s3_url string | URL для подключения вместо стандартных конечных точек AWS. Хотя это может использоваться для подключения к другим совместимым с AWS сервисам, коллекции amazon.aws и community.aws тестируются только с AWS. Переменные среды Псевдонимы ec2_url и s3_url устарели и будут удалены в релизе после 2024-12-01. Поддержка переменной среды |
external_id string | Уникальный идентификатор, используемый третьими сторонами для принятия роли в учетных записях своих клиентов. |
mfa_serial_number string | Идентификационный номер устройства MFA, связанного с пользователем, выполняющим вызов AssumeRole. |
mfa_token string | Значение, предоставленное устройством MFA, если политика доверия принимаемой роли требует MFA. |
policy string | Дополнительная политика для использования в дополнение к политикам принятой роли. |
profile aliases: aws_profile string | Именованный профиль AWS для использования для аутентификации. См. документацию AWS для получения дополнительной информации об именованных профилях https://docs.aws.amazon.com/cli/latest/userguide/cli-configure-profiles.html. Переменная среды Параметр profile является взаимоисключающим с параметрами aws_access_key, aws_secret_key и security_token. |
region aliases: aws_region, ec2_region string | Регион AWS для использования. Для глобальных сервисов, таких как IAM, Route53 и CloudFront, region игнорируется. Переменные среды См. документацию Amazon AWS для получения дополнительной информации http://docs.aws.amazon.com/general/latest/gr/rande.html#ec2_region. Псевдоним Поддержка переменной среды |
role_arn string / required | Универсальное имя ресурса (ARN) роли, которую вызывающий принимает https://docs.aws.amazon.com/IAM/latest/UserGuide/Using_Identifiers.html#Identifiers_ARNs. |
role_session_name string / required | Имя сессии роли — будет использоваться CloudTrail. |
secret_key aliases: aws_secret_access_key, aws_secret_key, ec2_secret_key string | Секретный ключ доступа 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 для соответствия SDK AWS botocore. Псевдоним ec2_secret_key устарел и будет удален в релизе после 2024-12-01. Поддержка переменной среды |
session_token aliases: aws_session_token, security_token, aws_security_token, access_token string | Токен сессии AWS STS для использования с временными учетными данными. Дополнительную информацию о маркерах доступа можно найти в документации AWS https://docs.aws.amazon.com/general/latest/gr/aws-sec-cred-types.html#access-keys-and-secret-access-keys. Также можно использовать переменные среды Параметры security_token и profile взаимоисключающие. Псевдонимы aws_session_token и session_token были добавлены в релизе 3.2.0, а параметр был переименован из security_token в session_token в релизе 6.0.0. Псевдонимы security_token, aws_security_token и access_token устарели и будут удалены в релизе после 2024-12-01. Поддержка переменных среды |
validate_certs boolean | Если установлено значение Установка validate_certs=false крайне не рекомендуется. В качестве альтернативы, рассмотрите возможность установки aws_ca_bundle. Варианты:
|
Примечания
Примечание
- Для использования предполагаемой роли в последующей задаче playbook необходимо передать параметры
access_key,secret_keyиsession_tokenв модули, которые должны использовать предполагаемые учетные данные. - Внимание: Для модулей переменные окружения и конфигурационные файлы считываются из контекста Ansible «хост», а не «контроллер». Поэтому файлы может потребоваться скопировать на «хост». Для плагинов поиска и подключения переменные окружения и конфигурационные файлы считываются из контекста Ansible «контроллер», а не «хост».
- AWS SDK (boto3), используемый Ansible, также может считывать значения по умолчанию для учетных данных и других настроек, таких как регион, из своих конфигурационных файлов в контексте 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 boolean | True, если получение учетных данных прошло успешно. Возвращается: всегда |
sts_creds словарь | Временные учетные данные безопасности, включающие идентификатор ключа доступа, секретный ключ доступа и токен безопасности (или сессии). Возвращается: всегда Пример: |
sts_user словарь | Amazon Resource Name (ARN) и идентификатор предполагаемой роли. Возвращается: всегда Пример: |
Ссылки на сборку
© 2012–2018 Michael DeHaan
© 2018–2024 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
https://docs.ansible.com/ansible/latest/collections/amazon/aws/sts_assume_role_module.html