Spec-Zone.ru › Ansible 2.5

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

Новая версия 2.0.

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

Обзор

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

Требования

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

  • python >= 2.6
  • boto

Параметры

Параметр Варианты/Значения по умолчанию Комментарии
access_key_ids
Список ключей, на которые должно повлиять значение параметра access_key_state.
access_key_state
    Варианты:
  • create
  • remove
  • active
  • inactive
Значение по умолчанию:
None
При type = user, создаёт, удаляет, деактивирует или активирует ключ(и) доступа пользователя. Обратите внимание, что действия применяются только к указанным ключам.
aws_access_key Значение по умолчанию:
None
Ключ доступа AWS. Если не задан, используется значение переменной окружения AWS_ACCESS_KEY_ID, AWS_ACCESS_KEY или EC2_ACCESS_KEY.

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

Псевдонимы: ec2_secret_key, secret_key
ec2_url Значение по умолчанию:
None
URL для подключения к EC2 или вашему облаку Eucalyptus (по умолчанию модуль использует конечные точки EC2). Игнорируется для модулей, где требуется регион. Должен быть указан для всех остальных модулей, если регион не используется. Если не задан, используется значение переменной окружения EC2_URL, если она задана.
groups Значение по умолчанию:
None
Список групп, к которым должен принадлежать пользователь. При обновлении удаляет группы, отсутствующие в списке.
iam_type
обязательно
    Варианты:
  • user
  • group
  • role
Значение по умолчанию:
None
Тип ресурса IAM
key_count Значение по умолчанию:
1
При access_key_state = create гарантирует наличие указанного количества ключей. По умолчанию 1.
name
обязательно
Имя ресурса IAM для создания или идентификации
new_name Значение по умолчанию:
None
При state = update заменяет имя ресурса IAM на new_name.
new_path Значение по умолчанию:
None
При state = update заменяет путь ресурса IAM на new_path.
password Значение по умолчанию:
None
При type = user и state присутствует, определяет пароль входа пользователя. Также работает с обновлением. Обратите внимание, что всегда возвращает изменённое значение.
path Значение по умолчанию:
/
При создании или обновлении укажите желаемый путь ресурса. Если state присутствует, он заменит текущий путь, чтобы соответствовать переданному значению.
profile
(добавлено в 1.6)
Значение по умолчанию:
None
Использует профиль 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
(добавлено в 1.6)
Значение по умолчанию:
None
Токен безопасности AWS STS. Если не задан, используется значение переменной окружения AWS_SECURITY_TOKEN или EC2_SECURITY_TOKEN.

Псевдонимы: access_token
state
обязательно
    Варианты:
  • present
  • absent
  • update
Значение по умолчанию:
None
Создать, удалить или обновить ресурс IAM. Обратите внимание, что роли не могут быть обновлены.
trust_policy
(добавлено в 2.2)
Значение по умолчанию:
None
Встроенный (JSON или YAML) документ политики доверия, предоставляющий сущности разрешение на допуск к роли. Взаимоисключающее с trust_policy_filepath.
trust_policy_filepath
(добавлено в 2.2)
Значение по умолчанию:
None
Путь к документу политики доверия, предоставляющему сущности разрешение на допуск к роли. Взаимоисключающее с trust_policy.
update_password
    Варианты:
  • всегда ←
  • при_создании
always обновит пароли, если они отличаются. on_create установит пароль только для вновь созданных пользователей.
validate_certs
(добавлено в 1.5)
    Варианты:
  • нет
  • да ←
При значении "нет" сертификаты 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), если данные для аутентификации не предоставлены. См. http://boto.readthedocs.org/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
  with_items:
    - 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
  with_items:
     - Mario
     - Luigi
  register: new_groups

- name:
  iam:
    iam_type: user
    name: jdavila
    state: update
    groups: "{{ item.created_group.group_name }}"
  with_items: "{{ 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=role и state=present
словарь IAM.role, возвращаемый Boto

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

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


Статус

Этот модуль помечен как stableinterface, что означает, что разработчики этого модуля гарантируют отсутствие несовместимых изменений интерфейса.

Автор

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

Spec-Zone.ru

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