Spec-Zone.ru › Ansible

Модуль 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 client_id для аутентификации в API.

По умолчанию: "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

description

строка

Описание шаблона клиента в Keycloak.

full_scope_allowed

логическое значение

Включена ли для этого шаблона клиента функция «Разрешить полный доступ к областям действия». В REST API Keycloak это fullScopeAllowed.

Варианты:

  • false
  • true

http_agent

строка

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

Настраивает заголовок HTTP User-Agent.

По умолчанию: "Ansible"

id

строка

ID обрабатываемого шаблона клиента. Обычно это UUID.

name

строка

Имя шаблона клиента.

protocol

строка

Тип шаблона клиента.

Значение docker-v2 добавлено в community.general 8.6.0.

Варианты:

  • "openid-connect"
  • "saml"
  • "docker-v2"

protocol_mappers

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

Список словарей, определяющих преобразователи протоколов для этого шаблона клиента. В REST API Keycloak это protocolMappers.

config

словарь

Словарь с параметрами конфигурации преобразователя протокола; его содержимое зависит от значения protocol_mappers[].protocolMapper и нигде не документировано, кроме исходного кода преобразователей и их родительских классов. Пример приведён ниже. Проще всего получить допустимые значения конфигурации, выгрузив конфигурацию уже существующего преобразователя протокола в режиме проверки в поле existing.

consentRequired

логическое значение

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

Варианты:

  • false
  • true

consentText

строка

Понятное пользователю название согласия, которое предлагается принять.

id

строка

Обычно UUID, задающий внутренний ID экземпляра этого преобразователя протокола.

name

строка

Имя этого преобразователя протокола.

protocol

строка

Указывает, для какого протокола активен этот преобразователь протокола.

Варианты:

  • "openid-connect"
  • "saml"
  • "docker-v2"

protocolMapper

строка

Внутреннее имя Keycloak для типа этого преобразователя протокола. Невозможно привести полный список, поскольку пользователи Keycloak могут расширять его с помощью SPI, однако в стандартную поставку Keycloak версии 3.4 входят как минимум следующие типы:

docker-v2-allow-all-mapper.

oidc-address-mapper.

oidc-full-name-mapper.

oidc-group-membership-mapper.

oidc-hardcoded-claim-mapper.

oidc-hardcoded-role-mapper.

oidc-role-name-mapper.

oidc-script-based-protocol-mapper.

oidc-sha256-pairwise-sub-mapper.

oidc-usermodel-attribute-mapper.

oidc-usermodel-client-role-mapper.

oidc-usermodel-property-mapper.

oidc-usermodel-realm-role-mapper.

oidc-usersessionmodel-note-mapper.

saml-group-membership-mapper.

saml-hardcode-attribute-mapper.

saml-hardcode-role-mapper.

saml-role-list-mapper.

saml-role-name-mapper.

saml-user-attribute-mapper.

saml-user-property-mapper.

saml-user-session-note-mapper.

Полный список доступных преобразователей в вашей установке можно получить в консоли администратора: откройте Server Info -> Providers и найдите раздел «protocol-mapper».

realm

строка

Область, в которой находится этот шаблон клиента.

По умолчанию: "master"

refresh_token

строка

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

Токен обновления аутентификации для API Keycloak.

state

строка

Состояние шаблона клиента.

При значении present шаблон клиента создаётся (или обновляется, если он уже существует).

При значении absent шаблон клиента удаляется, если он существует.

Варианты:

  • "present" ← (по умолчанию)
  • "absent"

token

строка

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

Токен аутентификации для API Keycloak.

validate_certs

логическое значение

Проверять сертификаты TLS (не отключайте эту проверку в рабочей среде).

Варианты:

  • false
  • true ← (по умолчанию)

Атрибуты

Атрибут

Поддержка

Описание

action_group

Группа действий: community.general.keycloak

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

Используйте group/community.general.keycloak в module_defaults, чтобы задать значения по умолчанию для этого модуля.

check_mode

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

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

diff_mode

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

В режиме сравнения возвращает сведения о том, что изменилось (или, возможно, должно измениться в check_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

словарь

Представление шаблона клиента после выполнения модуля (пример сокращён).

Возвращается: при успешном выполнении

Пример: {"description": "test01", "fullScopeAllowed": false, "id": "9c3712ab-decd-481e-954f-76da7b006e5f", "name": "test01", "protocol": "saml"}

existing

словарь

Представление существующего шаблона клиента (пример сокращён).

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

Пример: {"description": "test01", "fullScopeAllowed": false, "id": "9c3712ab-decd-481e-954f-76da7b006e5f", "name": "test01", "protocol": "saml"}

msg

строка

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

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

Пример: "Client template testclient has been updated"

proposed

словарь

Представление предлагаемого шаблона клиента.

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

Пример: {"name": "test01"}

Авторы

  • Eike Frost (@eikef)

Ссылки на коллекцию

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

© 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

Spec-Zone.ru

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