Модуль community.general.keycloak_authz_permission — позволяет администрировать разрешения авторизации клиентов Keycloak с помощью API Keycloak
Примечание
Этот модуль входит в коллекцию community.general (версия 12.6.1).
Возможно, эта коллекция уже установлена, если вы используете пакет ansible. Она не входит в ansible-core. Чтобы проверить, установлена ли она, выполните ansible-galaxy collection list.
Чтобы установить её, используйте: ansible-galaxy collection install community.general.
Чтобы использовать её в плейбуке, укажите: community.general.keycloak_authz_permission.
Добавлено в community.general 7.2.0
Краткое описание
- Этот модуль позволяет администрировать разрешения авторизации клиентов Keycloak с помощью REST API Keycloak. Разрешения авторизации доступны только в том случае, если для клиента включена авторизация.
- У JSON-путей и полезных данных для разрешений авторизации есть некоторые особенности. В частности, операции POST и PUT направляются на конечные точки разрешений, тогда как запросы GET отправляются на конечную точку политик. Ситуацию усложняет то, что ответы JSON на запросы GET имеют формат, отличный от ожидаемого для POST и PUT. В результате невозможно обнаружить изменения в политиках, областях действия или ресурсах — по крайней мере, без большого количества дополнительных вызовов API. Поэтому этот модуль всегда обновляет разрешения авторизации, а не пытается определить, действительно ли это необходимо.
- Для работы этому модулю необходим доступ к REST API через OpenID Connect; подключающийся пользователь и используемый realm должны иметь необходимые права доступа. В стандартной установке Keycloak подойдут admin-cli и пользователь-администратор, а также отдельное определение realm с областью действия, настроенной под ваши требования, и пользователь с необходимыми ролями.
- Названия параметров модуля представляют собой варианты параметров Keycloak в стиле snake_case вместо camelCase. Пути и полезные данные Authorization Services официально не документированы проектом Keycloak. https://www.puppeteers.net/blog/keycloak-authorization-services-rest-api-paths-and-payload/.
Параметры
Параметр | Комментарии |
|---|---|
auth_client_id string |
По умолчанию: |
auth_client_secret string | Секрет клиента, используемый совместно с |
auth_keycloak_url псевдонимы: url string / обязательный | URL экземпляра Keycloak. |
auth_password псевдонимы: password string | Пароль для аутентификации при доступе к API. |
auth_realm string | Имя realm Keycloak для аутентификации при доступе к API. |
auth_username псевдонимы: username string | Имя пользователя для аутентификации при доступе к API. |
client_id string / обязательный | clientId клиента Keycloak, для которого должна быть задана область авторизации. Обычно это понятное человеку имя клиента Keycloak. |
connection_timeout integer добавлено в community.general 4.5.0 | Задаёт время ожидания HTTP-соединения с API Keycloak (в секундах). По умолчанию: |
decision_strategy string | Стратегия принятия решения для этого разрешения. Варианты:
|
description string | Описание разрешения авторизации. |
http_agent string добавлено в community.general 5.4.0 | Настраивает заголовок HTTP User-Agent. По умолчанию: |
name string / обязательный | Имя создаваемого разрешения авторизации. |
permission_type string / обязательный | Тип разрешения авторизации. При При Варианты:
|
policies list / элементы=string | Имена политик, прикрепляемых к этому разрешению. По умолчанию: |
realm string / обязательный | Имя realm Keycloak, в котором находится клиент Keycloak. |
refresh_token string добавлено в community.general 10.3.0 | Токен обновления аутентификации для API Keycloak. |
resources list / элементы=string | Имена ресурсов, прикрепляемых к этому разрешению. Разрешения на основе областей действия могут включать только один ресурс. Разрешения на основе ресурсов могут включать несколько ресурсов. По умолчанию: |
scopes list / элементы=string | Имена областей действия, прикрепляемых к этому разрешению. К разрешениям на основе ресурсов нельзя прикрепить области действия. По умолчанию: |
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: Manage scope-based Keycloak authorization permission
community.general.keycloak_authz_permission:
name: ScopePermission
state: present
description: Scope permission
permission_type: scope
scopes:
- file:delete
policies:
- Default Policy
client_id: myclient
realm: myrealm
auth_keycloak_url: http://localhost:8080/auth
auth_username: keycloak
auth_password: keycloak
auth_realm: master
- name: Manage resource-based Keycloak authorization permission
community.general.keycloak_authz_permission:
name: ResourcePermission
state: present
description: Resource permission
permission_type: resource
resources:
- Default Resource
policies:
- Default Policy
client_id: myclient
realm: myrealm
auth_keycloak_url: http://localhost:8080/auth
auth_username: keycloak
auth_password: keycloak
auth_realm: master
Возвращаемые значения
Общие возвращаемые значения описаны здесь; ниже перечислены поля, уникальные для этого модуля:
Ключ | Описание |
|---|---|
end_state dictionary | Представление разрешения авторизации после выполнения модуля. Возвращается: при успешном выполнении |
|
decisionStrategy string | |
|
description string | |
|
id string |
Идентификатор разрешения авторизации. Возвращается: при Пример: |
|
logic string |
Логика, используемая для разрешения (часть полезной нагрузки с фиксированным значением). Возвращается: при Пример: |
|
name string | |
|
policies list / элементы=string |
Идентификаторы политик, прикреплённых к этому разрешению. Возвращается: при Пример: |
|
resources list / элементы=string |
Идентификаторы ресурсов, прикреплённых к этому разрешению. Возвращается: при Пример: |
|
scopes list / элементы=string |
Идентификаторы областей действия, прикреплённых к этому разрешению. Возвращается: при Пример: |
|
type string | |
msg string | Сообщение о выполненном действии. Возвращается: всегда |
Авторы
- Samuli Seppänen (@mattock)
Ссылки на коллекцию
© 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_authz_permission_module.html