Модуль community.general.keycloak_clienttemplate – позволяет администрировать шаблоны клиентов Keycloak с помощью API Keycloak
Примечание
Этот модуль входит в коллекцию community.general (версия 12.6.1).
Возможно, эта коллекция уже установлена, если вы используете пакет ansible. Она не входит в ansible-core. Чтобы проверить, установлена ли она, выполните ansible-galaxy collection list.
Чтобы установить её, используйте: ansible-galaxy collection install community.general.
Чтобы использовать её в плейбуке, укажите: community.general.keycloak_clienttemplate.
Краткое описание
- Этот модуль позволяет администрировать шаблоны клиентов Keycloak с помощью REST API Keycloak. Для этого требуется доступ к REST API через OpenID Connect; подключающийся пользователь и используемый клиент должны иметь необходимые права доступа. В стандартной установке Keycloak подойдут admin-cli и пользователь с правами администратора, а также отдельное определение клиента с областью действия, настроенной в соответствии с вашими потребностями, и пользователь с необходимыми ролями.
- Названия параметров модуля представляют собой имена из API Keycloak и его документации (https://www.keycloak.org/docs-api/8.0/rest-api/index.html), преобразованные из camelCase в snake_case.
- API Keycloak не всегда требует использовать только допустимые параметры — например, для клиента OpenID Connect можно задать параметры, относящиеся к SAML, и наоборот. Будьте осторожны. Если параметр не указан, обычно выбирается подходящее значение по умолчанию.
Параметры
Параметр | Комментарии |
|---|---|
attributes словарь | Словарь дополнительных атрибутов этого шаблона клиента. Он может содержать различные параметры конфигурации, однако в стандартной установке Keycloak версии 3.4 ни один из них не документирован и не известен, поэтому обычно словарь пуст. |
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. |
connection_timeout целое число добавлено в community.general 4.5.0 | Задаёт время ожидания HTTP-соединения с API Keycloak (в секундах). По умолчанию: |
description строка | Описание шаблона клиента в Keycloak. |
full_scope_allowed логическое значение | Включена ли для этого шаблона клиента функция «Разрешить полный доступ к областям действия». В REST API Keycloak это Варианты:
|
http_agent строка добавлено в community.general 5.4.0 | Настраивает заголовок HTTP User-Agent. По умолчанию: |
id строка | ID обрабатываемого шаблона клиента. Обычно это UUID. |
name строка | Имя шаблона клиента. |
protocol строка | Тип шаблона клиента. Значение Варианты:
|
protocol_mappers список / элементы=словарь | Список словарей, определяющих преобразователи протоколов для этого шаблона клиента. В REST API Keycloak это |
|
config словарь |
Словарь с параметрами конфигурации преобразователя протокола; его содержимое зависит от значения |
|
consentRequired логическое значение |
Определяет, должен ли пользователь дать согласие клиенту, чтобы этот преобразователь стал активным. Варианты:
|
|
consentText строка |
Понятное пользователю название согласия, которое предлагается принять. |
|
id строка |
Обычно UUID, задающий внутренний ID экземпляра этого преобразователя протокола. |
|
name строка |
Имя этого преобразователя протокола. |
|
protocol строка |
Указывает, для какого протокола активен этот преобразователь протокола. Варианты:
|
|
protocolMapper строка |
Внутреннее имя Keycloak для типа этого преобразователя протокола. Невозможно привести полный список, поскольку пользователи Keycloak могут расширять его с помощью SPI, однако в стандартную поставку Keycloak версии 3.4 входят как минимум следующие типы:
Полный список доступных преобразователей в вашей установке можно получить в консоли администратора: откройте Server Info -> Providers и найдите раздел «protocol-mapper». |
realm строка | Область, в которой находится этот шаблон клиента. По умолчанию: |
refresh_token строка добавлено в community.general 10.3.0 | Токен обновления аутентификации для API Keycloak. |
state строка | Состояние шаблона клиента. При значении При значении Варианты:
|
token строка добавлено в community.general 3.0.0 | Токен аутентификации для API Keycloak. |
validate_certs логическое значение | Проверять сертификаты TLS (не отключайте эту проверку в рабочей среде). Варианты:
|
Атрибуты
Атрибут | Поддержка | Описание |
|---|---|---|
action_group | Группа действий: community.general.keycloak добавлено в community.general 10.2.0 | Используйте |
check_mode | Поддержка: полная | Может работать в режиме |
diff_mode | Поддержка: полная | В режиме сравнения возвращает сведения о том, что изменилось (или, возможно, должно измениться в |
Примечания
Примечание
- REST API Keycloak определяет дополнительные поля (а именно
bearerOnly,consentRequired,standardFlowEnabled,implicitFlowEnabled,directAccessGrantsEnabled,serviceAccountsEnabled,publicClientиfrontchannelLogout), которые, хотя и доступны в keycloak_client, не влияют на шаблоны клиентов Keycloak и отбрасываются при отправке API-запроса на изменение шаблонов клиентов. Поэтому в этом модуле они недоступны.
Примеры
- name: Create or update Keycloak client template (minimal), authentication with credentials
community.general.keycloak_client:
auth_client_id: admin-cli
auth_keycloak_url: https://auth.example.com/auth
auth_realm: master
auth_username: USERNAME
auth_password: PASSWORD
realm: master
name: this_is_a_test
delegate_to: localhost
- name: Create or update Keycloak client template (minimal), authentication with token
community.general.keycloak_clienttemplate:
auth_client_id: admin-cli
auth_keycloak_url: https://auth.example.com/auth
auth_realm: master
token: TOKEN
realm: master
name: this_is_a_test
delegate_to: localhost
- name: Delete Keycloak client template
community.general.keycloak_client:
auth_client_id: admin-cli
auth_keycloak_url: https://auth.example.com/auth
auth_realm: master
auth_username: USERNAME
auth_password: PASSWORD
realm: master
state: absent
name: test01
delegate_to: localhost
- name: Create or update Keycloak client template (with a protocol mapper)
community.general.keycloak_client:
auth_client_id: admin-cli
auth_keycloak_url: https://auth.example.com/auth
auth_realm: master
auth_username: USERNAME
auth_password: PASSWORD
realm: master
name: this_is_a_test
protocol_mappers:
- config:
access.token.claim: true
claim.name: "family_name"
id.token.claim: true
jsonType.label: String
user.attribute: lastName
userinfo.token.claim: true
consentRequired: true
consentText: "${familyName}"
name: family name
protocol: openid-connect
protocolMapper: oidc-usermodel-property-mapper
full_scope_allowed: false
id: bce6f5e9-d7d3-4955-817e-c5b7f8d65b3f
delegate_to: localhost
Возвращаемые значения
Общие возвращаемые значения описаны здесь; далее перечислены поля, уникальные для этого модуля:
Ключ | Описание |
|---|---|
end_state словарь | Представление шаблона клиента после выполнения модуля (пример сокращён). Возвращается: при успешном выполнении Пример: |
existing словарь | Представление существующего шаблона клиента (пример сокращён). Возвращается: всегда Пример: |
msg строка | Сообщение о выполненном действии. Возвращается: всегда Пример: |
proposed словарь | Представление предлагаемого шаблона клиента. Возвращается: всегда Пример: |
Ссылки на коллекцию
© 2012–2018 Michael DeHaan
© 2018–2025 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
https://docs.ansible.com/projects/ansible/latest/collections/community/general/keycloak_clienttemplate_module.html