Модуль community.general.keycloak_identity_provider — позволяет управлять поставщиками удостоверений Keycloak с помощью API Keycloak
Примечание
Этот модуль входит в коллекцию community.general (версия 12.6.1).
Возможно, эта коллекция уже установлена, если вы используете пакет 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 и пользователь admin, а также отдельное определение клиента с областью действия, настроенной в соответствии с вашими потребностями, и пользователь с необходимыми ролями.
- Названия параметров модуля представляют собой версии в snake_case названий в 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 string / обязательный | Псевдоним уникально идентифицирует поставщика удостоверений и также используется для формирования URI перенаправления. |
auth_client_id string | Идентификатор клиента OpenID Connect По умолчанию: |
auth_client_secret string | Секрет клиента, используемый совместно с |
auth_keycloak_url aliases: url string / обязательный | URL экземпляра Keycloak. |
auth_password aliases: password string | Пароль для аутентификации при доступе к API. |
auth_realm string | Имя области Keycloak для аутентификации при доступе к API. |
auth_username aliases: username string | Имя пользователя для аутентификации при доступе к API. |
authenticate_by_default aliases: authenticateByDefault boolean | Определяет, следует ли использовать этого поставщика удостоверений для аутентификации по умолчанию до отображения экрана входа. Варианты:
|
config dictionary | Словарь с параметрами конфигурации поставщика; его содержимое зависит от значения |
|
authorizationUrl string |
URL авторизации. |
|
backchannelSupported string |
Поддерживает ли внешний поставщик удостоверений выход из системы через обратный канал? |
|
clientAuthMethod string |
Метод аутентификации клиента. |
|
clientId string |
Клиент или идентификатор клиента, зарегистрированный у поставщика удостоверений. |
|
clientSecret string |
Клиент или секрет клиента, зарегистрированный у поставщика удостоверений. |
|
defaultScope string |
Области действия, передаваемые при запросе авторизации. |
|
entityId string |
Идентификатор сущности, используемый для уникальной идентификации этого поставщика услуг SAML. |
|
fromUrl string добавлено в community.general 11.2.0 |
URL общедоступной конфигурации OpenID Connect поставщика удостоверений. Поддерживается только
|
|
gui_order aliases: guiOrder integer |
Число, задающее порядок отображения поставщика в графическом интерфейсе (например, на странице входа). |
|
hide_on_login_page aliases: hideOnLoginPage boolean |
Если поставщик скрыт, вход через него возможен только при явном запросе, например с помощью параметра Варианты:
|
|
issuer string |
Идентификатор издателя ответа. Если не указан, проверка не выполняется. |
|
jwksUrl string |
URL хранилища ключей поставщика удостоверений в формате JWK. Дополнительные сведения см. в спецификации JWK. |
|
logoutUrl string |
Конечная точка завершения сеанса, используемая для выхода пользователя из внешнего поставщика удостоверений. |
|
nameIDPolicyFormat string |
Указывает ссылку URI, соответствующую формату идентификатора имени. |
|
principalType string |
Способ идентификации и отслеживания внешних пользователей по утверждению. |
|
singleLogoutServiceUrl string |
URL, используемый для отправки запросов на выход из системы. |
|
singleSignOnServiceUrl string |
URL, используемый для отправки запросов аутентификации (SAML AuthnRequest). |
|
sync_mode aliases: syncMode string |
Режим синхронизации по умолчанию для всех сопоставителей. Режим синхронизации определяет, когда данные пользователя синхронизируются с помощью сопоставителей. |
|
tokenUrl string |
URL токена. |
|
useJwksUrl boolean |
Если Варианты:
|
|
userInfoUrl string |
URL сведений о пользователе. |
|
validateSignature boolean |
Включает или отключает проверку подписей внешнего поставщика удостоверений. Варианты:
|
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, в которой находится этот поставщик удостоверений. По умолчанию: |
refresh_token string добавлено в community.general 10.3.0 | Токен обновления аутентификации для API Keycloak. |
state string | Состояние поставщика удостоверений. При значении При значении Варианты:
|
store_token aliases: storeToken boolean | Включает или отключает сохранение токенов после аутентификации пользователей. Варианты:
|
token string добавлено в community.general 3.0.0 | Токен аутентификации для API Keycloak. |
trust_email aliases: trustEmail boolean | Если параметр включен, адрес электронной почты, предоставленный этим поставщиком, не проверяется, даже если проверка включена для области. Варианты:
|
validate_certs boolean | Проверять сертификаты TLS (не отключайте эту проверку в рабочей среде). Варианты:
|
Атрибуты
Атрибут | Поддержка | Описание |
|---|---|---|
action_group | Группа действий: community.general.keycloak добавлено в community.general 10.2.0 | Используйте |
check_mode | Поддержка: полная | Может работать в |
diff_mode | Поддержка: полная | В режиме diff возвращает сведения о том, что изменилось (или, возможно, требует изменения в |
Примеры
- 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 OIDC identity provider, with well-known configuration URL
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:
fromUrl: https://the-idp.example.com/auth/realms/idprealm/.well-known/openid-configuration
clientAuthMethod: client_secret_post
clientId: my-client
clientSecret: secret
- 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
- name: Create OIDC identity provider, authentication with credentials and advanced claim to group
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: group_name
identityProviderMapper: oidc-advanced-group-idp-mapper
config:
claims: '[{"key":"my_key","value":"my_value"}]'
group: group_name
syncMode: INHERIT
Возвращаемые значения
Общие возвращаемые значения описаны здесь, ниже перечислены поля, уникальные для этого модуля:
Ключ | Описание |
|---|---|
end_state словарь | Представление поставщика удостоверений после выполнения модуля. Возвращается: при успешном выполнении Пример: |
existing словарь | Представление существующего поставщика удостоверений. Возвращается: всегда Пример: |
msg строка | Сообщение о выполненном действии. Возвращается: всегда Пример: |
proposed словарь | Представление предлагаемого поставщика удостоверений. Возвращается: всегда Пример: |
Ссылки на коллекцию
© 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_identity_provider_module.html