Spec-Zone.ru › Ansible

Модуль community.general.keycloak_client_rolemapping — управление client_rolemapping в Keycloak с помощью API Keycloak

Примечание

Этот модуль входит в коллекцию community.general (версия 12.6.1).

Возможно, эта коллекция уже установлена, если вы используете пакет ansible. Она не входит в ansible-core. Чтобы проверить, установлена ли она, выполните ansible-galaxy collection list.

Чтобы установить коллекцию, используйте: ansible-galaxy collection install community.general.

Чтобы использовать коллекцию в плейбуке, укажите: community.general.keycloak_client_rolemapping.

Добавлено в community.general 3.5.0

  • Обзор
  • Параметры
  • Атрибуты
  • Примеры
  • Возвращаемые значения

Обзор

  • Этот модуль позволяет добавлять, удалять или изменять client_rolemapping в 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.
  • При обновлении client_rolemapping по возможности передавайте модулю идентификатор роли. Это позволяет избежать обращения к API для преобразования имени в идентификатор роли.

Параметры

Параметр

Комментарии

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

Имя realm Keycloak для аутентификации при доступе к API.

auth_username

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

string

Имя пользователя для аутентификации при доступе к API.

cid

string

Идентификатор клиента, для которого выполняется сопоставление.

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

client_id

string

Имя клиента, для которого выполняется сопоставление (отличается от cid).

Этот параметр обязателен (для сокращения количества вызовов API его можно заменить на cid).

connection_timeout

integer

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

Задает время ожидания HTTP-соединений с API Keycloak (в секундах).

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

gid

string

Идентификатор группы, для которой выполняется сопоставление.

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

group_name

string

Имя группы, для которой выполняется сопоставление.

Этот параметр обязателен (для сокращения количества вызовов API его можно заменить на gid).

http_agent

string

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

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

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

parents

list / elements=dictionary

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

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

Укажите этот параметр, если ваша группа является подгруппой и вы не передаете GID в gid.

id

string

Идентифицировать родительскую группу по идентификатору.

Требуется меньше вызовов API, чем при использовании parents[].name.

Цепочку родительских групп можно начать с любого уровня, если первая указанная родительская группа задана по идентификатору.

Обратите внимание: теоретически можно одновременно указать и идентификатор, и имя, но текущая реализация всегда использует только одно из них, отдавая предпочтение идентификатору.

name

string

Идентифицировать родительскую группу по имени.

Для преобразования имен в идентификаторы требуется больше внутренних вызовов API, чем при использовании parents[].id.

Если цепочка родительских групп задана только именами, она должна быть полной вплоть до верхнего уровня.

Обратите внимание: теоретически можно одновременно указать и идентификатор, и имя, но текущая реализация всегда использует только одно из них, отдавая предпочтение идентификатору.

realm

string

Realm Keycloak, в котором находится этот role_representation.

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

refresh_token

string

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

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

roles

list / elements=dictionary

Роли, сопоставляемые с группой.

id

string

Уникальный идентификатор этого role_representation.

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

name

string

Имя role_representation.

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

state

string

Состояние client_rolemapping.

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

При значении absent client_rolemapping удаляется, если он существует.

Варианты:

  • "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: Map a client role to a group, authentication with credentials
  community.general.keycloak_client_rolemapping:
    realm: MyCustomRealm
    auth_client_id: admin-cli
    auth_keycloak_url: https://auth.example.com/auth
    auth_realm: master
    auth_username: USERNAME
    auth_password: PASSWORD
    state: present
    client_id: client1
    group_name: group1
    roles:
      - name: role_name1
        id: role_id1
      - name: role_name2
        id: role_id2
  delegate_to: localhost

- name: Map a client role to a group, authentication with token
  community.general.keycloak_client_rolemapping:
    realm: MyCustomRealm
    auth_client_id: admin-cli
    auth_keycloak_url: https://auth.example.com/auth
    token: TOKEN
    state: present
    client_id: client1
    group_name: group1
    roles:
      - name: role_name1
        id: role_id1
      - name: role_name2
        id: role_id2
  delegate_to: localhost

- name: Map a client role to a subgroup, authentication with token
  community.general.keycloak_client_rolemapping:
    realm: MyCustomRealm
    auth_client_id: admin-cli
    auth_keycloak_url: https://auth.example.com/auth
    token: TOKEN
    state: present
    client_id: client1
    group_name: subgroup1
    parents:
      - name: parent-group
    roles:
      - name: role_name1
        id: role_id1
      - name: role_name2
        id: role_id2
  delegate_to: localhost

- name: Unmap client role from a group
  community.general.keycloak_client_rolemapping:
    realm: MyCustomRealm
    auth_client_id: admin-cli
    auth_keycloak_url: https://auth.example.com/auth
    auth_realm: master
    auth_username: USERNAME
    auth_password: PASSWORD
    state: absent
    client_id: client1
    group_name: group1
    roles:
      - name: role_name1
        id: role_id1
      - name: role_name2
        id: role_id2
  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

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

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

Пример: "Role role1 assigned to group group1."

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_client_rolemapping_module.html

Spec-Zone.ru

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