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. По умолчанию: |
auth_client_secret строка | Секретный ключ клиента для совместного использования с |
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. По умолчанию: |
gid строка | Идентификатор группы для сопоставления. Этот параметр не требуется для обновления или удаления сопоставления ролей, но его предоставление сократит количество необходимых API-вызовов. |
group_name строка | Имя группы для сопоставления. Этот параметр является обязательным (можно заменить gid для уменьшения количества API-вызовов). |
http_agent строка добавлен в community.general 5.4.0 | Настройка заголовка HTTP User-Agent. По умолчанию: |
parents список / элементы=словарь | Список родительских групп для группы в отсортированном порядке сверху вниз. Установите это значение, если ваша группа является подгруппой, и вы не предоставляете GID в |
|
id строка |
Определение родителя по идентификатору. Требует меньше API-вызовов, чем использование Цепочка родительских элементов может начинаться в любой момент, если первый родитель задан как идентификатор. Обратите внимание, что в принципе и идентификатор, и имя могут быть указаны одновременно, но текущая реализация всегда использует только один из них, отдавая предпочтение идентификатору. |
|
name строка |
Определение родителя по имени. Требует больше внутренних API-вызовов, чем использование Когда указывается цепочка родителей только по именам, она должна быть полной до самого верха. Обратите внимание, что в принципе и идентификатор, и имя могут быть указаны одновременно, но текущая реализация всегда использует только один из них, отдавая предпочтение идентификатору. |
realm строка | Область Keycloak, в которой находится данное представление роли. По умолчанию: |
roles список / элементы=словарь | Роли, которые необходимо сопоставить с группой. |
|
id строка |
Уникальный идентификатор данного представления роли. Этот параметр не требуется для обновления или удаления представления роли, но его предоставление сократит количество необходимых API-вызовов. |
|
name строка |
Имя представления роли. Этот параметр обязателен только при создании или обновлении представления роли. |
state строка | Состояние realm_rolemapping. При При Варианты:
|
token строка добавлен в community.general 3.0.0 | Токен аутентификации для API Keycloak. |
validate_certs boolean | Проверять сертификаты TLS (не отключайте эту опцию в рабочей среде). Варианты:
|
Атрибуты
Атрибут | Поддержка | Описание |
|---|---|---|
check_mode | Поддержка: полная | Может работать в режиме |
diff_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 словарь | Представление сопоставления ролей клиента после выполнения модуля. Пример усечен. Возвращается: при успехе Пример: |
existing словарь | Представление существующего сопоставления ролей клиента. Пример усечен. Возвращается: всегда Пример: |
msg строка | Сообщение о том, какое действие было выполнено. Возвращается: всегда Пример: |
proposed словарь | Представление предлагаемого сопоставления ролей клиента. Возвращается: всегда Пример: |
Ссылки на коллекцию
© 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