Spec-Zone.ru › Ansible 2.6

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

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

  • Обзор
  • Параметры
  • Примечания
  • Примеры
  • Возвращаемые значения
  • Статус
  • Техническое обслуживание
    • Автор

Обзор

  • Этот модуль позволяет администрировать шаблоны клиентов Keycloak через REST API Keycloak. Он требует доступа к REST API через OpenID Connect; у пользователя, подключающегося, и используемого клиента должны быть соответствующие права доступа. В стандартной установке Keycloak admin-cli и административный пользователь будут работать, как и отдельное определение клиента с объемом, настроенным в соответствии с вашими потребностями, и пользователем, имеющим ожидаемые роли.
  • Имена опций модуля — это snake_cased версии 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
обязательно
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.
consentRequired
Указывает, требуется ли пользователю предоставить согласие клиенту, чтобы данный маппер был активен.
consentText
Читаемый человеком текст согласия, который предоставляется пользователю для принятия.
id
Обычно UUID, указывающий внутренний идентификатор экземпляра этого маппера протоколов.
name
Имя данного маппера протоколов.
protocol
    Варианты:
  • openid-connect
  • saml
Должно быть 'openid-connect' или 'saml', это определяет, для какого протокола активен данный маппер протоколов.
protocolMapper
Внутреннее имя Keycloak типа этого маппера протоколов. Поскольку невозможно предоставить исчерпывающий список, поскольку он может быть расширен SPI-интерфейсами пользователем 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
Полный список доступных мапперов в вашей установке можно получить на панели администрирования, перейдя в раздел «Информация о сервере» -> «Провайдеры» и выбрав «протокол-маппер».
config
Словарь, задающий параметры конфигурации для маппера протоколов; содержимое различается в зависимости от значения protocolMapper и не документировано, кроме как источником мапперов и его родительских классов. Пример приведён ниже. Наиболее простой способ получить допустимые значения конфигурации — вывести конфигурацию уже существующего маппера протоколов в режиме проверки в поле "existing".
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. См. Поддержка и обслуживание модулей для получения дополнительной информации.

Список других модулей, которые также поддерживаются сообществом Ansible, см. здесь.

Автор

  • 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.6/modules/keycloak_clienttemplate_module.html

Spec-Zone.ru

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