Сервисы авторизации Keycloak не отрицают возможности в ресурсе - PullRequest
0 голосов
/ 10 ноября 2019

Я тестирую службы авторизации 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 с именем Только администраторы , где (конечно) я разрешаю только администраторам: creation of role policy
  • На вкладке Permissions создано разрешение Scoped-based с именем , разрешение только для администраторов Ресурс A, область действия списка : Creation of permission where only an admin can access the Resource A and Scope list

И это все. Теперь я проверяю на вкладке evaluate эту политику, используя adminuser, роль Admin, Resource A, Scope List:

Keycloak Authorizing the rule

success! в мире все хорошо! ... кроме нет . еще раз проверив политику с помощью adminuser, роль Admin, ресурс A, Scope save (область, в которой я не определил никаких разрешений) Keycloak снова авторизует это правило: /

я предположил, чтоpolicy enforcement mode, установленный на Enforcing, запретит доступ к сохранению области из документации keycloak:

Режим применения политик определяет, как политики применяются при оценке запросов на авторизацию. «Принудительное» означает, что запросы отклоняются по умолчанию, даже если с данным ресурсом нет политики. «Разрешающий» означает, что запросы разрешены, даже если с данным ресурсом нет политики. «Отключено» полностью отключает оценку политик и позволяет получить доступ к любому ресурсу.

так ... что я делаю не так? как я могу заставить этот брелок лишить доступа к save scope? (очевидно, я могу сделать разрешение, если я явно отрицаю эту область. но я хочу, чтобы по умолчанию было отказано, как сказано в документации). Любые идеи будут высоко оценены.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...