Spec-Zone.ru › Ansible

community.general.keycloak_realm_rolemapping модуль — Позволяет администрировать сопоставления ролей областей Keycloak в группы с помощью API Keycloak

Примечание

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

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

Для установки используйте: ansible-galaxy collection install community.general.

Для использования в плейбуке укажите: community.general.keycloak_realm_rolemapping.

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

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

Описание

  • Этот модуль позволяет добавлять, удалять или изменять сопоставления ролей областей Keycloak в группы с помощью REST API Keycloak. Он требует доступа к REST API через OpenID Connect; пользователь, подключающийся, и используемый клиент должны иметь необходимые права доступа. В стандартной установке Keycloak admin-cli и административный пользователь будут работать, как и отдельное определение клиента с соответствующим объёмом и пользователем с ожидаемыми ролями.
  • Имена параметров модуля — snake_cased версии camelCase параметров, встречающихся в API Keycloak и документации по адресу https://www.keycloak.org/docs-api/18.0/rest-api/index.html.
  • Атрибуты в API Keycloak многозначны. Все атрибуты — списки отдельных значений, и этот модуль будет возвращать их таким образом. Вы можете передавать отдельные значения для атрибутов при вызове модуля, и это будет преобразовано в список, подходящий для API.
  • При обновлении group_rolemapping, где это возможно, предоставьте модулю идентификатор роли. Это исключает поиск в API для преобразования имени в идентификатор роли.

Параметры

Параметр

Комментарии

auth_client_id

строка

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

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

auth_client_secret

строка

Секретный ключ клиента для совместного использования с auth_client_id (при необходимости).

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.

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

gid

строка

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

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

group_name

строка

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

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

http_agent

строка

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

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

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

parents

список / элементы=словарь

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

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

id

строка

Определение родителя по идентификатору.

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

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

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

name

строка

Определение родителя по имени.

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

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

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

realm

строка

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

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

roles

список / элементы=словарь

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

id

строка

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

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

name

строка

Имя представления роли.

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

state

строка

Состояние realm_rolemapping.

При present, realm_rolemapping будет создан, если он ещё не существует, или обновлён с предоставленными параметрами.

При absent, realm_rolemapping будет удалён, если он существует.

Варианты:

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

token

строка

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

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

validate_certs

boolean

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

Варианты:

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

Атрибуты

Атрибут

Поддержка

Описание

check_mode

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

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

diff_mode

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

Возвращает подробности о внесенных изменениях (или, возможно, требуемых изменениях в check_mode), когда используется режим сравнения.

Примеры

- name: Map a client role to a group, authentication with credentials
  community.general.keycloak_realm_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
    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_realm_rolemapping:
    realm: MyCustomRealm
    auth_client_id: admin-cli
    auth_keycloak_url: https://auth.example.com/auth
    token: TOKEN
    state: present
    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_realm_rolemapping:
    realm: MyCustomRealm
    auth_client_id: admin-cli
    auth_keycloak_url: https://auth.example.com/auth
    token: TOKEN
    state: present
    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 realm role from a group
  community.general.keycloak_realm_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
    group_name: group1
    roles:
      - name: role_name1
        id: role_id1
      - name: role_name2
        id: role_id2
  delegate_to: localhost

Значения возврата

Общие значения возврата описаны здесь, следующие поля уникальны для данного модуля:

Ключ

Описание

end_state

словарь

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

Пример усечен.

Возвращается: при успехе

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

existing

словарь

Представление существующего сопоставления ролей клиента.

Пример усечен.

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

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

msg

строка

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

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

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

proposed

словарь

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

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

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

Авторы

  • Gaëtan Daubresse (@Gaetan2907)
  • Marius Huysamen (@mhuysamen)
  • Alexander Groß (@agross)

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

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

© 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_realm_rolemapping_module.html

Spec-Zone.ru

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