Модуль community.general.keycloak_clientscope — позволяет управлять областями действия клиента Keycloak с помощью API Keycloak
Примечание
Этот модуль входит в коллекцию community.general (версия 12.6.1).
Эта коллекция, возможно, уже установлена, если вы используете пакет ansible. Она не входит в ansible-core. Чтобы проверить, установлена ли она, выполните ansible-galaxy collection list.
Чтобы установить её, используйте: ansible-galaxy collection install community.general.
Чтобы использовать её в плейбуке, укажите: community.general.keycloak_clientscope.
Добавлено в community.general 3.4.0
Краткое описание
- Этот модуль позволяет добавлять, удалять и изменять области действия клиента Keycloak с помощью REST API Keycloak. Для работы требуется доступ к REST API через OpenID Connect; подключающийся пользователь и используемый клиент должны иметь необходимые права доступа. В стандартной установке Keycloak подойдут admin-cli и пользователь с правами администратора, а также отдельное определение клиента с областью действия, настроенной в соответствии с вашими потребностями, и пользователь с необходимыми ролями.
- Названия параметров модуля представляют собой версии в snake_case названий в camelCase из API Keycloak и его документации по адресу https://www.keycloak.org/docs-api/8.0/rest-api/index.html.
- В API Keycloak атрибуты могут иметь несколько значений. Все атрибуты — это списки отдельных значений, и модуль возвращает их именно в таком виде. При вызове модуля для атрибутов можно передавать одиночные значения, которые будут преобразованы в список, подходящий для API.
- При обновлении области действия клиента по возможности указывайте модулю её идентификатор. Это избавляет от необходимости обращаться к API, чтобы преобразовать имя в идентификатор области действия клиента.
Параметры
Параметр | Комментарии |
|---|---|
attributes dictionary | Словарь пар «ключ/значение», задаваемых как пользовательские атрибуты области действия клиента. Значениями могут быть одиночные значения (например, строка) или список строк. |
auth_client_id string | OpenID Connect По умолчанию: |
auth_client_secret string | Секрет клиента, используемый вместе с |
auth_keycloak_url псевдонимы: url string / обязательный | URL экземпляра Keycloak. |
auth_password псевдонимы: password string | Пароль для аутентификации при доступе к API. |
auth_realm string | Имя области Keycloak для аутентификации при доступе к API. |
auth_username псевдонимы: username string | Имя пользователя для аутентификации при доступе к API. |
connection_timeout integer добавлено в community.general 4.5.0 | Задаёт время ожидания HTTP-подключения к API Keycloak (в секундах). По умолчанию: |
description string | Описание этой области действия клиента. Этот параметр не требуется при обновлении или удалении области действия клиента. |
http_agent string добавлено в community.general 5.4.0 | Настраивает заголовок HTTP User-Agent. По умолчанию: |
id string | Уникальный идентификатор этой области действия клиента. Этот параметр не требуется при обновлении или удалении области действия клиента, но его указание сокращает количество необходимых вызовов API. |
name string | Имя области действия клиента. Этот параметр требуется только при создании или обновлении области действия клиента. |
protocol string | Тип клиента. Значение Допустимые значения:
|
protocol_mappers псевдонимы: protocolMappers list / элементы=dictionary | Список словарей, задающих сопоставители протокола для этого клиента. В REST API Keycloak это |
|
config dictionary |
Словарь с параметрами конфигурации сопоставителя протокола; его содержимое зависит от значения |
|
id string |
Обычно UUID, задающий внутренний идентификатор этого экземпляра сопоставителя протокола. |
|
name string |
Имя этого сопоставителя протокола. |
|
protocol string |
Задаёт протокол, для которого активен этот сопоставитель протокола. Допустимые значения:
|
|
protocolMapper string |
Внутреннее для Keycloak название типа этого сопоставителя протокола. Полный список привести невозможно, так как пользователи Keycloak могут расширять его с помощью SPI, однако по умолчанию в Keycloak версии 3.4 есть как минимум следующие типы:
Полный список доступных в вашей установке сопоставителей можно получить в консоли администратора: откройте Server Info -> Providers и найдите раздел «protocol-mapper». |
realm string | Область Keycloak, к которой относится эта область действия клиента. По умолчанию: |
refresh_token string добавлено в community.general 10.3.0 | Токен обновления аутентификации для API Keycloak. |
state string | Состояние области действия клиента. При значении При значении Допустимые значения:
|
token string добавлено в community.general 3.0.0 | Токен аутентификации для API Keycloak. |
validate_certs boolean | Проверять сертификаты TLS (не отключайте эту проверку в рабочей среде). Допустимые значения:
|
Атрибуты
Атрибут | Поддержка | Описание |
|---|---|---|
action_group | Группа действий: community.general.keycloak добавлено в community.general 10.2.0 | Используйте |
check_mode | Поддержка: полная | Может выполняться в режиме |
diff_mode | Поддержка: полная | В режиме diff возвращает сведения об изменениях (или о том, что, возможно, необходимо изменить в |
Примеры
- name: Create a Keycloak client_scopes, authentication with credentials
community.general.keycloak_clientscope:
name: my-new-kc-clientscope
realm: MyCustomRealm
state: present
auth_client_id: admin-cli
auth_keycloak_url: https://auth.example.com/auth
auth_realm: master
auth_username: USERNAME
auth_password: PASSWORD
delegate_to: localhost
- name: Create a Keycloak client_scopes, authentication with token
community.general.keycloak_clientscope:
name: my-new-kc-clientscope
realm: MyCustomRealm
state: present
auth_client_id: admin-cli
auth_keycloak_url: https://auth.example.com/auth
token: TOKEN
delegate_to: localhost
- name: Delete a keycloak client_scopes
community.general.keycloak_clientscope:
id: '9d59aa76-2755-48c6-b1af-beb70a82c3cd'
state: absent
realm: MyCustomRealm
auth_client_id: admin-cli
auth_keycloak_url: https://auth.example.com/auth
auth_realm: master
auth_username: USERNAME
auth_password: PASSWORD
delegate_to: localhost
- name: Delete a Keycloak client_scope based on name
community.general.keycloak_clientscope:
name: my-clientscope-for-deletion
state: absent
auth_client_id: admin-cli
auth_keycloak_url: https://auth.example.com/auth
auth_realm: master
auth_username: USERNAME
auth_password: PASSWORD
delegate_to: localhost
- name: Update the name of a Keycloak client_scope
community.general.keycloak_clientscope:
id: '9d59aa76-2755-48c6-b1af-beb70a82c3cd'
name: an-updated-kc-clientscope-name
state: present
auth_client_id: admin-cli
auth_keycloak_url: https://auth.example.com/auth
auth_realm: master
auth_username: USERNAME
auth_password: PASSWORD
delegate_to: localhost
- name: Create a Keycloak client_scope with some custom attributes
community.general.keycloak_clientscope:
auth_client_id: admin-cli
auth_keycloak_url: https://auth.example.com/auth
auth_realm: master
auth_username: USERNAME
auth_password: PASSWORD
name: my-new_clientscope
description: description-of-clientscope
protocol: openid-connect
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
name: family name
protocol: openid-connect
protocolMapper: oidc-usermodel-property-mapper
- config:
attribute.name: Role
attribute.nameformat: Basic
single: false
name: role list
protocol: saml
protocolMapper: saml-role-list-mapper
attributes:
attrib1: value1
attrib2: value2
attrib3:
- with
- numerous
- individual
- list
- items
delegate_to: localhost
Возвращаемые значения
Общие возвращаемые значения описаны здесь; далее перечислены поля, уникальные для этого модуля:
Ключ | Описание |
|---|---|
end_state dictionary | Представление области действия клиента после выполнения модуля (пример усечён). Возвращается: при успешном выполнении Пример: |
existing dictionary | Представление существующей области действия клиента (пример усечён). Возвращается: всегда Пример: |
msg string | Сообщение о выполненном действии. Возвращается: всегда Пример: |
proposed dictionary | Представление предполагаемой области действия клиента. Возвращается: всегда Пример: |
Ссылки на коллекцию
© 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_clientscope_module.html