Модуль 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 По умолчанию: |
auth_client_secret string | Секретный ключ клиента для использования совместно с |
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 для уменьшения количества вызовов API). |
connection_timeout integer added in community.general 4.5.0 | Управляет периодом времени ожидания (в секундах) HTTP-соединений к API Keycloak. По умолчанию: |
gid string | Идентификатор группы, которая должна быть сопоставлена. Этот параметр не обязателен для обновления или удаления сопоставления ролей, но его предоставление уменьшит количество необходимых вызовов API. |
group_name string | Имя группы, которая должна быть сопоставлена. Этот параметр обязателен (может быть заменен gid для уменьшения количества вызовов API). |
http_agent string added in community.general 5.4.0 | Настраивает заголовок HTTP User-Agent. По умолчанию: |
parents list / elements=dictionary added in community.general 7.1.0 | Список родительских групп для обработки группы, отсортированный сверху вниз. Установите это, если ваша группа является подгруппой, и вы не предоставляете GID в |
|
id string |
Идентифицировать родителя по ID. Требуется меньше вызовов API, чем использование Глубокая цепочка родителей может быть начата в любой точке, когда первый родитель задан как ID. Обратите внимание, что в принципе ID и имя могут быть указаны одновременно, но текущая реализация всегда использует только один из них, при этом ID предпочтительнее. |
|
name string |
Идентифицировать родителя по имени. Требуется больше внутренних вызовов API, чем использование При задании цепочки родителей только с именами она должна быть полной до самого верха. Обратите внимание, что в принципе ID и имя могут быть указаны одновременно, но текущая реализация всегда использует только один из них, при этом ID предпочтительнее. |
realm string | Область Keycloak, в которой находится это role_representation. По умолчанию: |
roles list / elements=dictionary | Роли, которые должны быть сопоставлены с группой. |
|
id string |
Уникальный идентификатор для этого role_representation. Этот параметр не обязателен для обновления или удаления role_representation, но его предоставление уменьшит количество необходимых вызовов API. |
|
name string |
Имя role_representation. Этот параметр обязателен только при создании или обновлении role_representation. |
состояние строка | Состояние client_rolemapping. В В Выбираемые значения:
|
токен строка добавлено в community.general 3.0.0 | Токен аутентификации для Keycloak API. |
validate_certs логическое | Проверка TLS-сертификатов (не отключайте это в рабочей среде). Выбираемые значения:
|
Атрибуты
Атрибут | Поддержка | Описание |
|---|---|---|
check_mode | Поддержка: полная | Может работать в режиме |
diff_mode | Поддержка: полная | Вернет подробную информацию о том, что изменилось (или, возможно, требует изменения в |
Примеры
- 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 после выполнения модуля. Пример усечён. Возвращается: при успехе Пример: |
existing словарь | Представление существующего client role mapping. Пример усечён. Возвращается: всегда Пример: |
msg строка | Сообщение о выполненном действии. Возвращается: всегда Пример: |
proposed словарь | Представление предлагаемого client role mapping. Возвращается: всегда Пример: |
Ссылки на коллекцию
© 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