Spec-Zone.ru › Ansible 2.10

community.aws.iam_role – Управление ролями AWS IAM

Примечание

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

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

Для использования в книге задач укажите: community.aws.iam_role.

Новое в версии 1.0.0: от community.aws

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

Описание

  • Управление ролями AWS IAM.

Требования

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

  • boto
  • boto3
  • botocore
  • python >= 2.6

Параметры

Параметр Варианты/Значения по умолчанию Комментарии
assume_role_policy_document
json
Документ политики доверия, предоставляющий сущности разрешение на принятие роли.
Этот параметр обязателен, когда state=present.
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
путь
Расположение файла сертификатов CA для проверки SSL-сертификатов.
Используется только для модулей, основанных на boto3.
Примечание: Файл сертификатов CA читается на стороне модуля и может потребоваться явное копирование с контроллера, если модуль не выполняется локально.
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
boundary
строка
ARN управляемой политики IAM, используемой для ограничения разрешений, которые эта роль может передавать ролям/пользователям IAM, которые она создает.
Границы не могут быть установлены для профилей экземпляров, поэтому если этот параметр задан, то create_instance_profile должен быть false.
Это предназначено для ролей/пользователей, имеющих разрешения на создание новых объектов IAM.
Дополнительную информацию о границах см. по адресу https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_boundaries.html.
Требуется botocore 1.10.57 или выше.

псевдонимы: boundary_policy_arn
create_instance_profile
логическое
    Варианты:
  • нет
  • да ←
Создает профиль экземпляра IAM вместе с ролью.
debug_botocore_endpoint_logs
логическое
    Варианты:
  • нет ←
  • да
Используйте журнализатор botocore.endpoint для анализа уникальных (а не общих) вызовов API «ресурс:действие» во время задачи, выводя набор в ключ resource_actions результатов задачи. Используйте обратный вызов aws_resource_action для вывода полного списка, созданного во время выполнения книги задач. Также можно использовать переменную среды ANSIBLE_DEBUG_BOTOCORE_LOGS.
delete_instance_profile
логическое
    Варианты:
  • нет ←
  • да
При delete_instance_profile=true и state=absent удаление роли также удалит профиль экземпляра, созданный с тем же name, что и роль.
Применимо только при state=absent.
description
строка
Предоставляет описание роли.
ec2_url
строка
URL для подключения к EC2 или вашему облаку Eucalyptus (по умолчанию модуль будет использовать конечные точки EC2). Игнорируется для модулей, где регион требуется. Должен быть указан для всех других модулей, если регион не используется. Если не задан, используется значение переменной окружения EC2_URL, если она задана.

псевдонимы: aws_endpoint_url, endpoint_url
managed_policies
список / элементы=строка
Список ARN управляемых политик или, начиная с Ansible 2.4, список управляемых политик ARN или дружественных имен.
Для удаления всех политик установите purge_polices=true и managed_policies=[None].
Для встраивания встроенной политики используйте community.aws.iam_policy.

псевдонимы: managed_policy
max_session_duration
целое число
Максимальная продолжительность (в секундах) сеанса при принятии роли.
Допустимые значения находятся в диапазоне от 1 до 12 часов (3600 и 43200 секунд).
name
строка / обязательный
Имя создаваемой роли.
path
строка
По умолчанию:
"/"
Путь к роли. Дополнительную информацию о путях см. по адресу https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_identifiers.html.
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
purge_policies
логическое
    Варианты:
  • нет
  • да
Если purge_policies=true, все управляемые политики, не перечисленные в managed_policies, будут откреплены.
По умолчанию purge_policies=true. В Ansible 2.14 это будет изменено на purge_policies=false.

псевдонимы: purge_policy, purge_managed_policies
purge_tags
логическое
    Варианты:
  • нет
  • да ←
Удаляет метки, не перечисленные в tags, когда tags задано.
region
строка
Регион AWS. Если не указан, используется значение переменной окружения AWS_REGION или EC2_REGION, если она задана. См. http://docs.aws.amazon.com/general/latest/gr/rande.html#ec2_region

псевдонимы: aws_region, ec2_region
security_token
строка
Токен безопасности AWS STS. Если не задан, используется значение переменной окружения AWS_SECURITY_TOKEN или EC2_SECURITY_TOKEN.
Если задан параметр profile, этот параметр игнорируется.
Одновременное указание параметров security_token и profile устарело и будет считаться несовместимым после 2022-06-01.

псевдонимы: aws_security_token, access_token
state
строка
    Варианты:
  • present ←
  • absent
Создание или удаление роли IAM.
tags
словарь
Словарь меток для применения к очереди.
Требуется botocore 1.12.46 или выше.
validate_certs
логическое
    Варианты:
  • нет
  • да ←
Если установлено значение "нет", SSL-сертификаты не будут проверяться для версий boto >= 2.6.0.

Примечания

Примечание

  • Если параметры не заданы в модуле, можно использовать следующие переменные окружения в порядке убывания приоритета 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.

- name: Create a role with description and tags
  community.aws.iam_role:
    name: mynewrole
    assume_role_policy_document: "{{ lookup('file','policy.json') }}"
    description: This is My New Role
    tags:
      env: dev

- name: "Create a role and attach a managed policy called 'PowerUserAccess'"
  community.aws.iam_role:
    name: mynewrole
    assume_role_policy_document: "{{ lookup('file','policy.json') }}"
    managed_policies:
      - arn:aws:iam::aws:policy/PowerUserAccess

- name: Keep the role created above but remove all managed policies
  community.aws.iam_role:
    name: mynewrole
    assume_role_policy_document: "{{ lookup('file','policy.json') }}"
    managed_policies: []

- name: Delete the role
  community.aws.iam_role:
    name: mynewrole
    assume_role_policy_document: "{{ lookup('file', 'policy.json') }}"
    state: absent

Значения возврата

Общие значения возврата документированы здесь, следующие поля уникальны для этого модуля:

Ключ Возвращаемое значение Описание
iam_role
сложный
успех
словарь, содержащий данные IAM роли

arn
строка
всегда
Amazon Resource Name (ARN), определяющий роль

Пример:
arn:aws:iam::1234567890:role/mynewrole
assume_role_policy_document
строка
всегда
политика, предоставляющая субъекту разрешение на принятие роли

Пример:
{'statement': [{'action': 'sts:AssumeRole', 'effect': 'Allow', 'principal': {'service': 'ec2.amazonaws.com'}, 'sid': ''}], 'version': '2012-10-17'}
attached_policies
список / элементы=строка
всегда
список словарей, содержащих имя и ARN управляемых IAM политик, прикрепленных к роли

Пример:
[{'policy_arn': 'arn:aws:iam::aws:policy/PowerUserAccess', 'policy_name': 'PowerUserAccess'}]
create_date
строка
всегда
дата и время создания роли в формате ISO 8601

Пример:
2016-08-14T04:36:28+00:00
path
строка
всегда
путь к роли

Пример:
/
role_id
строка
всегда
уникальная и постоянная строка, идентифицирующая роль

Пример:
ABCDEFF4EZ4ABCDEFV4ZC
role_name
строка
всегда
название роли для удобства идентификации

Пример:
myrole
tags
словарь
всегда
теги роли

Пример:
{"Env": "Prod"}


Авторы

  • Rob White (@wimnat)

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

Spec-Zone.ru

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