Я тестирую службы авторизации Keycloak в консоли администратора и не могу понять, почему в следующем примере keycloak авторизует пользователя (проверено на вкладке evaluate
). это мои настройки:
- Создано царство
test
- Создано клиент
democlient
с Authorization Enabled
на - Создать роль царства
Admin
- Создайте пользователя
adminuser
и назначьте его на роль Admin
На вкладке Authorization
вместе с клиентом democlient
:
- In
Settings
-> Policy Enforcement Mode
имеет значение Enforcing
- Создать 2 области:
list
и save
- Создать ресурс
Resource A
с2 предыдущих области действия - На вкладке
Policies
создайте новую Role policy
с именем Только администраторы , где (конечно) я разрешаю только администраторам: - На вкладке
Permissions
создано разрешение Scoped-based
с именем , разрешение только для администраторов Ресурс A, область действия списка :
И это все. Теперь я проверяю на вкладке evaluate
эту политику, используя adminuser, роль Admin, Resource A, Scope List:
success! в мире все хорошо! ... кроме нет . еще раз проверив политику с помощью adminuser, роль Admin, ресурс A, Scope save (область, в которой я не определил никаких разрешений) Keycloak снова авторизует это правило: /
я предположил, чтоpolicy enforcement mode
, установленный на Enforcing
, запретит доступ к сохранению области из документации keycloak:
Режим применения политик определяет, как политики применяются при оценке запросов на авторизацию. «Принудительное» означает, что запросы отклоняются по умолчанию, даже если с данным ресурсом нет политики. «Разрешающий» означает, что запросы разрешены, даже если с данным ресурсом нет политики. «Отключено» полностью отключает оценку политик и позволяет получить доступ к любому ресурсу.
так ... что я делаю не так? как я могу заставить этот брелок лишить доступа к save scope
? (очевидно, я могу сделать разрешение, если я явно отрицаю эту область. но я хочу, чтобы по умолчанию было отказано, как сказано в документации). Любые идеи будут высоко оценены.