RBAC模型,role-based access control,基于角色的访问控制
RBAC认为权限授权的过程可以抽象地概括为:Who是否可以对What进行How的访问操作,并对这个逻辑表达式进行判断是否为True的求解过程,也即是将权限问题转换为Who、What、How的问题,Who、What、How构成了访问权限三元组。
在RBAC模型里面,有3个基础组成部分,分别是:用户、角色和权限:
- 角色(Role):角色是一组具有相似职责或权限的用户集合。角色可以根据组织的需求和结构进行定义,如管理员、用户、编辑员等。
- 权限(Permission):权限指的是用户在系统中可执行的操作或访问的资源。权限可以是对某个功能模块的使用权限,也可以是对某个数据对象的访问权限。
- 用户(User):用户是系统中的实际操作者。用户通过被赋予一个或多个角色,获得相应的权限。用户通过角色间接地拥有了权限,从而可以访问系统中的资源。
关系大致如下:
简单来说:
一个用户有一个或多个角色
一个角色包含多个用户
一个角色有多种权限
一个权限属于多个角色
将用户对应到角色,通过角色来确定权限
通过角色的权限管理,简化了用户权限管理的复杂性,减少了管理工作的负担。