Spec-Zone.ru › Ansible

community.general.keycloak_role модуль — Разрешает администрирование ролей Keycloak через API Keycloak

Примечание

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

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

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

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

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

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

Обзор

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

Параметры

Параметр

Комментарии

attributes

словарь

Словарь пар «ключ-значение» для задания пользовательских атрибутов роли.

Значения могут быть одиночными (например, строка) или списком строк.

auth_client_id

строка

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

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

auth_client_secret

строка

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

auth_keycloak_url

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

строка / обязательно

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

auth_password

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

строка

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

auth_realm

строка

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

auth_username

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

строка

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

client_id

строка

Если роль является ролью клиента, идентификатор клиента, в рамках которого она находится.

Если этот параметр отсутствует, роль считается ролью области.

composite

булево

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

Если true, роль является составной из других ролей области и/или клиента.

Варианты:

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

composites

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

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

Список ролей для включения в составную роль области.

Если составная роль является ролью клиента, clientId (не ID клиента) должен быть указан.

По умолчанию: []

client_id

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

строка

ID клиента, если роль — роль клиента. Не включайте этот параметр для роли ОБЛАСТИ.

Используйте ID клиента, который вы видите в консоли Keycloak, а не технический ID клиента.

name

строка / обязательно

Имя роли. Это может быть имя роли ОБЛАСТИ или роли клиента.

state

строка

Создать составную роль, если она отсутствует, или удалить ее, если она есть.

Варианты:

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

connection_timeout

целое число

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

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

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

description

строка

Описание роли.

http_agent

строка

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

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

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

name

строка / обязательно

Имя роли.

Этот параметр обязателен.

realm

строка

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

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

state

строка

Состояние роли.

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

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

Варианты:

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

token

строка

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

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

END_OF_DOCUMENT_MARKER

validate_certs

boolean

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

Варианты:

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

Атрибуты

Атрибут

Поддержка

Описание

check_mode

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

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

diff_mode

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

В режиме diff вернёт подробности о внесённых изменениях (или, возможно, о необходимых изменениях в check_mode).

Примеры

- name: Create a Keycloak realm role, authentication with credentials
  community.general.keycloak_role:
    name: my-new-kc-role
    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 realm role, authentication with token
  community.general.keycloak_role:
    name: my-new-kc-role
    realm: MyCustomRealm
    state: present
    auth_client_id: admin-cli
    auth_keycloak_url: https://auth.example.com/auth
    token: TOKEN
  delegate_to: localhost

- name: Create a Keycloak client role
  community.general.keycloak_role:
    name: my-new-kc-role
    realm: MyCustomRealm
    client_id: MyClient
    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: Delete a Keycloak role
  community.general.keycloak_role:
    name: my-role-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: Create a keycloak role with some custom attributes
  community.general.keycloak_role:
    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-role
    attributes:
        attrib1: value1
        attrib2: value2
        attrib3:
            - with
            - numerous
            - individual
            - list
            - items
  delegate_to: localhost

Возвращаемые значения

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

Ключ

Описание

end_state

словарь

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

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

Пример: {"attributes": {}, "clientRole": true, "composite": false, "containerId": "9f03eb61-a826-4771-a9fd-930e06d2d36a", "description": "My updated client test role", "id": "561703dd-0f38-45ff-9a5a-0c978f794547", "name": "myrole"}

existing

словарь

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

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

Пример: {"attributes": {}, "clientRole": true, "composite": false, "containerId": "9f03eb61-a826-4771-a9fd-930e06d2d36a", "description": "My client test role", "id": "561703dd-0f38-45ff-9a5a-0c978f794547", "name": "myrole"}

msg

строка

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

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

Пример: "Role myrole has been updated"

proposed

словарь

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

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

Пример: {"description": "My updated test description"}

Авторы

  • Laurent Paumier (@laurpaum)

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

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

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

Spec-Zone.ru

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