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个用户。我更新了我的答案图像-概述和客户策略