Модуль community.general.keycloak_user_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_user_rolemapping.
Новое в community.general 5.7.0
Обзор
- Этот модуль позволяет добавлять, удалять или изменять сопоставления ролей пользователей Keycloak с помощью 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.
- При обновлении сопоставления ролей пользователя, по возможности, предоставьте модулю идентификатор роли. Это исключает поиск в API для перевода имени в идентификатор роли.
Параметры
Параметр | Комментарии |
|---|---|
auth_client_id строка | Используемый для аутентификации в API OpenID Connect По умолчанию: |
auth_client_secret строка | Секретный ключ клиента, используемый совместно с |
auth_keycloak_url псевдонимы: url строка / обязательно | URL-адрес экземпляра Keycloak. |
auth_password псевдонимы: password строка | Пароль для аутентификации с доступом к API. |
auth_realm строка | Имя домена Keycloak для аутентификации с доступом к API. |
auth_username псевдонимы: username строка | Имя пользователя для аутентификации с доступом к API. |
cid строка | Идентификатор клиента, который необходимо сопоставить. Этот параметр не требуется для обновления или удаления сопоставления ролей, но его предоставление уменьшит количество вызовов API. |
client_id строка | |
connection_timeout целое число добавлено в community.general 4.5.0 | Управляет временем ожидания HTTP-соединений (в секундах) с API Keycloak. По умолчанию: |
Атрибуты
Атрибут | Поддержка | Описание |
|---|---|---|
check_mode | Поддержка: полная | Может работать в режиме |
diff_mode | Поддержка: полная | Вернёт подробности о том, что изменилось (или, возможно, необходимо изменить в |
Примеры
- name: Map a client role to a user, authentication with credentials
community.general.keycloak_user_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
user_id: user1Id
roles:
- name: role_name1
id: role_id1
- name: role_name2
id: role_id2
delegate_to: localhost
- name: Map a client role to a service account user for a client, authentication with credentials
community.general.keycloak_user_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
service_account_user_client_id: clientIdOfServiceAccount
roles:
- name: role_name1
id: role_id1
- name: role_name2
id: role_id2
delegate_to: localhost
- name: Map a client role to a user, authentication with token
community.general.keycloak_user_rolemapping:
realm: MyCustomRealm
auth_client_id: admin-cli
auth_keycloak_url: https://auth.example.com/auth
token: TOKEN
state: present
client_id: client1
target_username: user1
roles:
- name: role_name1
id: role_id1
- name: role_name2
id: role_id2
delegate_to: localhost
- name: Unmap client role from a user
community.general.keycloak_user_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
uid: 70e3ae72-96b6-11e6-9056-9737fd4d0764
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_user_rolemapping_module.html