Spec-Zone.ru › Ansible 2.7

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

Псевдонимы: ec2_access_key, access_key
aws_secret_key
-
AWS secret key. Если не задано, используется значение переменной окружения 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 задаётся пароль пользователя. Также работает с update. Примечание: всегда возвращается изменённое значение.
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 security token. Если не задано, используется значение переменной окружения 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 установит пароль только для вновь созданных пользователей.
validate_certs
boolean
добавлено в 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), если учетные данные не предоставлены. См. 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
  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]
  • Этот модуль поддерживается партнёром Ansible. [certified]

Авторы

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

Spec-Zone.ru

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