如何为Keycloak授权创建Keycloak策略

时间:2020-10-14 11:53:08

标签: keycloak

我已经创建了一个客户端DemoClient,并且已经启用了Fine-grained Authorization选项。现在,“授权”标签对我可见。

这样,我可以看到多个子选项卡,如下所示,并且具有不同的范围,例如res:createres:updateres:delete等,还创建了{{ 1}}的名称为Client Policy,并将客户端选择为my_policy,并将该策略与DemoClient相关联(有图像可用)

enter image description here

enter image description here

如上所述,我已经做到了。现在我的问题是这个。

我有两个用户Scope Based PermissionMANAGER,并认为我创建了一个资源(manager_resource),该资源的所有者为CUSTOMER,并且仅在获得MANAGER User许可的情况下与CUSTOMER User共享了该资源,然后我使用res:create进行了验证。

作为用户,我选择Evaluate Tab作为用户,选择Resource作为CUSTOMERenter image description here

所以现在的问题是,它允许所有范围的许可,但是我只关联了manager_project范围。

我也尝试过JS Policy,但是我不想在解决方案中使用JS Policy。

1 个答案:

答案 0 :(得分:0)

这种方法怎么样?指向具有两个资源的相同资源。 enter image description here

客户资源 enter image description here

客户许可 enter image description here

客户政策 enter image description here 经理资源 enter image description here

管理员权限 enter image description here

经理政策 enter image description here

客户评估 enter image description here

客户结果 enter image description here

经理评估 enter image description here

经理结果 enter image description here

如果客户尝试通过其他两个范围进行访问,则将拒绝。 enter image description here