Spec-Zone.ru › Ansible

Модуль amazon.aws.iam_role — управление ролями AWS IAM

Примечание

Этот модуль входит в коллекцию amazon.aws (версия 11.3.0).

Возможно, эта коллекция уже установлена, если вы используете пакет ansible. Она не входит в ansible-core. Чтобы проверить, установлена ли она, выполните ansible-galaxy collection list.

Для установки используйте: ansible-galaxy collection install amazon.aws. Для использования этого модуля требуются дополнительные компоненты; подробности см. в разделе Требования.

Чтобы использовать модуль в плейбуке, укажите: amazon.aws.iam_role.

Добавлено в community.aws 1.0.0

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

Краткое описание

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

Требования

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

  • python >= 3.6
  • boto3 >= 1.35.0
  • botocore >= 1.35.0

Параметры

Параметр

Комментарии

access_key

псевдонимы: aws_access_key_id, aws_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_ID или AWS_ACCESS_KEY в порядке убывания приоритета.

Параметры aws_access_key и profile являются взаимоисключающими.

Псевдоним aws_access_key_id добавлен в выпуске 5.1.0 для единообразия с AWS botocore SDK.

assume_role_policy_document

json

Документ политики доверительных отношений, предоставляющий субъекту разрешение принимать роль.

Этот параметр обязателен, если state=present.

aws_ca_bundle

path

Путь к пакету центров сертификации, используемому для проверки SSL-сертификатов.

Также можно использовать переменную среды AWS_CA_BUNDLE.

aws_config

dictionary

Словарь для изменения конфигурации botocore.

Список параметров см. в документации AWS: https://botocore.amazonaws.com/v1/documentation/api/latest/reference/config.html#botocore.config.Config.

boundary

псевдонимы: boundary_policy_arn

string

ARN управляемой политики IAM, ограничивающей разрешения, которые эта роль может передавать создаваемым ею ролям и пользователям IAM.

Границы разрешений нельзя задавать для профилей экземпляров, поэтому, если этот параметр указан, create_instance_profile должно быть равно false.

Этот параметр предназначен для ролей и пользователей, которым разрешено создавать объекты IAM.

Дополнительные сведения о границах разрешений см. по адресу https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_boundaries.html.

create_instance_profile

boolean

Если профиля экземпляра IAM с таким же name нет, значение create_instance_profile=True создаст профиль экземпляра IAM вместе с ролью.

Этот параметр устарел и будет удалён в одном из выпусков после 2026-05-01. Для управления профилями экземпляров можно использовать модуль amazon.aws.iam_instance_profile.

По умолчанию: True

Варианты:

  • false
  • true

debug_botocore_endpoint_logs

boolean

Использовать регистратор botocore.endpoint для разбора уникальных (а не общих) вызовов API "resource:action", выполненных во время задачи, и выводить их набор в ключ resource_actions результатов задачи. Используйте callback aws_resource_action, чтобы вывести общий список вызовов, выполненных в ходе плейбука.

Также можно использовать переменную среды ANSIBLE_DEBUG_BOTOCORE_LOGS.

Варианты:

  • false ← (по умолчанию)
  • true

delete_instance_profile

boolean

Если delete_instance_profile=true и state=absent, при удалении роли также будет удалён профиль экземпляра с таким же name, как у роли, но только если профиль экземпляра связан с этой ролью.

Применяется только при state=absent.

Этот параметр устарел и будет удалён в одном из выпусков после 2026-05-01. Для управления профилями экземпляров можно использовать модуль amazon.aws.iam_instance_profile.

По умолчанию: False

Варианты:

  • false
  • true

description

string

Описание роли.

endpoint_url

псевдонимы: aws_endpoint_url

string

URL для подключения вместо конечных точек AWS по умолчанию. Этот параметр можно использовать для подключения к другим сервисам, совместимым с AWS, однако коллекции amazon.aws и community.aws тестируются только с AWS.

Также можно использовать переменную среды AWS_URL.

managed_policies

псевдонимы: managed_policy

list / элементы=string

Список ARN управляемых политик или их понятных имен.

Чтобы удалить все политики, задайте purge_policies=true и managed_policies=[].

Чтобы встроить политику, используйте модуль amazon.aws.iam_policy.

max_session_duration

integer

Максимальная продолжительность сеанса (в секундах) при принятии роли.

Допустимые значения — от 1 до 12 часов (от 3600 до 43200 секунд).

name

псевдонимы: role_name

string / обязательный

Имя роли.

Примечание: имена ролей уникальны в пределах учетной записи. Пути (path) не влияют на требования уникальности для name. Например, в одной учетной записи нельзя создать одновременно /Path1/MyRole и /Path2/MyRole.

role_name добавлен как псевдоним в выпуске 7.2.0.

path

псевдонимы: prefix, path_prefix

string

Путь роли.

Дополнительные сведения о путях IAM см. в документации по идентификаторам AWS IAM: https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_identifiers.html.

Изменение пути существующей роли в настоящее время не поддерживается и приведёт к появлению предупреждения.

path_prefix и prefix добавлены как псевдонимы в выпуске 7.2.0.

profile

псевдонимы: aws_profile

string

Именованный профиль AWS для аутентификации.

Дополнительные сведения об именованных профилях см. в документации AWS: https://docs.aws.amazon.com/cli/latest/userguide/cli-configure-profiles.html.

Также можно использовать переменную среды AWS_PROFILE.

Параметр profile несовместим с параметрами aws_access_key, aws_secret_key и session_token.

purge_policies

псевдонимы: purge_policy, purge_managed_policies

boolean

Если purge_policies=true, все управляемые политики, не указанные в managed_policies, будут отсоединены.

Варианты:

  • false
  • true ← (по умолчанию)

purge_tags

boolean

Если purge_tags=true и задан tags, существующие теги ресурса будут удалены, чтобы набор тегов точно соответствовал указанному в параметре tags.

Если параметр tags не задан, теги не будут изменены, даже если purge_tags=True.

Ключи тегов, начинающиеся с aws:, зарезервированы Amazon и не могут быть изменены. Поэтому при обработке параметра purge_tags они игнорируются. Дополнительные сведения см. в документации Amazon: https://docs.aws.amazon.com/general/latest/gr/aws_tagging.html#tag-conventions.

Варианты:

  • false
  • true ← (по умолчанию)

region

псевдонимы: aws_region

string

Регион AWS для использования.

Для глобальных сервисов, таких как IAM, Route53 и CloudFront, значение region игнорируется.

Также можно использовать переменную среды AWS_REGION.

Дополнительные сведения см. в документации Amazon AWS: http://docs.aws.amazon.com/general/latest/gr/rande.html#ec2_region.

secret_key

псевдонимы: aws_secret_access_key, aws_secret_key

string

Секретный ключ доступа AWS.

Дополнительные сведения о токенах доступа см. в документации AWS: https://docs.aws.amazon.com/general/latest/gr/aws-sec-cred-types.html#access-keys-and-secret-access-keys.

Также можно использовать переменные среды AWS_SECRET_ACCESS_KEY или AWS_SECRET_KEY в порядке убывания приоритета.

Параметры secret_key и profile являются взаимоисключающими.

Псевдоним aws_secret_access_key добавлен в выпуске 5.1.0 для единообразия с AWS botocore SDK.

session_token

псевдонимы: aws_session_token

string

Токен сеанса AWS STS для использования с временными учетными данными.

Дополнительные сведения о токенах доступа см. в документации AWS: https://docs.aws.amazon.com/general/latest/gr/aws-sec-cred-types.html#access-keys-and-secret-access-keys.

Также можно использовать переменную среды AWS_SESSION_TOKEN.

Параметры session_token и profile являются взаимоисключающими.

state

string

Создать или удалить роль IAM.

Варианты:

  • "present" ← (по умолчанию)
  • "absent"

tags

псевдонимы: resource_tags

dictionary

Словарь, содержащий теги, которые нужно применить к ресурсу.

Если параметр tags не задан, теги не будут изменены.

validate_certs

boolean

Если задано значение false, SSL-сертификаты при обмене данными с API AWS проверяться не будут.

Настоятельно не рекомендуется устанавливать validate_certs=false; вместо этого рассмотрите возможность указать aws_ca_bundle.

Варианты:

  • false
  • true ← (по умолчанию)

wait

boolean

Если wait=True, модуль будет ожидать создания роли IAM не более wait_timeout секунд, прежде чем завершить работу.

Варианты:

  • false
  • true ← (по умолчанию)

wait_timeout

integer

Время ожидания завершения создания или обновления (в секундах).

По умолчанию: 120

Примечания

Примечание

  • Внимание: Для модулей переменные среды и файлы конфигурации считываются из контекста «узла» Ansible, а не из контекста «контроллера». Поэтому файлы может потребоваться явно скопировать на «узел». Для плагинов поиска и подключения переменные среды и файлы конфигурации считываются из контекста «контроллера» Ansible, а не из контекста «узла».
  • Используемый Ansible AWS SDK (boto3) также может считывать значения учетных данных и другие параметры по умолчанию, например регион, из файлов конфигурации в контексте «узла» Ansible (обычно ~/.aws/credentials). Дополнительные сведения см. по адресу https://boto3.amazonaws.com/v1/documentation/api/latest/guide/credentials.html.

Примеры

# Note: These examples do not set authentication details, see the AWS Guide for details.

- name: Create a role with description and tags
  amazon.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'"
  amazon.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
  amazon.aws.iam_role:
    name: mynewrole
    assume_role_policy_document: "{{ lookup('file','policy.json') }}"
    managed_policies: []

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

Возвращаемые значения

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

Ключ

Описание

iam_role

complex

Словарь с данными роли IAM.

Возвращается: при успешном выполнении

arn

string

Имя ресурса Amazon (ARN), идентифицирующее роль.

Возвращается: всегда

Пример: "arn:aws:iam::1234567890:role/mynewrole"

assume_role_policy_document

dictionary

Политика, предоставляющая субъекту разрешение принять роль.

Примечание: регистр ключей в этом словаре больше не преобразуется из CamelCase в snake_case. Это поведение изменилось в выпуске 8.0.0.

Возвращается: всегда

Пример: {"statement": [{"action": "sts:AssumeRole", "effect": "Allow", "principal": {"service": "ec2.amazonaws.com"}, "sid": ""}], "version": "2012-10-17"}

assume_role_policy_document_raw

dictionary

добавлено в amazon.aws 5.3.0

Примечание: это возвращаемое значение устарело и будет удалено в выпуске после 2026-05-01. iam_role.assume_role_policy_document и iam_role.assume_role_policy_document_raw теперь используют один и тот же формат.

Возвращается: всегда

Пример: {"statement": [{"action": "sts:AssumeRole", "effect": "Allow", "principal": {"service": "ec2.amazonaws.com"}, "sid": ""}], "version": "2012-10-17"}

attached_policies

list / элементы=dictionary

Список словарей с именами и ARN управляемых политик IAM, прикрепленных к роли.

Возвращается: всегда

Пример: [{"policy_arn": "arn:aws:iam::aws:policy/PowerUserAccess", "policy_name": "PowerUserAccess"}]

policy_arn

string

Имя ресурса Amazon (ARN), идентифицирующее управляемую политику.

Возвращается: при успешном выполнении

Пример: "arn:aws:iam::123456789012:policy/test_policy"

policy_name

string

Удобное имя, идентифицирующее политику.

Возвращается: при успешном выполнении

Пример: "test_policy"

create_date

string

Дата и время создания роли в формате даты и времени ISO 8601.

Возвращается: всегда

Пример: "2016-08-14T04:36:28+00:00"

description

string

Описание роли.

Возвращается: всегда

Пример: "This is My New Role"

max_session_duration

integer

Максимальная продолжительность сеанса (в секундах) при принятии роли.

Возвращается: всегда

Пример: 3600

path

string

Путь к роли.

Возвращается: всегда

Пример: "/"

role_id

string

Стабильная уникальная строка, идентифицирующая роль.

Возвращается: всегда

Пример: "ABCDEFF4EZ4ABCDEFV4ZC"

role_last_used

dictionary

Содержит сведения о последнем использовании роли IAM.

Возвращается: всегда

Пример: {"last_used_date": "2023-11-22T21:54:29+00:00", "region": "us-east-2"}

last_used_date

string

Дата и время последнего использования роли в формате даты и времени ISO 8601.

Возвращается: всегда

region

string

Название региона Amazon Web Services, в котором роль использовалась в последний раз.

Возвращается: всегда

role_name

string

Удобное имя, идентифицирующее роль.

Возвращается: всегда

Пример: "myrole"

tags

dictionary

Теги роли

Возвращается: всегда

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

Авторы

  • Rob White (@wimnat)

Ссылки на коллекцию

  • Отслеживание проблем
  • Репозиторий (исходный код)
  • Связь

© 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/iam_role_module.html

Spec-Zone.ru

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