Модуль 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 По умолчанию: |
auth_client_secret string | Секрет клиента, используемый вместе с |
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 | Если Варианты:
|
composites list / elements=dictionary добавлено в community.general 7.1.0 | Список ролей, которые следует включить в составную роль области. Если составная роль является ролью клиента, необходимо указать По умолчанию: |
|
client_id псевдонимы: clientId string |
Идентификатор клиента, если роль является ролью клиента. Не указывайте этот параметр для роли REALM. Используйте идентификатор клиента, отображаемый в консоли Keycloak, а не технический идентификатор клиента. |
|
name string / обязательный |
Имя роли. Это может быть имя роли REALM или роли клиента. |
|
state string |
Создать составную роль, если она присутствует, удалить, если отсутствует. Варианты:
|
connection_timeout integer добавлено в community.general 4.5.0 | Задаёт время ожидания HTTP-соединения с API Keycloak (в секундах). По умолчанию: |
description string | Описание роли. |
http_agent string добавлено в community.general 5.4.0 | Настраивает HTTP-заголовок User-Agent. По умолчанию: |
name string / обязательный | Имя роли. Этот параметр обязателен. |
realm string | Область Keycloak, которой принадлежит эта роль. По умолчанию: |
refresh_token string добавлено в community.general 10.3.0 | Токен обновления аутентификации для API Keycloak. |
state string | Состояние роли. При значении При значении Варианты:
|
token string добавлено в community.general 3.0.0 | Токен аутентификации для API Keycloak. |
validate_certs boolean | Проверять сертификаты TLS (не отключайте эту проверку в рабочей среде). Варианты:
|
Атрибуты
Атрибут | Поддержка | Описание |
|---|---|---|
action_group | Группа действий: community.general.keycloak добавлено в community.general 10.2.0 | Используйте |
check_mode | Поддержка: полная | Может работать в режиме |
diff_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 | Представление роли после выполнения модуля (пример усечён). Возвращается: при успешном выполнении Пример: |
existing dictionary | Представление существующей роли. Возвращается: всегда Пример: |
msg string | Сообщение о выполненном действии. Возвращается: всегда Пример: |
proposed dictionary | Представление предлагаемой роли. Возвращается: всегда Пример: |
Ссылки на коллекцию
© 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