Spec-Zone.ru › Ansible 2.8

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
string
AWS ключ доступа. Если не задан, используется значение переменной окружения AWS_ACCESS_KEY_ID, AWS_ACCESS_KEY или EC2_ACCESS_KEY.

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

Псевдонимы: ec2_secret_key, secret_key
debug_botocore_endpoint_logs
boolean
добавлено в 2.8
    Варианты:
  • нет ←
  • да
Использует логирование botocore.endpoint для анализа уникальных (а не общих) API-вызовов «ресурс:действие» во время задачи, выводя набор в ключ resource_actions результатов задачи. Используйте обратный вызов aws_resource_action для вывода полного списка, сделанного во время выполнения playbook. Также может использоваться переменная окружения ANSIBLE_DEBUG_BOTOCORE_LOGS.
ec2_url
string
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, задаёт пароль пользователя. Также работает с обновлением. Обратите внимание, что всегда возвращает изменённое значение.
path
-
По умолчанию:
"/"
При создании или обновлении укажите желаемый путь к ресурсу. Если state задан, он заменит текущий путь, если они не совпадают.
profile
string
Использует профиль boto. Работает только с boto >= 2.24.0.
region
string
AWS регион для использования. Если не указан, используется значение переменной окружения AWS_REGION или EC2_REGION, если таковое есть. См. http://docs.aws.amazon.com/general/latest/gr/rande.html#ec2_region

Псевдонимы: aws_region, ec2_region
security_token
string
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
    Варианты:
  • нет
  • да ←
При значении "нет", сертификаты 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=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. [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.8/modules/iam_module.html

Spec-Zone.ru

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