Модуль community.general.keycloak_clienttemplate – Позволяет администрировать шаблоны клиентов Keycloak через API Keycloak
Примечание
Этот модуль входит в коллекцию community.general (версия 9.5.0).
Вы, возможно, уже установили эту коллекцию, если используете пакет ansible. Она не включена в ansible-core. Чтобы проверить установку, выполните ansible-galaxy collection list.
Для установки используйте: ansible-galaxy collection install community.general.
Чтобы использовать её в playbook, укажите: community.general.keycloak_clienttemplate.
Описание
- Этот модуль позволяет администрировать шаблоны клиентов Keycloak через REST API Keycloak. Он требует доступа к REST API через OpenID Connect; пользователь, подключающийся, и используемый клиент должны иметь необходимые права доступа. В стандартной установке Keycloak admin-cli и администраторский пользователь подойдут, как и отдельное определение клиента со скоупом, настроенным под ваши потребности, и пользователем с ожидаемыми ролями.
- Имена параметров модуля — snake_case версии camelCase имён в API Keycloak и его документации по адресу https://www.keycloak.org/docs-api/8.0/rest-api/index.html
- API Keycloak не всегда проверяет, что используются только корректные настройки — например, вы можете установить настройки, специфичные для SAML, для клиента OpenID Connect, и наоборот. Будьте осторожны. Если вы не указываете настройку, обычно выбирается разумное значение по умолчанию.
Параметры
Параметр | Комментарии |
|---|---|
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 логическое | Включена ли функция «Разрешить полный объем доступа» для этого шаблона клиента. Это «fullScopeAllowed» в REST API Keycloak. Варианты:
|
http_agent строка добавлено в community.general 5.4.0 | Настраивает заголовок HTTP User-Agent. По умолчанию: |
id строка | Идентификатор шаблона клиента для обработки. Обычно это UUID. |
name строка | Название шаблона клиента. |
protocol строка | Тип шаблона клиента. Значение Варианты:
|
protocol_mappers список / элементы=словарь | Список словарей, определяющих мапперы протоколов для этого шаблона клиента. Это ‘protocolMappers’ в REST API Keycloak. |
|
config словарь |
Словарь, задающий параметры конфигурации для маппера протокола; его содержимое отличается в зависимости от значения |
|
consentRequired логическое |
Указывает, нужно ли пользователю предоставить согласие на клиент для активации этого маппера. Варианты:
|
|
consentText строка |
Человекопонятное имя согласия, которое пользователь должен принять. |
|
id строка |
Обычно UUID, определяющий внутренний ID этой инстанции маппера протокола. |
|
name строка |
Имя этого маппера протокола. |
|
protocol string |
Это указывает, для какого протокола активен этот маппер протокола. Варианты:
|
|
protocolMapper string |
Внутреннее имя Keycloak типа этого маппера протокола. Поскольку исчерпывающий список невозможно предоставить, так как он может быть расширен через SPI пользователем Keycloak, по умолчанию Keycloak версии 3.4 поставляется, по крайней мере, с:
Полный список доступных мапперов в вашей установке можно получить на консоли администратора, перейдя в Server Info -> Providers и посмотрев раздел ‘protocol-mapper’. |
realm string | Домен, в котором находится этот шаблон клиента. По умолчанию: |
state string | Состояние шаблона клиента. В режиме В режиме Варианты:
|
token string добавлен в community.general 3.0.0 | Токен аутентификации для API Keycloak. |
validate_certs boolean | Проверять сертификаты TLS (не отключайте это в рабочей среде). Варианты:
|
Атрибуты
Атрибут | Поддержка | Описание |
|---|---|---|
check_mode | Поддержка: полная | Может работать в режиме |
diff_mode | Поддержка: полная | Вернёт подробности о том, что изменилось (или, возможно, нуждается в изменении в |
Примечания
Примечание
- API Keycloak REST определяет дополнительные поля (именно
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–2024 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
https://docs.ansible.com/ansible/latest/collections/community/general/keycloak_clienttemplate_module.html