community.general.keycloak_clientscope модуль – Позволяет администрировать Keycloak client_scopes через Keycloak API
Примечание
Этот модуль является частью коллекции community.general (версия 9.5.0).
Возможно, эта коллекция уже установлена, если вы используете пакет ansible. Она не включена в ansible-core. Чтобы проверить установку, выполните ansible-galaxy collection list.
Для установки используйте: ansible-galaxy collection install community.general.
Чтобы использовать его в книге задач, укажите: community.general.keycloak_clientscope.
Новое в community.general 3.4.0
Описание
- Этот модуль позволяет добавлять, удалять или изменять Keycloak client_scopes через REST API Keycloak. Он требует доступа к REST API через OpenID Connect; пользователь, подключающийся, и используемый клиент должны иметь необходимые права доступа. В стандартной установке Keycloak admin-cli и администраторский пользователь будут работать, как и отдельное определение клиента со scope, настроенным под ваши нужды, и пользователь, имеющий соответствующие роли.
- Имена опций модуля являются snake_cased версиями camelCase имён, найденных в Keycloak API и его документации по адресу https://www.keycloak.org/docs-api/8.0/rest-api/index.html.
- Атрибуты являются многозначными в Keycloak API. Все атрибуты являются списками отдельных значений и будут возвращаться модулем таким же образом. Вы можете передавать отдельные значения для атрибутов при вызове модуля, и это будет преобразовано в список, подходящий для API.
- При обновлении client_scope, где это возможно, предоставьте ID client_scope модулю. Это исключает поиск в API для перевода имени в ID client_scope.
Параметры
Параметр | Комментарии |
|---|---|
attributes словарь | Словарь пар ключ-значение для задания пользовательских атрибутов для client_scope. Значения могут быть одиночными (например, строка) или списком строк. |
auth_client_id строка | OpenID Connect По умолчанию: |
auth_client_secret строка | Секретный ключ клиента для использования в сочетании с |
auth_keycloak_url псевдонимы: url строка / обязательно | URL сервера Keycloak. |
auth_password псевдонимы: пароль строка | Пароль для аутентификации доступа к API. |
auth_realm строка | Имя области Keycloak для аутентификации доступа к API. |
auth_username псевдонимы: имя пользователя строка | Имя пользователя для аутентификации доступа к API. |
connection_timeout целое число добавлен в community.general 4.5.0 | Определяет время ожидания HTTP-соединения (в секундах) с API Keycloak. По умолчанию: |
description строка | Описание этого client_scope. Этот параметр не обязателен для обновления или удаления client_scope. |
http_agent строка добавлен в community.general 5.4.0 | Настройка заголовка HTTP User-Agent. По умолчанию: |
id строка | Уникальный идентификатор этого client_scope. Этот параметр не обязателен для обновления или удаления client_scope, но его предоставление уменьшит количество API-запросов. |
name строка | Имя client_scope. Этот параметр требуется только при создании или обновлении client_scope. |
protocol строка | Тип клиента. Значение Варианты:
|
protocol_mappers псевдонимы: protocolMappers список / элементы=словарь | Список словарей, определяющих протокольные мапперы для этого клиента. Это ‘protocolMappers’ в API Keycloak. |
|
config словарь |
Словарь, определяющий параметры конфигурации для протокольного маппера; содержание отличается в зависимости от значения |
|
id строка |
Обычно UUID, определяющий внутренний идентификатор этого экземпляра протокольного маппера. |
|
name строка |
Имя этого протокольного маппера. |
|
protocol строка |
Определяет, для какого протокола этот протокольный маппер активен. Варианты:
|
|
protocolMapper string |
Внутреннее имя Keycloak типа этого протокол-маппера. Поскольку предоставление исчерпывающего списка невозможно, так как он может быть расширен с помощью SPIs пользователем Keycloak, по умолчанию Keycloak с версии 3.4 поставляется как минимум с:
Полный список доступных мапперов в вашей установке можно получить на панели администратора, перейдя в Server Info -> Providers и посмотрев раздел ‘protocol-mapper’. |
realm string | Область Keycloak, в которой находится этот client_scope. По умолчанию: |
state string | Состояние client_scope. В В Варианты:
|
token string добавлено в community.general 3.0.0 | Токен аутентификации для Keycloak API. |
validate_certs boolean | Проверка TLS-сертификатов (не отключайте это в рабочей среде). Варианты:
|
Атрибуты
Атрибут | Поддержка | Описание |
|---|---|---|
check_mode | Поддержка: полная | Может работать в |
diff_mode | Поддержка: полная | Возвратит подробности о том, что изменилось (или, возможно, требует изменения в |
Примеры
- 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 словарь | Представление client scope после выполнения модуля (пример усечён). Возвращается: при успехе Пример: |
existing словарь | Представление существующего client scope (пример усечён). Возвращается: всегда Пример: |
msg строка | Сообщение о том, какое действие было выполнено. Возвращается: всегда Пример: |
proposed словарь | Представление предлагаемого client scope. Возвращается: всегда Пример: |
Ссылки на коллекцию
© 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_clientscope_module.html