community.general.keycloak_role модуль — Разрешает администрирование ролей Keycloak через API Keycloak
Примечание
Этот модуль входит в коллекцию community.general (версия 9.5.0).
У вас, возможно, эта коллекция уже установлена, если вы используете пакет ansible. Она не включена в ansible-core. Чтобы проверить установку, выполните ansible-galaxy collection list.
Для установки используйте: ansible-galaxy collection install community.general.
Чтобы использовать его в книге задач, укажите: community.general.keycloak_role.
Добавлена в community.general 3.4.0
Обзор
- Этот модуль позволяет добавлять, удалять или изменять роли Keycloak через REST API Keycloak. Он требует доступа к REST API через OpenID Connect; пользователь, подключающийся и используемый клиент должны иметь необходимые права доступа. В стандартной установке Keycloak admin-cli и административный пользователь будут работать, как и отдельное определение клиента со соответствующим scope и пользователем с ожидаемыми ролями.
- Имена параметров модуля — snake_cased версии camelCase, которые встречаются в API Keycloak и его документации по адресу https://www.keycloak.org/docs-api/8.0/rest-api/index.html.
- Атрибуты в API Keycloak многозначные. Все атрибуты — списки отдельных значений, и именно так они будут возвращаться этим модулем. При вызове модуля вы можете передавать отдельные значения для атрибутов, и это будет преобразовано в список, подходящий для API.
Параметры
Параметр | Комментарии |
|---|---|
attributes словарь | Словарь пар «ключ-значение» для задания пользовательских атрибутов роли. Значения могут быть одиночными (например, строка) или списком строк. |
auth_client_id строка | Токен OpenID Connect По умолчанию: |
auth_client_secret строка | Секретный ключ клиента для использования совместно с |
auth_keycloak_url псевдонимы: url строка / обязательно | URL-адрес экземпляра Keycloak. |
auth_password псевдонимы: password строка | Пароль для аутентификации для доступа к API. |
auth_realm строка | Имя области Keycloak для аутентификации доступа к API. |
auth_username псевдонимы: username строка | Имя пользователя для аутентификации доступа к API. |
client_id строка | Если роль является ролью клиента, идентификатор клиента, в рамках которого она находится. Если этот параметр отсутствует, роль считается ролью области. |
composite булево добавлено в community.general 7.1.0 | Если Варианты:
|
composites список / элементы=словарь добавлено в community.general 7.1.0 | Список ролей для включения в составную роль области. Если составная роль является ролью клиента, По умолчанию: |
|
client_id псевдонимы: clientId строка |
ID клиента, если роль — роль клиента. Не включайте этот параметр для роли ОБЛАСТИ. Используйте ID клиента, который вы видите в консоли Keycloak, а не технический ID клиента. |
|
name строка / обязательно |
Имя роли. Это может быть имя роли ОБЛАСТИ или роли клиента. |
|
state строка |
Создать составную роль, если она отсутствует, или удалить ее, если она есть. Варианты:
|
connection_timeout целое число добавлено в community.general 4.5.0 | Управляет временем ожидания HTTP-соединений (в секундах) до API Keycloak. По умолчанию: |
description строка | Описание роли. |
http_agent строка добавлено в community.general 5.4.0 | Настраивает заголовок HTTP User-Agent. По умолчанию: |
name строка / обязательно | Имя роли. Этот параметр обязателен. |
realm строка | Область Keycloak, в рамках которой находится эта роль. По умолчанию: |
state строка | Состояние роли. При При Варианты:
|
token строка добавлено в community.general 3.0.0 | Токен аутентификации для API Keycloak. |
validate_certs boolean | Проверить сертификаты TLS (не отключайте эту опцию в рабочей среде). Варианты:
|
Атрибуты
Атрибут | Поддержка | Описание |
|---|---|---|
check_mode | Поддержка: полная | Может работать в режиме |
diff_mode | Поддержка: полная | В режиме diff вернёт подробности о внесённых изменениях (или, возможно, о необходимых изменениях в |
Примеры
- name: Create a Keycloak realm role, authentication with credentials
community.general.keycloak_role:
name: my-new-kc-role
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: Create a Keycloak realm role, authentication with token
community.general.keycloak_role:
name: my-new-kc-role
realm: MyCustomRealm
state: present
auth_client_id: admin-cli
auth_keycloak_url: https://auth.example.com/auth
token: TOKEN
delegate_to: localhost
- name: Create a Keycloak client role
community.general.keycloak_role:
name: my-new-kc-role
realm: MyCustomRealm
client_id: MyClient
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 role
community.general.keycloak_role:
name: my-role-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: Create a keycloak role with some custom attributes
community.general.keycloak_role:
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-role
attributes:
attrib1: value1
attrib2: value2
attrib3:
- with
- numerous
- individual
- list
- items
delegate_to: localhost
Возвращаемые значения
Общие значения возврата описаны в здесь, следующие поля уникальны для данного модуля:
Ключ | Описание |
|---|---|
end_state словарь | Представление роли после выполнения модуля (пример укорочен). Возвращается: при успешном выполнении Пример: |
existing словарь | Представление существующей роли. Возвращается: всегда Пример: |
msg строка | Сообщение о том, какое действие было выполнено. Возвращается: всегда Пример: |
proposed словарь | Представление предлагаемой роли. Возвращается: всегда Пример: |
Ссылки на коллекции
© 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_role_module.html