Spec-Zone.ru › Ansible 2.9

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

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

Описание

  • Позволяет управлять пользователями 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, создаёт, удаляет, деактивирует или активирует API-ключи пользователя. Действия применяются только к указанным ключам.
aws_access_key
строка
Ключ доступа AWS. Если не задан, используется значение переменной окружения AWS_ACCESS_KEY_ID, AWS_ACCESS_KEY или EC2_ACCESS_KEY.

Псевдонимы: ec2_access_key, access_key
aws_secret_key
строка
Секретный ключ AWS. Если не задан, используется значение переменной окружения AWS_SECRET_ACCESS_KEY, AWS_SECRET_KEY или EC2_SECRET_KEY.

Псевдонимы: ec2_secret_key, secret_key
debug_botocore_endpoint_logs
логический
добавлен в 2.8
    Варианты:
  • нет ←
  • да
Использует логирование botocore.endpoint для анализа уникальных (а не общих) API-вызовов «ресурс:действие» во время задачи, выводя набор в ключ resource_actions в результатах задачи. Используйте callback aws_resource_action для вывода в полный список, созданный во время выполнения playbook. Также может быть использована переменная окружения ANSIBLE_DEBUG_BOTOCORE_LOGS.
ec2_url
строка
URL для подключения к EC2 или вашему облаку Eucalyptus (по умолчанию используется конечная точка EC2). Игнорируется для модулей, где требуется регион. Должен быть указан для всех остальных модулей, если регион не используется. Если не задан, используется значение переменной окружения EC2_URL, если таковая есть.
groups
список
Список групп, к которым должен принадлежать пользователь. При обновлении группы, которые не указаны, будут удалены.
iam_type
строка
    Варианты:
  • пользователь
  • группа
  • роль
Тип ресурса IAM.
key_count
целое число
По умолчанию:
1
Когда access_key_state = create, гарантируется наличие этого количества ключей. По умолчанию 1.
name
строка / обязательно
Имя ресурса IAM для создания или идентификации.
new_name
строка
При state = update, имя ресурса IAM будет заменено на new_name.
new_path
строка
При state = update, путь к ресурсу IAM будет заменён на new_path.
password
строка
При type = user и state = present, задаёт пароль пользователя для входа. Также работает с update. Заметка: всегда возвращает изменённое значение.
path
строка
По умолчанию:
"/"
При создании или обновлении укажите желаемый путь к ресурсу. Если state задан, текущий путь будет изменён, чтобы соответствовать переданному значению.
profile
строка
Использует профиль boto. Работает только с boto >= 2.24.0.
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.

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

Примечания

Примечание

  • В настоящее время boto не поддерживает удаление управляемых политик. Модуль выдаст ошибку, если у пользователя/группы/роли есть управляемые политики при попытке установить state=absent. Их необходимо удалить вручную.
  • Если параметры не заданы в модуле, можно использовать следующие переменные окружения в порядке убывания приоритета AWS_URL или EC2_URL, 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
  • Ansible использует конфигурационный файл boto (обычно ~/.boto), если учётные данные не указаны. См. https://boto.readthedocs.io/en/latest/boto_config_tut.html
  • AWS_REGION или EC2_REGION обычно используются для указания AWS региона, когда это требуется, но это также можно настроить в конфигурационном файле boto

Примеры

# Basic user creation example
tasks:
- name: Create two new IAM users with API keys
  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.
task:
- name: Create Two Groups, Mario and Luigi
  iam:
    iam_type: group
    name: "{{ item }}"
    state: present
  loop:
     - Mario
     - Luigi
  register: new_groups

- name:
  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
  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-...']


Статус

  • Этот модуль гарантирует обратную совместимость интерфейсных изменений в будущем. [stableinterface]
  • Этот модуль поддерживается сообществом Ansible. [community]

Авторы

  • 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.9/modules/iam_module.html

Spec-Zone.ru

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