Keycloak 如何为keydrope授权创建keydrope策略
我创建了一个客户机Keycloak 如何为keydrope授权创建keydrope策略,keycloak,Keycloak,我创建了一个客户机DemoClient,并在其中启用了细粒度授权选项。现在,授权选项卡对我是可见的 在这里,我可以看到如下所示的多个子选项卡,我有不同的作用域,如res:create,res:update,res:delete等,还创建了名为my\u Policy的客户端策略,并将客户端选择为DemoClient,并将该策略与基于范围的权限相关联(图像可用) 如上所述,我已经做到了。现在我的问题是 我有两个用户管理器> />代码>代码>客户>代码,并考虑我创建了一个资源(Manager资源)
DemoClient
,并在其中启用了细粒度授权
选项。现在,授权选项卡对我是可见的
在这里,我可以看到如下所示的多个子选项卡,我有不同的作用域,如res:create
,res:update
,res:delete
等,还创建了名为my\u Policy
的客户端策略
,并将客户端选择为DemoClient
,并将该策略与基于范围的权限相关联(图像可用)
如上所述,我已经做到了。现在我的问题是
我有两个用户<代码>管理器> />代码>代码>客户>代码,并考虑我创建了一个资源<强>(Manager资源)该资源的所有者是
MANAGER User
,并且仅使用res:create
权限与客户用户
共享该资源,然后我使用评估选项卡
进行验证
作为用户,我选择了CUSTOMER
作为用户,选择Resource作为manager\u project
。
现在的问题是它允许所有作用域的权限,但我只关联了res:create
作用域。
我也尝试过使用JS策略,但我不想在解决方案中使用JS策略。这种方法怎么样?用两个资源指向同一资源。 客户资源 客户许可 客户政策 经理资源 经理许可 经理政策 顾客评价 客户结果 经理评价 经理业绩 如果客户尝试通过其他两个作用域访问,将拒绝。
感谢您的回复,但问题是我需要为其创建一个单独的资源如果假设我与1000名用户共享此资源,那么对于单个资源,我需要创建1000个资源?我认为这不是一个合适的解决方案。如果我有1000个资源和1000个用户呢?这是一个很难维护的复杂解决方案。我已经尝试过使用JS策略,甚至对我来说也很有效,但我不想使用JS来创建策略。如果将组使用到客户策略中,它将针对1000个用户。创建客户策略时,请选择“使用组创建”,然后选择组分配1000个用户。我更新了我的答案图像-概述和客户策略