一、角色
角色是一组权限的统称,在系统中体现为一些相关的职责以及数据权限的范围。
角色作为用户与权限的联结点,是无法独立存在的。
用户通过扮演不同的角色来完成权限的控制。对用户比较多,管理上要求角色职责分明的公司可以通过以角色为中间环节,实现更快捷的批量授权功能。
(一)角色的类型
在ARBAC分布式角色管理模型中,对角色分为管理类角色和业务类角色两类,将角色的管理从职能上进行了分离。
管理类角色与业务类角色的权限不一样,是一对互斥的角色。管理类角色负责权限设置、组织管理、流程创建等功能,业务类角色执行数据的录入,审计,查询等功能。
1.管理类角色
管理类角色,顾名思义属于管理员才应该配置的角色,管理类角色有专属的管理类应用权限。
(1)管理员角色的分类
为支持管理员的多级管控,角色可分为四种角色,按照先后顺序分为:超级管理员、系统管理员、集团管理员(包括集团管理员和普通管理员)和业务员。
-
超级管理员:一般为root/super用户,为系统内置的超级用户,root有单独的登陆地址:输入口令,进入系统管理的工作台,可进行应用系统的后台管理,例如应用系统创建、维护,可以创建其他超级管理员和系统管理员。一般由开发人员或乙方系统实施的专业人员担任。
-
系统管理员:主要职能是创建其他集团,维护集团管理员,进行系统初始化和基础数据管控模式的配置等。由超级管理员创建和维护,可以有多个系统管理员。
-
集团管理员:主要用于集团范围内的权限设置、组织管理、基础数据管理、流程建模、系统管理等,由系统管理员在系统初始化中创建并授权,一个集团可以有多个集团管理员。
-
普通管理员:由集团管理员或拥有相应授权权的管理员创建并授权,其权限不能大于对其授权的管理员,其授权权范围(可管理用户组、可管理角色组、可转授组织、可分配应用、可管理资源)是由创建他的管理员限定的。主要用于权限设置、组织管理、基础数据管理、流程建模、系统管理、维护等。
-
业务员:由集团管理员或普通管理员创建,普通管理员只能为业务员分配其授权权范围内的权限。企业业务系统中的真实用户,与企业的业务相关。
从访问和操作的角度,又可将角色分为需内置的系统管理员和需授权的一般操作员两大类。
系统管理员无需授权即拥有系统类功能权限和管理类功能权限和数据权限,一般操作员则需要经过授权获得管理类和业务类的功能权限和数据权限。
企业可根据实际需要,将管理操作类用户和业务操作类用户通过不同角色分开,也可将授权权角色从一般管理类角色中剥离出来,支持企业将授权权、管理权、业务权分离,给予员工完成工作所需的访问权。
(2)权限控制策略
管理员角色的权限控制一般有两种:超级管理控制策略,三权分立控制策略。
最常见的超级管理控制策略即Administrator具有所有系统管理权限,管控简单便捷,相对粗放。
随着企业经营规模的扩大,系统中管理员的权限过大,可以管理企业包括:组织、人员、权限和日志在内的所有信息,管理员一人独大的状况在信息安全方面很容易出现问题。因此,企业对于分散管理员权限的诉求十分强烈。
当遇到上述问题时,可以考虑使用三权分立控制策略,简称三员管理。分为系统管理员、审计管理员、安全管理员。
名称 | 用户名 | 描述 |
---|---|---|
系统管理员 | administrator | 系统预置,负责软件系统的日常运维相关配置,如组织人员维护、编码规则与参数配置等。 |
审计管理员 | audit | 系统预置,负责对用户操作日志、用户权限状况、审计日志等跟踪分析和监督检查,及时发现违规风险。 |
安全管理员 | security | 系统预置,负表系统安全相关的配置与管理,如角色设置,用户授权、用户权限冻结,用户权限查询等。 |
三权分立控制策略安全管控等级更高,分权管理员之间互相制约与监督。
2.业务类角色
业务类角色又分为通用角色和业务角色,属于给业务操作员(非管理员)授予的角色。
假如,某企业有100个相同职能的工厂,每个工厂中都有采购员这个职位,这些采购员所需要的系统功能都一样,但由于负责不同的工厂,所以其权限要求采购员只能处理自己工厂的单据。
在这种业务背景下,我们就可以考虑使用角色的继承或者派生的方式,对角色进行创建和管理。
我们可以先创建一个通用角色,这个通用角色只有具体指定的权限对象,没有任何组织架构的信息;接着我们在通用角色的基础上在派生出本地角色,那么这些派生出的本地角色,就可以指定具体的组织架构信息了。
结合我们所举例的业务场景,我们先针对采购员对采购订单处理的职能,创建一个通用角色,接着通过这个通用角色,派生出100个工厂的本地角色。
很明显,这种派生或者继承的方式,也有人理解为本地角色可以理解为在通用角色上生长出来的,所以也会称呼为“母角色”和“子角色”。
-
优点:由于通用角色和本地角色之间有继承关系,如果角色有更改要求,比如修改某个权限对象,可以仅修改通用角色,然后派生到其他本地角色上。可以有效地减少工作量。
-
缺点:也正是由于通用角色和本地角色之间有继承关系,所以对角色管理要求较高,不能随便修改通用角色,一旦对通用角色修改同时进行派生,会导致大面积角色变动,风险较高。
所以,继承派生方式的特点就是集成度高,集成度高的好处就便于修改变更,但实际使用中,由于缺少灵活性,其管理成本也变高了,一旦管理不当就会产生牵一发而动全身的风险。
(1)通用角色
企业按照业务职能定义通用角色,对多个实体表