Spec-Zone.ru › Ansible 2.11

community.general.keycloak_group – Разрешает администрирование групп Keycloak через API Keycloak

Примечание

Этот плагин является частью коллекции community.general (версия 2.0.1).

Для его установки используйте: ansible-galaxy collection install community.general.

Для использования в плейбуке укажите: community.general.keycloak_group.

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

Обзор

  • Этот модуль позволяет добавлять, удалять или изменять группы Keycloak через REST API Keycloak. Он требует доступа к REST API через OpenID Connect; пользователь, подключающийся, и используемый клиент должны иметь необходимые права доступа. В стандартной установке Keycloak admin-cli и административный пользователь будут работать, а также отдельное определение клиента со scope, настроенным под ваши потребности, и пользователем с ожидаемыми ролями.
  • Имена параметров записываются в snake_case, соответствуя camelCase, используемому в API Keycloak и его документации по адресу https://www.keycloak.org/docs-api/8.0/rest-api/index.html.
  • Атрибуты являются многозначными в 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
  community.general.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
  community.general.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
  community.general.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
  community.general.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
  community.general.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
список / элементы=строка
всегда
Список групп, являющихся дочерними для этой группы. Эти группы будут иметь те же параметры, что и документированные здесь.



Авторы

  • Adam Goossens (@adamgoossens)

© 2012–2018 Michael DeHaan
© 2018–2021 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
https://docs.ansible.com/ansible/2.11/collections/community/general/keycloak_group_module.html

Spec-Zone.ru

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