Spec-Zone.ru › Ansible 2.8

keycloak_group – Позволяет администрировать группы Keycloak через API Keycloak

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

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

Обзор

  • Этот модуль позволяет добавлять, удалять или изменять группы Keycloak через REST API Keycloak. Он требует доступа к REST API через OpenID Connect; пользователь, подключающийся, и используемый клиент должны иметь необходимые права доступа. В стандартной установке Keycloak admin-cli и администраторский пользователь будут работать, как и отдельное определение клиента с настройкой области действия, соответствующей вашим потребностям, и пользователем, имеющим соответствующие роли.
  • Имена опций модуля — это snake_case-версии camelCase-имен, которые можно найти в API Keycloak и его документации по адресу http://www.keycloak.org/docs-api/3.3/rest-api/.
  • Атрибуты являются многозначными в API Keycloak. Все атрибуты являются списками отдельных значений и будут возвращаться таким образом этим модулем. Вы можете передавать одиночные значения для атрибутов при вызове модуля, и это будет преобразовано в список, подходящий для API.
  • При обновлении группы, если это возможно, предоставьте идентификатор группы модулю. Это устраняет поиск в API для преобразования имени в идентификатор группы.

Параметры

Параметр Варианты/Значения по умолчанию Комментарии
attributes
словарь
Словарь пар «ключ-значение» для установки пользовательских атрибутов для группы.
Значения могут быть одиночными значениями (например, строкой) или списком строк.
auth_client_id
строка / обязательно
По умолчанию:
"admin-cli"
OpenID Connect client_id для аутентификации в API.
auth_client_secret
строка
Секретный ключ клиента для использования в сочетании с auth_client_id (если требуется).
auth_keycloak_url
строка / обязательно
URL-адрес экземпляра Keycloak.

алиасы: url
auth_password
строка / обязательно
Пароль для аутентификации для доступа к API.

алиасы: password
auth_realm
строка / обязательно
Имя области Keycloak для аутентификации для доступа к API.
auth_username
строка / обязательно
Имя пользователя для аутентификации для доступа к API.

алиасы: username
id
строка
Уникальный идентификатор этой группы.
Этот параметр не требуется для обновления или удаления группы, но его предоставление уменьшит количество вызовов API.
name
строка
Имя группы.
Этот параметр требуется только при создании или обновлении группы.
realm
строка
По умолчанию:
"master"
Область Keycloak, в которой находится эта группа.
state
строка / обязательно
    Варианты:
  • present ←
  • absent
Состояние группы.
В present, группа будет создана, если она еще не существует, или обновлена с предоставленными параметрами.
В absent, группа будет удалена, если она существует.
validate_certs
логическое
    Варианты:
  • no
  • yes ←
Проверять сертификаты TLS (не отключайте это в рабочей среде).

Примечания

Примечание

  • В настоящее время атрибуты realmRoles, clientRoles и access, возвращаемые API Keycloak, являются только для чтения для групп. Это ограничение будет устранено в будущей версии модуля.

Примеры

- name: Create a Keycloak group
  keycloak_group:
    name: my-new-kc-group
    realm: MyCustomRealm
    state: present
    auth_client_id: admin-cli
    auth_keycloak_url: https://auth.example.com/auth
    auth_realm: master
    auth_username: USERNAME
    auth_password: PASSWORD
  delegate_to: localhost

- name: Delete a keycloak group
  keycloak_group:
    id: '9d59aa76-2755-48c6-b1af-beb70a82c3cd'
    state: absent
    realm: MyCustomRealm
    auth_client_id: admin-cli
    auth_keycloak_url: https://auth.example.com/auth
    auth_realm: master
    auth_username: USERNAME
    auth_password: PASSWORD
  delegate_to: localhost

- name: Delete a Keycloak group based on name
  keycloak_group:
    name: my-group-for-deletion
    state: absent
    auth_client_id: admin-cli
    auth_keycloak_url: https://auth.example.com/auth
    auth_realm: master
    auth_username: USERNAME
    auth_password: PASSWORD
  delegate_to: localhost

- name: Update the name of a Keycloak group
  keycloak_group:
    id: '9d59aa76-2755-48c6-b1af-beb70a82c3cd'
    name: an-updated-kc-group-name
    state: present
    auth_client_id: admin-cli
    auth_keycloak_url: https://auth.example.com/auth
    auth_realm: master
    auth_username: USERNAME
    auth_password: PASSWORD
  delegate_to: localhost

- name: Create a keycloak group with some custom attributes
  keycloak_group:
    auth_client_id: admin-cli
    auth_keycloak_url: https://auth.example.com/auth
    auth_realm: master
    auth_username: USERNAME
    auth_password: PASSWORD
    name: my-new_group
    attributes:
        attrib1: value1
        attrib2: value2
        attrib3:
            - with
            - numerous
            - individual
            - list
            - items
  delegate_to: localhost

Возвращаемые значения

Общие возвращаемые значения описаны здесь, следующие поля уникальны для этого модуля:

Ключ Возвращаемое значение Описание
group
сложный тип
всегда
Представление группы после выполнения модуля (образец усечен).

access
словарь
всегда
Словарь, описывающий доступ, которым вы обладаете к этой группе на основе используемых учетных данных.

Пример:
{'manage': True, 'manageMembership': True, 'view': True}
attributes
словарь
всегда
Примененные к этой группе атрибуты

Пример:
{'attr1': ['val1', 'val2', 'val3']}
clientRoles
список
всегда
Список ролей на уровне клиента, предоставленных этой группе

id
строка
всегда
GUID, идентифицирующий группу

Пример:
23f38145-3195-462c-97e7-97041ccea73e
name
строка
всегда
Имя группы

Пример:
grp-test-123
path
строка
всегда
URI-путь к группе

Пример:
/grp-test-123
realmRoles
список
всегда
Массив ролей на уровне области, предоставленных этой группе

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



Статус

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

Авторы

  • Adam Goossens (@adamgoossens)

Подсказка

Если вы заметите какие-либо проблемы в этой документации, вы можете изменить этот документ, чтобы улучшить его.

© 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/keycloak_group_module.html

Spec-Zone.ru

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