Spec-Zone.ru › Ansible 2.11

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 Bundle) для проверки 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:action", выполняемых во время задачи, выводя список в ключ 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 Role

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–2021 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
https://docs.ansible.com/ansible/2.11/collections/community/aws/iam_role_module.html

Spec-Zone.ru

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