Spec-Zone.ru › Ansible

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

Примечание

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

Возможно, эта коллекция уже установлена, если вы используете пакет 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 и пользователь-администратор, а также отдельное определение клиента с областью действия, настроенной в соответствии с вашими потребностями, и пользователь с требуемыми ролями.
  • Имена параметров модуля представляют собой варианты имён в camelCase из API Keycloak и его документации по адресу https://www.keycloak.org/docs-api/8.0/rest-api/index.html, преобразованные в snake_case.
  • В API Keycloak атрибуты могут содержать несколько значений. Все атрибуты представлены списками отдельных значений, и этот модуль возвращает их в таком виде. При вызове модуля для атрибутов можно передавать одиночные значения, которые будут преобразованы в список, подходящий для 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.

client_id

string

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

Если этот параметр не задан, роль считается ролью области.

composite

boolean

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

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

Варианты:

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

composites

list / elements=dictionary

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

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

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

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

client_id

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

string

Идентификатор клиента, если роль является ролью клиента. Не указывайте этот параметр для роли REALM.

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

name

string / обязательный

Имя роли. Это может быть имя роли REALM или роли клиента.

state

string

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

Варианты:

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

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"

name

string / обязательный

Имя роли.

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

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

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

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

dictionary

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

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

Пример: {"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

dictionary

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

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

Пример: {"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

string

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

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

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

proposed

dictionary

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

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

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

Авторы

  • Laurent Paumier (@laurpaum)

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

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

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

Spec-Zone.ru

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