Spec-Zone.ru › Ansible 2.11

community.aws.sts_assume_role – Принять роль с помощью AWS Security Token Service и получить временные учетные данные

Примечание

Этот плагин входит в состав коллекции community.aws (версия 1.3.0).

Для его установки используйте: ansible-galaxy collection install community.aws.

Чтобы использовать его в книге задач, укажите: community.aws.sts_assume_role.

В версии 1.0.0: коллекции community.aws

  • Обзор
  • Требования
  • Параметры
  • Примечания
  • Примеры
  • Возвращаемые значения

Обзор

  • Принять роль с помощью AWS Security Token Service и получить временные учетные данные.

Требования

Ниже приведены требования к хосту, на котором будет выполняться этот модуль.

  • boto
  • boto3
  • botocore
  • python >= 2.6

Параметры

Параметр Варианты/Значения по умолчанию Комментарии
aws_access_key
строка
Ключ доступа AWS. Если не задан, используется значение переменной окружения AWS_ACCESS_KEY_ID, AWS_ACCESS_KEY или EC2_ACCESS_KEY.
Если задан параметр profile, этот параметр игнорируется.
Одновременное использование параметров aws_access_key и profile устарело и будет сделано взаимоисключающим после 2022-06-01.

псевдонимы: ec2_access_key, access_key
aws_ca_bundle
путь
Расположение файла с сертификатами доверенных центров сертификации для проверки SSL-сертификатов.
Используется только для модулей на основе boto3.
Примечание: файл с сертификатами читается со стороны модуля и, возможно, должен быть явно скопирован с контроллера, если он не запускается локально.
aws_config
словарь
Словарь для изменения конфигурации botocore.
Параметры можно найти по адресу https://botocore.amazonaws.com/v1/documentation/api/latest/reference/config.html#botocore.config.Config.
Для модулей boto используется только ключ 'user_agent'. Дополнительную информацию о конфигурации boto можно найти по адресу http://boto.cloudhackers.com/en/latest/boto_config_tut.html#boto.
aws_secret_key
строка
Секретный ключ AWS. Если не задан, используется значение переменной окружения AWS_SECRET_ACCESS_KEY, AWS_SECRET_KEY или EC2_SECRET_KEY.
Если задан параметр profile, этот параметр игнорируется.
Одновременное использование параметров aws_secret_key и profile устарело и будет сделано взаимоисключающим после 2022-06-01.

псевдонимы: ec2_secret_key, secret_key
debug_botocore_endpoint_logs
логическое значение
    Варианты:
  • нет ←
  • да
Используйте логгер botocore.endpoint для обработки уникальных (а не суммарных) API-вызовов "resource:action", сделанных во время задачи, выведя набор в ключ resource_actions в результатах задачи. Используйте обратный вызов aws_resource_action для вывода полного списка, сделанного во время книги задач. Переменная окружения ANSIBLE_DEBUG_BOTOCORE_LOGS также может быть использована.
duration_seconds
целое число
Продолжительность сеанса роли в секундах. Значение может быть от 900 секунд (15 минут) до 43200 секунд (12 часов).
Максимальное значение зависит от настроек ограничения времени сеансов для роли IAM.
По умолчанию значение равно 3600 секундам.
ec2_url
строка
URL для подключения к EC2 или облаку Eucalyptus (по умолчанию модуль будет использовать конечные точки EC2). Игнорируется для модулей, где регион обязателен. Должен быть указан для всех других модулей, если регион не используется. Если не задан, используется значение переменной окружения EC2_URL, если она есть.

псевдонимы: aws_endpoint_url, endpoint_url
external_id
строка
Уникальный идентификатор, используемый третьими сторонами для принятия роли в учетных записях своих клиентов.
mfa_serial_number
строка
Идентификационный номер устройства MFA, связанного с пользователем, производящим вызов AssumeRole.
mfa_token
строка
Значение, предоставленное устройством MFA, если политика доверия принимаемой роли требует MFA.
policy
строка
Дополнительная политика, используемая помимо политик принимаемой роли.
profile
строка
Использует профиль boto. Работает только с boto >= 2.24.0.
Использование profile переопределит aws_access_key, aws_secret_key и security_token, а поддержка их одновременного использования с profile устарела.
aws_access_key, aws_secret_key и security_token будут взаимоисключающими с profile после 2022-06-01.

псевдонимы: aws_profile
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 token. Если не задан, используется значение переменной окружения AWS_SECURITY_TOKEN или EC2_SECURITY_TOKEN.
Если задан параметр profile, этот параметр игнорируется.
Одновременное использование параметров security_token и profile устарело и будет сделано взаимоисключающим после 2022-06-01.

псевдонимы: aws_security_token, access_token
validate_certs
логическое значение
    Варианты:
  • нет
  • да ←
При значении "нет", SSL-сертификаты не будут проверяться для версий boto >= 2.6.0.

Примечания

Примечание

  • Для использования принятой роли в последующей задаче книги задач необходимо передать access_key, access_secret и access_token.
  • Если параметры не заданы в модуле, можно использовать следующие переменные окружения в порядке убывания приоритета AWS_URL или EC2_URL, AWS_PROFILE или AWS_DEFAULT_PROFILE, 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, AWS_CA_BUNDLE
  • 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)
- community.aws.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
- amazon.aws.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
логическое значение
всегда
True, если получение учетных данных успешно

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) и идентификатор принятой роли

Пример:
{'arn': 'ARO123EXAMPLE123:Bob', 'assumed_role_id': 'arn:aws:sts::123456789012:assumed-role/demo/Bob'}


Авторы

  • Boris Ekelchik (@bekelchik)
  • Marek Piatek (@piontas)

© 2012–2018 Michael DeHaan
© 2018–2021 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
https://docs.ansible.com/ansible/2.11/collections/community/aws/sts_assume_role_module.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API