Spec-Zone.ru › Ansible

Модуль 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 client_id для аутентификации в API.

По умолчанию: "admin-cli"

auth_client_secret

string

Секрет клиента, используемый вместе с auth_client_id (если требуется).

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 (в секундах).

По умолчанию: 10

description

string

Описание этой области действия клиента.

Этот параметр не требуется при обновлении или удалении области действия клиента.

http_agent

string

добавлено в community.general 5.4.0

Настраивает заголовок HTTP User-Agent.

По умолчанию: "Ansible"

id

string

Уникальный идентификатор этой области действия клиента.

Этот параметр не требуется при обновлении или удалении области действия клиента, но его указание сокращает количество необходимых вызовов API.

name

string

Имя области действия клиента.

Этот параметр требуется только при создании или обновлении области действия клиента.

protocol

string

Тип клиента.

Значение docker-v2 добавлено в community.general 8.6.0.

Допустимые значения:

  • "openid-connect"
  • "saml"
  • "wsfed"
  • "docker-v2"

protocol_mappers

псевдонимы: protocolMappers

list / элементы=dictionary

Список словарей, задающих сопоставители протокола для этого клиента.

В REST API Keycloak это protocolMappers.

config

dictionary

Словарь с параметрами конфигурации сопоставителя протокола; его содержимое зависит от значения protocol_mappers[].protocolMapper и нигде не документировано, кроме исходного кода сопоставителей и их родительских классов. Пример приведён ниже. Проще всего получить допустимые значения config, выгрузив конфигурацию уже существующего сопоставителя протокола с помощью режима проверки в возвращаемом значении existing.

id

string

Обычно UUID, задающий внутренний идентификатор этого экземпляра сопоставителя протокола.

name

string

Имя этого сопоставителя протокола.

protocol

string

Задаёт протокол, для которого активен этот сопоставитель протокола.

Допустимые значения:

  • "openid-connect"
  • "saml"
  • "wsfed"
  • "docker-v2"

protocolMapper

string

Внутреннее для Keycloak название типа этого сопоставителя протокола. Полный список привести невозможно, так как пользователи Keycloak могут расширять его с помощью SPI, однако по умолчанию в 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.

Полный список доступных в вашей установке сопоставителей можно получить в консоли администратора: откройте Server Info -> Providers и найдите раздел «protocol-mapper».

realm

string

Область Keycloak, к которой относится эта область действия клиента.

По умолчанию: "master"

refresh_token

string

добавлено в community.general 10.3.0

Токен обновления аутентификации для API Keycloak.

state

string

Состояние области действия клиента.

При значении present область действия клиента создаётся, если она ещё не существует, или обновляется с указанными параметрами.

При значении absent существующая область действия клиента удаляется.

Допустимые значения:

  • "present" ← (по умолчанию)
  • "absent"

token

string

добавлено в community.general 3.0.0

Токен аутентификации для API Keycloak.

validate_certs

boolean

Проверять сертификаты TLS (не отключайте эту проверку в рабочей среде).

Допустимые значения:

  • false
  • true ← (по умолчанию)

Атрибуты

Атрибут

Поддержка

Описание

action_group

Группа действий: community.general.keycloak

добавлено в community.general 10.2.0

Используйте group/community.general.keycloak в module_defaults, чтобы задать значения по умолчанию для этого модуля.

check_mode

Поддержка: полная

Может выполняться в режиме check_mode и возвращать прогноз изменения состояния, не изменяя целевой объект.

diff_mode

Поддержка: полная

В режиме diff возвращает сведения об изменениях (или о том, что, возможно, необходимо изменить в check_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

dictionary

Представление области действия клиента после выполнения модуля (пример усечён).

Возвращается: при успешном выполнении

Пример: {"adminUrl": "http://www.example.com/admin_url", "attributes": {"request.object.signature.alg": "RS256"}}

existing

dictionary

Представление существующей области действия клиента (пример усечён).

Возвращается: всегда

Пример: {"adminUrl": "http://www.example.com/admin_url", "attributes": {"request.object.signature.alg": "RS256"}}

msg

string

Сообщение о выполненном действии.

Возвращается: всегда

Пример: "Client_scope testclientscope has been updated"

proposed

dictionary

Представление предполагаемой области действия клиента.

Возвращается: всегда

Пример: {"clientId": "test"}

Авторы

  • Gaëtan Daubresse (@Gaetan2907)

Ссылки на коллекцию

  • Отслеживание проблем
  • Репозиторий (исходный код)
  • Запросить помощь
  • Сообщить об ошибке
  • Предложить новую функцию
  • Связь

© 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

Spec-Zone.ru

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