随着企事业单位信息化的加速发展,特别是政府、事业单位、企业等领域,由于日常部门较多、分工较细化,对用户访问权限控制管理的灵活性、易维护性提出了更高的需求,因此,高效且先进的权限控制方式是十分必要的。对于在网站环境中的访问控制方法,基于角色的访问控制方法(rbac)是目前公认的解决中大型网站信息化的统一资源访问控制的有效方法。其显著的两大特征是:
1、减小授权管理的复杂性,降低管理开销。
2、灵活地支持网站的安全策略,并对网站职能的变化有很大的伸缩性。
动易sitefactory™ cms 正是一套以面向政府、事业单位、企业等领域为开发对象的企业级内容管理系统,它采用的就是基于标准rbac模型(角色)的访问控制方法。如下图所示,传统权限与动易sitefactory™ cms角色的对比图:
从对比可以看出,目前国内大大小小的内容管理系统(cms)和信息管理系统,大都采用的是静态的权限控制方法或者会员组的较原始权限形态,不能够满足目前互联网信息爆炸时代的高维护性、高灵活性、高统一性的特点,特别是各信息门户、复杂网店及行业垂直信息领域的应用需求,因此,角色(rbac模型)在cms中的应用必将是趋势所在。那么,它究竟有何魔力呢?今天将要介绍的内容就是结合动易sitefactory™中角色的权限分配来为你解答。
角色的概念
角色是用户在某个环境中的身份,这个身份拥有某些相匹配的权限。角色也一种是自定义权限的集合,您可以建立多个角色,并给每个角色指定多个权限。 例如学校网站的教师、学生、论坛管理员都是一种角色。对于每一个角色,他可以拥有一系列权限,而这些权限是相对固定的。
动易sitefactory™ cms的角色是通过标准rbac(基于角色的访问控制)模型实现的,下图为sitefactory™ cms中角色应用举例示意图。我们建立了“仓管”、“财务人员”、“销售员”、“设计师”、“栏目编辑”、“总编”等角色,并且它们都具有相对独立的控制权限。将张三、李四、王五赋予不同的角色后,他们就拥有了一系列权限。从图中看出用户与角色是多对多的关系。即一个用户可以属于多个角色之中,一个角色可以包括多个用户。
角色的特点
1、访问权限与角色相关联,不同的角色有不同的权限。用户以什么样的角色对资源进
行访问,决定了用户拥有的权限以及可执行何种操作。
比如:我们使用动易sitefactory™ cms在后台添加一个“订单处理员”的角色,拥有“查看订单”、“修改订单”、“删除订单”、“订单作废”的权限;添加“订单结算员”的角色,拥有“订单过户”、“订单关闭”的权限。赋予张三“订单处理员”的角色,那么张三就拥有了“查看订单”、“修改订单”、“删除订单”、“订单作废”的权限,而不具备“订单结算员”的权限。
2、角色继承。角色之间可能有互相重叠的职责和权力,属于不同角色的用户可能需
要执行一些相同的操作。rbac 采用角色继承的概念,如:角色 2 继承角色 1,那么管理员在定义角色 2 时就可以只设定不同于角色1 的属性及访问权限,避免了重复定义。
比如:我们需要对“订单处理员”和“订单结算员”进行人员管理和操作监督,需要建立“订单监督员”这么一个角色,它必须拥有处理员和结算员的权限外,还需要拥有“角色管理”、“查看操作日志”、“投诉管理”的权限,因此,根据角色的继承特点,在sitefactory™ cms 后台的角色管理中,只需要给“订单监督员”添加“角色管理”、“查看操作日志”、“投诉管理”的权限,然后同时赋予李四“订单监督员”、“订单处理员”、“订单结算员”的角色就可以了。
* 角色的继承特点也是区别与传统会员组的比较明显的特点了。
3、最小权限原则,即指用户所拥有的权力不能超过他执行工作时所需的权限。实现最小特权原则,需要分清用户的工作职责,确定完成该工作的最小权限集,然后把用户限制在这个权限结合的范围之内。一定的角色就确定了其工作职责,而角色所能完成的事物蕴涵了其完成工作所需的最小权限。用户要访问信息首先必须具有相应的角色,用户无法饶过角色直接访问信息。
比如:以动易sitefactory™ cms投稿功能为例,会员添加文章后需要等待管理员进行审核,审核的过程中可能会涉及到文章的修改、退稿、存档、删除、短信通知的操作,因此,如果我们需要建立专门的文章审核员,那么它需要至少拥有文章的修改、退稿、存档、删除、短信通知的操作权限,那么文章审核员的最小权限就是以上的操作权限。这样,不仅让各环节人员清楚自己的工作职责,而且可以对网站权限的合理分配进行优化。
4、职责分离。一般职责分离有两种方式:静态和动态。
静态是固定的限制某类用户的控制权限;
动态是如用户组、角色等可以管理员动态控制用户的控制权限。目前一些主流的cms都是以动态为主。
动易sitefactory™ cms 职责分离进行了加工,不仅可以根据传统的后台管理功能权限来划分,而且可以根据不同栏目、模型的字段权限(如:录入、删除、浏览)等进行划分。可以说将权限划分管理从“片”精确到了“点”上。
角色的应用优势
1、接近现实世界
在现实世界中,角色间往往存在着相互排斥性。例如,一个银行系统中,如果某个用户是贷款角色中的一员,那么这个用户绝对不可以再属于借款角色。显然,角色间相互排斥性的存在是十分必要的,它避免了用户为自己的利益而对组织进行破坏活动。由此可见,角色模型直接体现出了现实世界中普遍存在的角色间的相互排斥关系以及活跃排斥关系,较好地把模型与现实世界中普遍存在的现象结合在了一起,从而大大缩小了模型与现实世界的差距,使之接近了现实世界。
接近现实世界的最突出的优点在于:系统管理员能够借鉴常识和现实中积累的经验对部门、学校、企业的安全政策划分不同的角色,执行特定的任务。一个系统建立起来后主要的管理工作即为授权或取消用户的角色。用户的职责变化时只需要改变角色即可改变其权限;当组织功能变化或演进时,则只需删除角色的旧功能,增加新功能,或定义新角色,而不必更新每一个用户的权限设置。这极大的简化了授权管理,使对信息资源的访问控制能更好地适应特定单位的安全策略。
2、全面性
全面性的优势体现在为系统管理员提供了一种比较抽象的、与企业通常业务管理性类似的权限访问控制层次。通过定义、建立不同的角色、角色的继承关系、角色之间的联系以及相应的限制、管理员可动态或静态地规范用户的行为。
从角色的特点和优势来看,内容管理系统应用角色来控制用户访问权限要比传统会员组固定权限简便和专业的多。特别是角色应用的优势规定了用户各尽其职,像公司部门组织一样,具有一定的个人角色和部门角色。人员关系、组织的清晰化,利于提高整体网站的业务水平、节省人力成本和优化工作流程。