Spec-Zone.ru › Ansible 2.11

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

Примечание

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

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

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

Новое в версии 1.0.0: of 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
При типе пользователя, создаёт, удаляет, деактивирует или активирует ключи доступа пользователя. Действия применяются только к указанным ключам.
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 Bundle читается со стороны модуля и может потребоваться явное копирование с контроллера, если выполнение не происходит локально.
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_actions результатов задачи. Используйте обратный вызов 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, задаётся пароль пользователя для входа.
Обратите внимание, что всегда будет возвращаться «изменено».
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. Если не задан, используется значение переменной окружения 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=роль и 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=роль и 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–2021 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
https://docs.ansible.com/ansible/2.11/collections/community/aws/iam_module.html

Spec-Zone.ru

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