Spec-Zone.ru › Ansible 2.10

community.aws.iam – Управление пользователями, группами, ролями и ключами IAM

Примечание

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

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

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

Новое в версии 1.0.0: модуля community.aws

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

Обзор

  • Позволяет управлять пользователями IAM, API-ключами пользователей, группами и ролями.

Требования

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

  • python >= 2.6
  • boto

Параметры

Параметр Варианты/Значения по умолчанию Комментарии
access_key_ids
список / элементы=строка
Список ключей, на которые должно повлиять параметр access_key_state.
access_key_state
строка
    Варианты:
  • create
  • remove
  • active
  • inactive
  • Create
  • Remove
  • Active
  • Inactive
При type=user создаёт, удаляет, деактивирует или активирует ключ(и) доступа пользователя. Обратите внимание, что действия применяются только к указанным ключам.
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'. См. http://boto.cloudhackers.com/en/latest/boto_config_tut.html#boto для получения дополнительной информации о конфигурации 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
логический тип
    Варианты:
  • нет ←
  • да
Используйте logger botocore.endpoint для анализа уникальных (а не общих) API-вызовов "ресурс:действие", выполненных во время задачи, выводя набор в ключ resource_actions в результатах задачи. Используйте callback aws_resource_action для вывода в общий список, созданный во время книги задач. Также может использоваться переменная среды ANSIBLE_DEBUG_BOTOCORE_LOGS.
ec2_url
строка
URL для подключения к EC2 или облаку Eucalyptus (по умолчанию модуль использует адреса EC2). Игнорируется для модулей, где требуется регион. Должен быть указан для всех других модулей, если регион не используется. Если не задан, используется значение переменной среды EC2_URL, если таковая имеется.

псевдонимы: aws_endpoint_url, endpoint_url
groups
список / элементы=строка
Список групп, к которым должен принадлежать пользователь. При state=update, корректно удалит группы, не указанные в списке.
iam_type
строка / обязательно
    Варианты:
  • user
  • group
  • role
Тип ресурса IAM.
key_count
целое число
Значение по умолчанию:
1
При access_key_state=create гарантирует наличие указанного количества ключей.
name
строка / обязательно
Имя ресурса IAM для создания или идентификации.
new_name
строка
При state=update заменит name на new_name для ресурса IAM.
new_path
строка
При state=update заменит путь на new_path для ресурса IAM.
password
строка
При type=user и state=present или state=update, определите пароль пользователя для входа.
Примечание: всегда возвращает 'changed'.
path
строка
Значение по умолчанию:
"/"
При создании или обновлении укажите желаемый путь к ресурсу.
Если state=present, заменит текущий путь на указанный, если они не совпадают.
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
security_token
строка
AWS STS security token. Если не задан, используется значение переменной среды AWS_SECURITY_TOKEN или EC2_SECURITY_TOKEN.
Если задан параметр profile, этот параметр игнорируется.
Одновременное использование параметров security_token и profile устарело и будет сделано взаимоисключающим после 2022-06-01.

псевдонимы: aws_security_token, access_token
state
строка / обязательно
    Варианты:
  • present
  • absent
  • update
Создание, удаление или обновление ресурса IAM. Обратите внимание, что роли не могут быть обновлены.
trust_policy
словарь
Встроенный (JSON или YAML) документ политики доверия, предоставляющий разрешение сущности на доверие роли.
Взаимоисключающий с trust_policy_filepath.
trust_policy_filepath
строка
Путь к документу политики доверия, предоставляющему разрешение сущности на доверие роли.
Взаимоисключающий с trust_policy.
update_password
строка
    Варианты:
  • всегда ←
  • при_создании
Когда нужно обновить пароль пользователя.
update_password=всегда гарантирует, что пароль установлен в password.
update_password=при_создании установит пароль только для новых пользователей.
validate_certs
логический тип
    Варианты:
  • нет
  • да ←
При установке в "нет", SSL-сертификаты не будут проверяться для версий boto >= 2.6.0.

Примечания

Примечание

  • В настоящее время boto не поддерживает удаление управляемых политик, модуль выдаст ошибку, если у пользователя/группы/роли есть управляемые политики при попытке установить state=absent. Их необходимо удалить вручную.
  • Если параметры не заданы в модуле, могут быть использованы следующие переменные среды в порядке убывания приоритета 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

Примеры

# Basic user creation example
- name: Create two new IAM users with API keys
  community.aws.iam:
    iam_type: user
    name: "{{ item }}"
    state: present
    password: "{{ temp_pass }}"
    access_key_state: create
  loop:
    - jcleese
    - mpython

# Advanced example, create two new groups and add the pre-existing user
# jdavila to both groups.
- name: Create Two Groups, Mario and Luigi
  community.aws.iam:
    iam_type: group
    name: "{{ item }}"
    state: present
  loop:
     - Mario
     - Luigi
  register: new_groups

- name: Update user
  community.aws.iam:
    iam_type: user
    name: jdavila
    state: update
    groups: "{{ item.created_group.group_name }}"
  loop: "{{ new_groups.results }}"

# Example of role with custom trust policy for Lambda service
- name: Create IAM role with custom trust relationship
  community.aws.iam:
    iam_type: role
    name: AAALambdaTestRole
    state: present
    trust_policy:
      Version: '2012-10-17'
      Statement:
      - Action: sts:AssumeRole
        Effect: Allow
        Principal:
          Service: lambda.amazonaws.com

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

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

Ключ Возвращаемое значение Описание
role_result
строка
если iam_type=role и state=present
словарь IAM.role, возвращаемый Boto

Пример:
{'arn': 'arn:aws:iam::A1B2C3D4E5F6:role/my-new-role', 'assume_role_policy_document': '...усечено...', 'create_date': '2017-09-02T14:32:23Z', 'path': '/', 'role_id': 'AROAA1B2C3D4E5F6G7H8I', 'role_name': 'my-new-role'}
roles
список / элементы=строка
если iam_type=role и state=present
список, содержащий имена текущих ролей

Пример:
['my-new-role', 'my-existing-role-1', 'my-existing-role-2', 'my-existing-role-3', 'my-existing-role-...']


Авторы

  • Jonathan I. Davila (@defionscode)
  • Paul Seiffert (@seiffert)

© 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_module.html

Spec-Zone.ru

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