Spec-Zone.ru › Ansible

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

Примечание

Этот модуль входит в коллекцию community.general (версия 9.5.0).

У вас, возможно, уже установлена эта коллекция, если вы используете пакет ansible. Она не включена в ansible-core. Чтобы проверить установку, выполните ansible-galaxy collection list.

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

Чтобы использовать его в книге задач, укажите: community.general.keycloak_group.

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

Обзор

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

Параметры

Параметр

Комментарии

attributes

словарь

Словарь пар ключ-значение для установки пользовательских атрибутов группы.

Значения могут быть одиночными (например, строкой) или списком строк.

auth_client_id

строка

Используемый для аутентификации на API токен OpenID Connect.

По умолчанию: "admin-cli"

auth_client_secret

строка

Секрет клиента для использования совместно с auth_client_id (при необходимости).

auth_keycloak_url

псевдонимы: url

строка / обязательно

URL-адрес экземпляра Keycloak.

auth_password

псевдонимы: password

строка

Пароль для аутентификации с API.

auth_realm

строка

Имя области Keycloak для аутентификации с API.

auth_username

псевдонимы: username

строка

Имя пользователя для аутентификации с API.

connection_timeout

целое число

добавлен в community.general 4.5.0

Управляет временем ожидания HTTP-соединений (в секундах) с API Keycloak.

По умолчанию: 10

... ...
END_OF_DOCUMENT_MARKER

Атрибуты

Атрибут

Поддержка

Описание

check_mode

Поддержка: полная

Может работать в режиме check_mode и возвращать прогноз изменения статуса без изменения целевого объекта.

diff_mode

Поддержка: полная

Вернёт подробности о том, что изменилось (или, возможно, должно измениться в check_mode), при работе в режиме сравнения.

Примечания

Примечание

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

Примеры

- name: Create a Keycloak group, authentication with credentials
  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
  register: result_new_kcgrp
  delegate_to: localhost

- name: Create a Keycloak group, authentication with token
  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
    token: TOKEN
  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

- name: Create a Keycloak subgroup of a base group (using parent name)
  community.general.keycloak_group:
    name: my-new-kc-group-sub
    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
    parents:
      - name: my-new-kc-group
  register: result_new_kcgrp_sub
  delegate_to: localhost

- name: Create a Keycloak subgroup of a base group (using parent id)
  community.general.keycloak_group:
    name: my-new-kc-group-sub2
    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
    parents:
      - id: "{{ result_new_kcgrp.end_state.id }}"
  delegate_to: localhost

- name: Create a Keycloak subgroup of a subgroup (using parent names)
  community.general.keycloak_group:
    name: my-new-kc-group-sub-sub
    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
    parents:
      - name: my-new-kc-group
      - name: my-new-kc-group-sub
  delegate_to: localhost

- name: Create a Keycloak subgroup of a subgroup (using direct parent id)
  community.general.keycloak_group:
    name: my-new-kc-group-sub-sub
    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
    parents:
      - id: "{{ result_new_kcgrp_sub.end_state.id }}"
  delegate_to: localhost

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

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

Ключ

Описание

end_state

сложный

Представление группы после выполнения модуля (образец усечен).

Возвращается: при успехе

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

список / элементы=строка

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

Возвращается: всегда

msg

строка

Сообщение о том, какое действие было выполнено.

Возвращается: всегда

Авторы

  • Adam Goossens (@adamgoossens)

Ссылки на сборку

  • Отслеживание ошибок
  • Репозиторий (исходный код)
  • Задать вопрос
  • Отправить отчет об ошибке
  • Запросить новую функцию
  • Общение

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

Spec-Zone.ru

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