Keycloak 在KeyClope中评估共享资源权限时的逻辑
在评估共享资源的权限时,我很难理解逻辑Keycloak 在KeyClope中评估共享资源权限时的逻辑,keycloak,Keycloak,在评估共享资源的权限时,我很难理解逻辑 Alice使用范围读取、创建、删除 Alice创建策略isAdmin,验证用户是否是admin Alice创建一个权限,将策略isAdmin应用于资源aliceResource Alice将资源aliceResource与作用域read共享给用户Bob 评估权限 对于范围中的aliceResource,请为未分配角色的bob阅读。 问题1。为什么会忽略应用于资源的策略isAdmin? 对于bob的范围中的aliceResource,删除 问
- Alice使用范围
读取、创建、删除
- Alice创建策略
,验证用户是否是isAdmin
admin
- Alice创建一个权限,将策略
应用于资源isAdmin
aliceResource
- Alice将资源
与作用域aliceResource
共享给用户read
Bob
评估权限
- 对于范围
中的
,请为未分配角色的bob阅读aliceResource
。 问题1。为什么会忽略应用于资源的策略
?isAdmin
- 对于bob的范围
中的
,删除aliceResource
问题2。当bob没有分配角色时,为什么策略资源所有者即使我正在评估范围
删除
,也会授予
? 问题3。当bob担任读取
角色时,为什么结果是permit?,Alice与admin
共享bob
notread
delete
编辑1。 我已将我的客户评估策略设置为“一致”,我希望所有策略都适用,但如果我评估的用户的角色为“管理员”,而该用户的资源尚未共享,则决定为“授予”,我如何使客户机强制执行所有策略 现在,当资源被共享时,客户端正在我的策略和KeyClope创建的策略之间执行或
KeyClope没有明确的拨款决定文件。 这张图是我的理解。关键在于客户决策策略 如果设置为肯定,则将或逻辑。 如果设置一致,则将和逻辑。 我制定了自己的权限(读取、删除和创建)和策略。每个权限都有一个作用域(读取、删除或创建)。Bob分配了读取策略,admin分配了所有三个策略。在这种情况下,权限决策策略不起作用(由于在权限和范围之间分配了单个权限) 如果将其设置为禁用,则任何用户都可以访问aliceResource 这会通过设置客户决策策略影响两种情况。给鲍勃 这会通过设置客户决策策略影响两种情况。管理员 因此,如果您希望只允许bob读取范围和管理三个范围,那么客户机的决定应该是肯定的 这是我的测试结果。
感谢您的回答,我刚刚在我的帖子中添加了一个编辑,我遇到的问题是我需要客户强制执行所有策略,我将我的客户评估策略设置为
一致
。但是,当资源被共享时,评估是在我创建的策略和keydove创建的策略之间执行or。