Spec-Zone.ru › Ansible 2.10

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

Примечание

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

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

Для использования в playbook укажите: 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–2019 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
https://docs.ansible.com/ansible/2.10/collections/community/general/keycloak_group_module.html

Spec-Zone.ru

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