Spec-Zone.ru › Ansible

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

Примечание

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

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

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

Чтобы использовать его в книге задач, укажите: community.general.keycloak_client_rolemapping.

Новая функция в community.general 3.5.0

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

Описание

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

Параметры

Параметр

Комментарии

auth_client_id

string

OpenID Connect client_id для аутентификации в API.

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

auth_client_secret

string

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

auth_keycloak_url

aliases: url

string / required

URL экземпляра Keycloak.

auth_password

aliases: password

string

Пароль для аутентификации для доступа к API.

auth_realm

string

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

auth_username

aliases: username

string

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

cid

string

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

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

client_id

string

Имя клиента, который нужно сопоставить (отличается от cid).

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

connection_timeout

integer

added in community.general 4.5.0

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

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

gid

string

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

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

group_name

string

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

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

http_agent

string

added in community.general 5.4.0

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

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

parents

list / elements=dictionary

added in community.general 7.1.0

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

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

id

string

Идентифицировать родителя по ID.

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

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

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

name

string

Идентифицировать родителя по имени.

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

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

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

realm

string

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

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

roles

list / elements=dictionary

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

id

string

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

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

name

string

Имя role_representation.

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

состояние

строка

Состояние client_rolemapping.

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

В absent, client_rolemapping будет удален, если он существует.

Выбираемые значения:

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

токен

строка

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

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

validate_certs

логическое

Проверка TLS-сертификатов (не отключайте это в рабочей среде).

Выбираемые значения:

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

Атрибуты

Атрибут

Поддержка

Описание

check_mode

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

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

diff_mode

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

Вернет подробную информацию о том, что изменилось (или, возможно, требует изменения в check_mode), при использовании режима diff.

Примеры

- 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

словарь

Представление client role mapping после выполнения модуля.

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

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

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

existing

словарь

Представление существующего client role mapping.

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

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

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

msg

строка

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

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

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

proposed

словарь

Представление предлагаемого client role mapping.

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

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

Авторы

  • Gaëtan Daubresse (@Gaetan2907)

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

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

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

Spec-Zone.ru

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