策略执行需要在资源服务内集成一个 Policy Enforcement Point (PEP,资源执行点),以便与Keycloak服务进行通信获取相关的权限信息等,从而决定哪些资源可以被访问。
======================================================================================
要想启用Keycloak的细粒度权限控制,需要先创建相应的客户端,并启用授权服务。然后根据上面的授权处理流程,进行资源管理、权限和策略管理的配置。本文模拟如下场景来进行配置,以便更好的理解配置内容。
场景如下:
-
需要被保护的应用有 /admin 、 /customer/view 、 /customer/delete 三个主要资源
-
拥有 ROLE_ADMIN 角色的用户可以访问所有资源
-
拥有 ROLE_CUSTOMER 角色的用户仅可以访问 /customer/view ,其他资源不能访问
接下来便看下针对如上模拟的场景,在Keycloak后台具体要如何配置。
==========================================================================
-
创建3个角色,其中 ROLE_USER 给所有用户都进行绑定
-
创建2个用户并绑定角色
===============================================================================
-
新建客户端
-
设置 confidential 访问类型,并启用授权
=======