Модуль community.general.keycloak_identity_provider – Позволяет управлять поставщиками идентификации Keycloak через API Keycloak
Примечание
Этот модуль входит в коллекцию community.general (версия 9.5.0).
Возможно, эта коллекция уже установлена, если вы используете пакет ansible. Она не включена в ansible-core. Чтобы проверить установку, выполните ansible-galaxy collection list.
Для установки используйте: ansible-galaxy collection install community.general.
Для использования в книге задач укажите: community.general.keycloak_identity_provider.
Новая версия в community.general 3.6.0
Обзор
- Этот модуль позволяет добавлять, удалять или изменять поставщиков идентификации Keycloak через REST-API Keycloak. Он требует доступа к REST-API через OpenID Connect; пользователь, подключающийся, и используемый клиент должны иметь необходимые права доступа. В стандартной установке Keycloak admin-cli и администраторский пользователь подойдут, как и отдельное определение клиента с настройками областей, адаптированными к вашим потребностям, и пользователем с ожидаемыми ролями.
- Имена параметров модуля являются snake_cased версиями camelCase, которые используются в API Keycloak и его документации по адресу https://www.keycloak.org/docs-api/15.0/rest-api/index.html.
Параметры
Параметр | Комментарии |
|---|---|
add_read_token_role_on_create aliases: addReadTokenRoleOnCreate boolean | Включить/выключить возможность новым пользователям читать любые сохранённые токены. Это назначает роль Варианты:
|
alias строка / обязательно | Псевдоним, уникально идентифицирующий поставщика идентификации, также используется для построения URI перенаправления. |
auth_client_id строка | OpenID Connect По умолчанию: |
auth_client_secret строка | Секрет клиента для использования совместно с |
auth_keycloak_url aliases: url строка / обязательно | URL-адрес экземпляра Keycloak. |
auth_password aliases: password строка | Пароль для аутентификации доступа к API. |
auth_realm строка | Имя области Keycloak для аутентификации доступа к API. |
auth_username aliases: username строка | Имя пользователя для аутентификации доступа к API. |
authenticate_by_default aliases: authenticateByDefault boolean | Указывает, следует ли использовать этот поставщик идентификации по умолчанию для аутентификации даже до отображения экрана входа в систему. Варианты:
|
config словарь | Словарь, задающий параметры конфигурации для поставщика; содержимое различается в зависимости от значения |
|
authorizationUrl строка |
Адрес авторизации. |
|
backchannelSupported строка |
Поддерживает ли внешний поставщик идентификации выход из системы по обратному каналу? |
|
clientAuthMethod строка |
Метод аутентификации клиента. |
|
clientId строка |
Идентификатор клиента, зарегистрированный в поставщике идентификации. |
|
clientSecret строка |
Секрет клиента, зарегистрированный в поставщике идентификации. |
|
defaultScope строка |
Области, которые будут отправлены при запросе авторизации. |
|
entityId строка |
Идентификатор сущности, который будет использоваться для уникальной идентификации этого поставщика SAML. |
|
gui_order aliases: guiOrder целое число |
Число, определяющее порядок поставщика в графическом интерфейсе (например, на странице входа). |
|
hide_on_login_page aliases: hideOnLoginPage boolean |
Если скрыт, вход с этим поставщиком возможен только по явному запросу, например, с помощью параметра Варианты:
|
|
issuer string |
Идентификатор издателя для издателя ответа. Если не указано, валидация не будет выполнена. |
|
jwksUrl string |
URL, где хранятся ключи поставщика идентификации в формате JWK. Подробности см. в спецификации JWK. |
|
logoutUrl string |
Конечная точка для завершения сеанса, используемая для выхода пользователя из внешнего поставщика ID. |
|
nameIDPolicyFormat string |
Указывает URI-ссылку, соответствующую формату идентификатора имени. |
|
principalType string |
Способ идентификации и отслеживания внешних пользователей по утверждению. |
|
singleLogoutServiceUrl string |
URL, который необходимо использовать для отправки запросов выхода. |
|
singleSignOnServiceUrl string |
URL, который необходимо использовать для отправки запросов аутентификации (SAML AuthnRequest). |
|
sync_mode aliases: syncMode string |
Режим синхронизации по умолчанию для всех мапперов. Режим синхронизации определяет, когда данные пользователя будут синхронизированы с помощью мапперов. |
|
tokenUrl string |
URL токена. |
|
useJwksUrl boolean |
Если переключатель включен, открытые ключи поставщика идентификации будут загружены с указанного URL-адреса JWKS. Варианты:
|
|
userInfoUrl string |
URL информации о пользователе. |
|
validateSignature boolean |
Включить/отключить проверку подписи внешних подписей IDP. Варианты:
|
connection_timeout integer добавлено в community.general 4.5.0 | Управляет временем ожидания HTTP-соединений (в секундах) до API Keycloak. По умолчанию: |
display_name aliases: displayName string | Наименование поставщика идентификации для удобства. |
enabled boolean | Включить/отключить этого поставщика идентификации. Варианты:
|
first_broker_login_flow_alias aliases: firstBrokerLoginFlowAlias string | Псевдоним потока аутентификации, который запускается после первого входа с помощью этого поставщика идентификации. |
http_agent string добавлено в community.general 5.4.0 | Настраивает заголовок HTTP User-Agent. По умолчанию: |
link_only aliases: linkOnly boolean | Если true, пользователи не могут войти через этого поставщика. Они могут только связать свою учетную запись с этим поставщиком. Это полезно, если вы не хотите разрешать вход от поставщика, но хотите интегрироваться с поставщиком. Варианты:
|
mappers list / elements=dictionary | Список словарей, определяющих мапперы, связанные с этим поставщиком идентификации. |
|
config dictionary |
Словарь, определяющий параметры конфигурации маппера; содержимое отличается в зависимости от значения |
|
id string |
Уникальный идентификатор этого маппера. |
|
identityProviderAlias string |
Псевдоним поставщика идентификации для данного маппера. |
|
identityProviderMapper string |
Тип маппера. |
|
name string |
Имя маппера. |
post_broker_login_flow_alias aliases: postBrokerLoginFlowAlias string | Псевдоним потока аутентификации, который запускается после каждого входа с помощью этого поставщика идентификации. |
provider_id aliases: providerId string | Протокол, используемый этим поставщиком (поддерживаемые значения — |
realm string | Область Keycloak, в которой находится этот поставщик идентификации. По умолчанию: |
state string | Состояние поставщика идентификации. В режиме В режиме Доступные значения:
|
store_token aliases: storeToken boolean | Включить/выключить хранение токенов после аутентификации пользователей. Доступные значения:
|
token string добавлено в community.general 3.0.0 | Токен аутентификации для Keycloak API. |
trust_email aliases: trustEmail boolean | Если включено, электронная почта, предоставленная этим поставщиком, не проверяется, даже если проверка включена для области. Доступные значения:
|
validate_certs boolean | Проверять сертификаты TLS (не отключайте это в производственной среде). Доступные значения:
|
Атрибуты
Атрибут | Поддержка | Описание |
|---|---|---|
check_mode | Поддержка: полная | Может работать в режиме |
diff_mode | Поддержка: полная | В режиме сравнения вернет подробности о том, что изменилось (или, возможно, требует изменения в |
Примеры
- name: Create OIDC identity provider, authentication with credentials
community.general.keycloak_identity_provider:
state: present
auth_keycloak_url: https://auth.example.com/auth
auth_realm: master
auth_username: admin
auth_password: admin
realm: myrealm
alias: oidc-idp
display_name: OpenID Connect IdP
enabled: true
provider_id: oidc
config:
issuer: https://idp.example.com
authorizationUrl: https://idp.example.com/auth
tokenUrl: https://idp.example.com/token
userInfoUrl: https://idp.example.com/userinfo
clientAuthMethod: client_secret_post
clientId: my-client
clientSecret: secret
syncMode: FORCE
mappers:
- name: first_name
identityProviderMapper: oidc-user-attribute-idp-mapper
config:
claim: first_name
user.attribute: first_name
syncMode: INHERIT
- name: last_name
identityProviderMapper: oidc-user-attribute-idp-mapper
config:
claim: last_name
user.attribute: last_name
syncMode: INHERIT
- name: Create SAML identity provider, authentication with credentials
community.general.keycloak_identity_provider:
state: present
auth_keycloak_url: https://auth.example.com/auth
auth_realm: master
auth_username: admin
auth_password: admin
realm: myrealm
alias: saml-idp
display_name: SAML IdP
enabled: true
provider_id: saml
config:
entityId: https://auth.example.com/auth/realms/myrealm
singleSignOnServiceUrl: https://idp.example.com/login
wantAuthnRequestsSigned: true
wantAssertionsSigned: true
mappers:
- name: roles
identityProviderMapper: saml-user-attribute-idp-mapper
config:
user.attribute: roles
attribute.friendly.name: User Roles
attribute.name: roles
syncMode: INHERIT
Значения возврата
Общие значения возврата документированы здесь, следующие поля уникальны для данного модуля:
Ключ | Описание |
|---|---|
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_identity_provider_module.html