Spec-Zone.ru › Ansible 2.8

keycloak_clienttemplate – Позволяет администрировать шаблоны клиентов Keycloak через API Keycloak

Новая версия 2.5.

  • Обзор
  • Параметры
  • Примечания
  • Примеры
  • Возвращаемые значения
  • Статус

Обзор

  • Этот модуль позволяет администрировать шаблоны клиентов Keycloak через REST API Keycloak. Он требует доступа к REST API через OpenID Connect; пользователь, подключающийся, и используемый клиент должны иметь необходимые права доступа. В стандартной установке Keycloak admin-cli и административный пользователь будут работать, как и отдельное определение клиента со scope, настроенным под ваши потребности, и пользователь, имеющий ожидаемые роли.
  • Названия опций модуля — это snake_case версии camelCase опций, найденных в API Keycloak и его документации по адресу http://www.keycloak.org/docs-api/3.3/rest-api/
  • API Keycloak не всегда проверяет, что используются только разумные настройки — вы можете задать настройки, специфичные для SAML, для клиента OpenID Connect, и наоборот. Будьте осторожны. Если вы не укажете настройку, обычно выбирается разумное значение по умолчанию.

Параметры

Параметр Варианты/Значения по умолчанию Комментарии
attributes
-
Словарь дополнительных атрибутов для этого шаблона клиента. Он может содержать различные параметры конфигурации, хотя в стандартной установке Keycloak версии 3.4 они не документированы и неизвестны, поэтому обычно он пуст.
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
description
-
Описание шаблона клиента в Keycloak
full_scope_allowed
логический тип
    Варианты:
  • нет
  • да
Включено ли для этого шаблона клиента разрешение "Разрешено полный охват"? Это 'fullScopeAllowed' в REST API Keycloak.
id
-
Идентификатор шаблона клиента, над которым нужно работать. Обычно это UUID.
name
-
Имя шаблона клиента
protocol
-
    Варианты:
  • openid-connect
  • saml
Тип шаблона клиента (либо openid-connect или saml.
protocol_mappers
-
Список словарей, определяющих мапперы протокола для этого шаблона клиента. Это 'protocolMappers' в REST API Keycloak.
config
-
Словарь, определяющий параметры конфигурации для маппера протокола; содержимое отличается в зависимости от значения protocolMapper и не документировано, кроме как источником мапперов и его родительских классов. Ниже приведен пример. Легче всего получить допустимые значения конфигурации, выведя конфигурацию уже существующего маппера протокола в режиме проверки в поле "existing".
consentRequired
-
Указывает, требуется ли пользователю согласие с клиентом, чтобы этот маппер был активен.
consentText
-
Человекопонятное имя согласия, которое представлено пользователю для принятия.
id
-
Обычно UUID, определяющий внутренний идентификатор экземпляра маппера протокола.
name
-
Имя этого маппера протокола.
protocol
-
    Варианты:
  • openid-connect
  • saml
Это либо 'openid-connect', либо 'saml', это указывает, для какого протокола активен этот маппер протокола.
protocolMapper
-
Внутреннее имя Keycloak типа этого маппера протокола. Хотя исчерпывающий список невозможен, так как он может быть расширен с помощью SPIs пользователем Keycloak, по умолчанию 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
Исчерпывающий список доступных мапперов в вашей установке можно получить на консоли администрирования, перейдя в Информация о сервере -> Поставщики и посмотрев раздел 'protocol-mapper'.
realm
-
Домен, в котором находится этот шаблон клиента.
state
-
    Варианты:
  • present ←
  • absent
Состояние шаблона клиента
В present, шаблон клиента будет создан (или обновлен, если он уже существует).
В absent, шаблон клиента будет удален, если он существует
validate_certs
логический тип
    Варианты:
  • нет
  • да ←
Проверка TLS-сертификатов (в рабочей среде не отключайте эту опцию).

Примечания

Примечание

  • REST API Keycloak определяет дополнительные поля (именно bearerOnly, consentRequired, standardFlowEnabled, implicitFlowEnabled, directAccessGrantsEnabled, serviceAccountsEnabled, publicClient и frontchannelLogout), которые, хотя и доступны с помощью keycloak_client, не оказывают никакого влияния на шаблоны клиентов Keycloak и отбрасываются, если они предоставляются в запросе API, изменяющем шаблоны клиентов. Поэтому они недоступны через этот модуль.

Примеры

- name: Create or update Keycloak client template (minimal)
  local_action:
    module: keycloak_clienttemplate
    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

- name: delete Keycloak client template
  local_action:
    module: keycloak_clienttemplate
    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

- name: Create or update Keycloak client template (with a protocol mapper)
  local_action:
    module: keycloak_clienttemplate
    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

Возвращаемые значения

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

Ключ Возвращаемое значение Описание
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
строка
всегда
Сообщение о том, какое действие было выполнено

Пример:
Шаблон клиента testclient был обновлён
proposed
словарь
всегда
Представление шаблона клиента в формате клиента с предложенными изменениями

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


Статус

  • Данный модуль не гарантирует обратную совместимость. [превью]
  • Данный модуль поддерживается сообществом Ansible. [community]

Авторы

  • Eike Frost (@eikef)

Подсказка

Если вы заметили какие-либо проблемы в этой документации, вы можете отредактировать этот документ, чтобы улучшить его.

© 2012–2018 Michael DeHaan
© 2018–2019 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
https://docs.ansible.com/ansible/2.8/modules/keycloak_clienttemplate_module.html

Spec-Zone.ru

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