Как создать политику Keycloak для авторизации Keycloak

Я создал клиента DemoClient и в нем включил параметр Fine-grained Authorization. Так что теперь мне видна вкладка «Авторизация».

В нем я вижу несколько вложенных вкладок, как показано ниже, и у меня разные области действия, такие как res:create, res:update, res:delete и т. Д., А также я создал Client Policy с именем my_policy и выбрал клиента как DemoClient и связал эту политику с Scope Based Permission (Изображение доступно)

введите описание изображения здесь

введите описание изображения здесь

Как сказано выше, я это сделал. Теперь у меня такой вопрос.

У меня два пользователя MANAGER & CUSTOMER, и я считаю, что создал один ресурс (manager_resource), а владельцем этого ресурса является MANAGER User, и поделился этим ресурсом с CUSTOMER User только с res:create разрешением, а затем я оценил что для проверки используется Evaluate Tab.

Как пользователь я выбрал CUSTOMER в качестве пользователя, а ресурс - как manager_project. введите описание изображения здесь

Теперь проблема в том, что он разрешает все разрешения области, но я связал только res:create область.

Я также пробовал использовать политику JS, но я не хочу использовать политику JS для решения.


person G T    schedule 14.10.2020    source источник


Ответы (1)


Как насчет такого подхода? указывая на один и тот же ресурс двумя ресурсами. введите описание изображения здесь

Ресурсы для клиентов  введите описание изображения здесь

Разрешение клиента  введите описание изображения здесь

Политика для клиентов  введите здесь описание изображения Менеджер ресурсов  введите описание изображения здесь

Разрешение менеджера  введите описание изображения здесь

Политика менеджера  введите описание изображения здесь

Оценка клиента  введите описание изображения здесь

Результат клиента  введите описание изображения здесь

Оценка менеджера  введите описание изображения здесь

Результат менеджера  введите описание изображения здесь

Если клиент попытается получить доступ к другим двум областям, будет ОТКАЗАНО. введите описание изображения здесь

person Bench Vue    schedule 14.10.2020
comment
Спасибо за ваш ответ, но проблема в том, что мне нужно создать отдельный ресурс для этого, если предположим, что я делюсь этим ресурсом с 1000 пользователей, то для одного ресурса мне нужно создать 1000 ресурсов? Не думаю, что это подходящее решение. А что, если у меня 1000 ресурсов и 1000 пользователей? Это очень трудное и сложное решение в обслуживании. - person G T; 15.10.2020
comment
Я пробовал использовать политику JS, и даже она у меня работает, но я не хочу использовать JS для создания политики. Политика JS - person G T; 15.10.2020
comment
Если группа используется в политике клиента, она адресована 1000 пользователям. Когда вы создаете политику клиента, выберите «Создать с группой», а затем назначьте группе 1000 пользователей. - person Bench Vue; 15.10.2020
comment
Я обновил изображения для ответов - обзор и политика для клиентов - person Bench Vue; 15.10.2020