您的位置:首页 > 其它

角色管理实施方案

2009-07-09 16:19 190 查看
简介


安全管理系统核心思想是在基于角色控制思想的基础上提取改进而来的,通过对系统的功能模块访问控制来实现。访问控制是针对越权使用资源的防御措施;基本目标是为了限制访问主体(用户、进程、服务等)对访问客体(文件、系统等)的访问权限,从而使计算机系统在合法范围内使用;决定用户能做什么,也决定代表一定用户利益的程序能做什么。基于角色的访问控制方法是目前公认的解决大型企业的统一资源访问控制的有效方法。其显著的两大特征是:1.
减小授权管理的复杂性,降低管理开销;2.
灵活地支持企业的安全策略,并对企业的变化有很大的伸缩性。

名词简介



安全管理:

计算机技术安全管理的范围很广,可以包括网络安全性、数据安全性、操作系统安全性以及应用程序安全性等。很多方面的安全性管理大都已经有成熟的产品了,我们只需根据自己需要有选择性的使用就可达到自己的目的了。本文中有关关涉及"
安全管理"
一词均只针对本公司推出的应用中有关对象与数据而言范围有限。

主体:

即可以像应用系统发出应用请求任何实体,包括各种用户、其它与本系统有接口的应用程序、非法入侵者。系统必须具有识别主体的能力,接口实际上也是由用户登记的,故主要问题是校验用户身份的合法性,系统应建立用户鉴别机构以验证用户身份。

用户:

用户就是一个可以独立访问计算机系统中的数据或者用数据表示的其它资源的主体,我们用USERS
表示一个用户集合。用户在一般情况下是指人。

权限:

权限是对计算机系统中的数据或者用数据表示的其它资源进行访问的许可。我们用PERMISSION
表示一个权限集合。可分为对象访问控制和数据访问控制两种。

对象访问控制:

用一个二元组来表示:(控制对象,访问类型)。其中的控制对象表示系统中一切需要进行访问控制的资源。我们将引入一套完整的资源表示方法来对系统中出现的各类资源进行定义和引用。访问类型是指对于相应的受控对象的访问控制,如:读取、修改、删除等等。

数据访问控制:

如果不对数据访问加以控制,系统的安全性是得不到保证的,容易发生数据泄密事件。所以在权限中必须对对象可访问的数据进行按不同的等级给予加密保护。我们同样用一个二元组来表示:(控制对象,谓词)。

权限最终可以组合成如下形式:

(控制对象,访问类型,谓词)。

角色:

角色是指一个组织或任务中的工作或位置,它代表了一种资格、权利和责任。我们用ROLES
表示一个角色集合。

用户委派:

用户委派是USERS
与ROLES
之间的一个二元关系,我们用(u,r
)来表示用户u
被委派了一个角色r


权限配置:

权限配置是ROLES
与PERMISSION
之间的一个二元关系,我们用(r,p
)来表示角色r
拥有一个权限p


需求分析



1、

角色与用户

登录系统,首先需要向系统申请注册,同一个用户只能在系统中登记一次。

用户是登录系统的楔子,角色是用户权限的基础。用户可以扮演多个角色。

将某一角色授予某一用户时,权限不能超越该角色权限,但可以小于该角色权限。

用户口令与数据库访问口令加密。

分析说明

每个用户在系统中由一个唯一的USERID
标识。

用户通过系统登录界面登录系统,
系统通过加密算法验证用户身份和判断用户是否已经登录系统。如果登录成功通知Application
preference service
和安全管理系统保存用户登录信息。

角色由用户根据自己的设想的组织机构进行添加设置,提供一个专门的模块用来设置组织机构,用户通过组织机构(
定义部门机构还是后面提到的"
机构是实现和执行各种策略的功能的集合")
方便地进行角色管理。例如:用户可以通过部门机构来进行角色的管理,部门采用编号分层的方式,
编号的每两位为一个层次。例如一级部门编号为两位,二级部门编号为四位依此类推下去直到将全厂部门机构建立树状结构图。这类数据仅为方便用户管理角色而存在,在系统的其他方面不存在任何意义。

每个角色在系统中也是由一个唯一角色编号来标识,同时必须保存用户所设置的机构信息,一般来说每个角色只需要保存自己所在机构的代码即可。

2、

对象控制

对象是指应用系统窗口中的可视对象,如菜单项、按钮、下拉列表框、数据编辑控件及数据编辑控件的字段等。对象控制通过角色与用户授权来实现。

对象控制包括对对象属性的控制可对数据编辑控件中的数据记录的维护权限:

对象属性:使能/
禁止、可视/
屏蔽

记录维护:增加、删除、修改的组合

分析说明

将每个业务模块可进行属性设置的对象由程序员事先设定或由售后技术支持工程师指导用户加入。

在系统管理员或授权用户进行设置业务模块的每种权限时,设置用户在拥有该业务模块这种权限时的对象属性。没有设置属性的对象在保存对象信息的时候,用户权限信息中不被保存。

3、

记录集控制

记录集的控制是通过条件设置来实现,因此,需要控制记录集的数据库表需要设置专门的记录集筛选字段,而筛选条件由用户根据岗位自行定义,建立过滤表,统一管理。

分析说明

1.

在对用户设置业务模块权限时,同时在过滤表中设置本模块的数据编辑控件的数据筛选条件,筛选条件是组成SQL
语句的WHERE
条件子句迫使当前访问的模块根据筛选条件对数据编辑控件的SQL
语句进行重组,并检索数据。

2.

当存在需要从数据库中多个表取数据的情况时,过滤表中存在多条记录,每一条记录记录一个数据编辑控件取数的筛选条件。

3.

SQL
语句的WHERE
子句的生成与校验可以通过的SQL
语法分析服务,利用对象所提供的函数分析SQL
语句,截取WHERE
条件子句,校验新组合的SQL
语句的合法性。

4、

权限分布管理

上述提到的权限管理内容应该满足既可集中管理,也可分散管理的目标。

分析说明

权限管理由系统管理员集中管理,系统管理员工作负担过大,难对所有岗位的分工有全面和具体的了解,对权限作出标准细致的划分,对于大型的管理系统适合于把一部分设置权限的交由一些比较高级的用户来进行,有利于各岗位细致协调的工作。这就是权限的分散管理。

要实现权限的分散管理,就须对授权模块进行一些授权管理,这要求整个系统的授权安全管理工作要做到细致,不要出现权限的漏洞使一些高级用户拥有过大的权限。

角色定义与权限配置



1
角色定义

基于角色的访问控制方法的思想就是把对用户的授权分成两部份,用角色来充当用户行驶权限的中介。这样,用户与角色之间以及角色与权限之间就形成了两个多对多的关系。系统提供角色定义工具允许用户根据自己的需要(职权、职位以及分担的权利和责任)定义相应的角色。角色之间有相应继承的关系,当一个角色r1
继承另一个角色r2
时,r1
就自动拥有了r2
的访问权限(
表示r1->r2)
。角色继承关系自然的反映了一个组织内部权利和责任的关系,为方便权限管理提供了帮助。角色继承关系提供了对已有角色的扩充和分类的手段,使定义新的角色可以在已有角色的基础上进行,扩充就是通过增加父角色的权限去定义子角色,分类通过不同子角色继承同一父角色来体现。另外还允许多继承,即一个角色继承多个父角色,多继承体现对角色的综合能力。

2、


权限配置


角色是一组访问权限的集合,一个用户可以是很多角色的成员,一个角色也可以有很多个权限,而一个权限也可以重复配置于多个角色。权限配置工作是组织角色的权限的工作步骤之一,只有角色具有相应的权限后用户委派才能具有实际意义。

3、


用户、用户组定义



1.

用户定义


系统的最终使用者是用户,因此必须建立用户的鉴别机构,登记用户的身份信息。在系统中定义可登录的用户操作系统是系统安全管理所必须步骤,也是人与系统的接口。

2.

用户组定义


为了本系统适用于分散式权限管理,加入了用户组的概念,是指一群用户的集合。方便权限管理用户组也可以委派角色,当用户被加入用户组时自动对用户的所在用户组拥有的角色进行了委派。为了便于分散式权限管理系统同时还支持对部分组的权限进行下发方式处理,授权特定的用户对用户组的用户权限进行管理。

4

、权限审查


在授权完成后可检查登录用户所的拥有的能力表信息,审查给用户的权限是否合适,如不合适可重新进行用户委派和收回部分权限的处理。目前系统只能以对用户组管理的模式对一个用户组内的用户可进行部分权限收回处理。

一般的情况就是这样,写实际的方案时,要根据自己需要进行角色管理设计。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: