Spec-Zone.ru › Ansible 2.6

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

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

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

Обзор

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

Требования

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

  • python >= 2.6
  • boto

Параметры

Параметр Варианты/Значения по умолчанию Комментарии
access_key_ids
Список ключей, на которые будет влиять параметр access_key_state.
access_key_state
    Варианты:
  • create
  • remove
  • active
  • inactive
При type=user, создает, удаляет, деактивирует или активирует ключ(и) доступа пользователя. Обратите внимание, что действия применяются только к указанным ключам.
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
ec2_url
URL для подключения к EC2 или облаку Eucalyptus (по умолчанию модуль использует адреса EC2). Игнорируется для модулей, где требуется регион. Должен быть указан для всех остальных модулей, если не используется регион. Если не задан, используется значение переменной окружения EC2_URL (если она есть).
groups
Список групп, к которым должен принадлежать пользователь. При обновлении группы, не указанные в списке, будут удалены.
iam_type
    Варианты:
  • user
  • group
  • role
Тип ресурса 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, задает пароль пользователя для входа. Также работает с обновлением. Обратите внимание, что всегда возвращается изменённое значение.
path По умолчанию:
"/"
При создании или обновлении, укажите желаемый путь к ресурсу. Если state задан, он заменит текущий путь на указанный, если они не совпадают.
profile
(добавлено в 1.6)
Использует профиль 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)
Токен безопасности AWS STS. Если не задан, используется значение переменной окружения AWS_SECURITY_TOKEN или EC2_SECURITY_TOKEN.

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

(добавлено в 1.5)
    Варианты:
  • no
  • yes ←
При значении "no", сертификаты 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

Пример:
{'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-...']


Статус

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

Техническое обслуживание

Этот модуль помечен как certified, что означает, что он поддерживается партнером Ansible.

Более подробная информация о поддержке модулей представлена здесь.

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

Автор

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

Spec-Zone.ru

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