论文部分内容阅读
摘 要:统一用户管理是信息化建设的基础构件,而角色访问控制(RBAC)是目前信息安全领域的研究热点,本文在介绍用户管理和RBAC模型的基础上,将之应用于校务管理系统的统一用户管理体系中,给出了设计的逻辑结构模型和数据结构以及具体的实施方案。
关键词:统一用户管理 基于角色访问控制 校务管理系统
中图分类号:TP309.2文献标识码:B
文章编号:1673-8454(2007)09-0032-03
一、引言
在教育信息化发展的历程中,许多高校的管理部门都建设了管理信息系统,但是,基于部门业务建设的管理信息系统都是由不同的开发商在不同的时期采用不同的技术路线建设的,在这些管理信息系统中,大多数都有自成一体的用户管理、授权及认证系统,同一用户在进入不同的管理信息系统时需要使用不同的账号。这种操作方式不仅为用户的使用带来许多不便,更重要的是降低了学校信息化体系的可管理性和安全性。[1] 为此中山大学在建设新一代校务管理系统的过程中,提出了“五个统一”:统一数据库,统一标准、统一开发平台、统一用户管理、统一门户。[2] 根据“五个统一”的思想,在校务管理系统实施的进程中,通过统一规划和设计,开发建设一套统一的授权管理和用户身份管理及单点认证支撑平台。利用此支撑平台可以实现用户一次登录、系统内通用,避免多次登录到多个系统的情况。此外,可以对校务管理系统中的各个子管理信息系统的权限分配和权限变更进行有效地统一化管理,实现多层次统一授权,审计各种权限的使用情况,防止信息共享后的权限滥用,有效提高了管理信息系统的安全性。
二、用户管理的概念
用户是信息管理系统中各类活动的实体,如人、组织、虚拟团队等。用户管理是指在系统中对用户和权限的控制,包括身份管理、用户授权、用户认证等,身份管理是基础,用户授权和认证是之上的服务。[3] 身份是一个实体区别于其它实体的特性,系统中的身份通常指一个人在信息系统中的抽象,也可以是硬件、组织等实体的抽象,是属于一个特定的实体的属性的集合。身份属性具有一些特点:往往是较短的数据元素,如名称、邮件、电话、照片、数字证书等,也可以是一些指向信息,如网络链接、文档编号等;这些属性需要结构化的组织,并且满足一定的语义规定;由于身份信息的访问通常读的几率远大于写的几率,因此要求较高的数据质量。由于上述特点,身份信息非常适合以树状结构组织,通过目录方式存放,基于LDAP(V3)的目录技术也是当前身份管理的核心,是用户身份信息的组织、存储、交换、引用的基础工具。
(1)用户——可以独立访问计算机系统中的数据或者用数据表示的其它资源的主体,在通常的认证系统中即为用于登录系统的身份。每个登录系统的用户拥有唯一的标识,用户包括教师、学生、校友以及其他等。用户的权限通过所拥有的角色权限来体现。
(2)角色——功能权限的集合,包括岗位角色和系统角色。
(3)权限——对计算机系统中的数据或者用数据表示的其它资源进行访问的许可。我们用PERMISSION表示一个权限集合。可分为对象访问控制和数据访问控制两种。用户能够根据状态的不同而将自己拥有的权限分配给其它角色。权限最终可以组合成如下形式:(控制对象,访问类型,谓词)。
(4)对象访问控制——用一个二元组来表示:(控制对象,访问类型)。其中的控制对象表示系统中一切需要进行访问控制的资源。访问类型是指对于相应的受控对象的访问控制,如:读取、修改、删除等等。
(5)数据访问控制——如果不对数据访问加以控制,系统的安全性是得不到保证的,容易发生数据泄密事件。所以在权限中必须对对象可访问的数据按不同的等级给予加密保护。我们同样用一个二元组来表示:(控制对象,谓词)。
(6)用户授权——用户与角色之间是一个二元关系,我们用(u,r)来表示用户u被委派了一个角色r。
(7)权限配置——权限配置是角色ROLES与权限PERMISSION之间的一个二元关系,我们用(r,p)来表示角色r拥有一个权限p。
(8)组织机构——系统中涉及的管理部门,包括行政和教学机构等等。
2.数据结构的设计
根据系统对象,可以建立如下的数据结构:
用户表(USER):用户ID、用户密码、用户创建时间、用户失效时间、用户当前状态(可用/不可用)、用户类型(学生、教工、校友、游客)。
角色表(ROLE):角色ID、部门ID、角色名称、角色创建时间、角色有效开始时间、角色失效时间、角色类型(系统角色、岗位角色)、角色优先级。
权限表(PERMISSION):权限ID、权限名称、功能URI、权限所有者。
三个表之间的关系是多对多的,一个权限可能同时属于多个角色,一个角色中也可能同时包含多个权限。同样的道理,一个用户可能同时拥有多个角色,而一个角色中也可能同时包含多个用户。在数据库结构设计中,增加两张表(权限映射表和用户映射表)来表示上述三张表的交互,表之间的关系如图3所示。
3.设计过程中需要注意的地方
(1)对角色需要进行分级管理:校务管理系统涉及学校的各个部处,业务繁杂,角色众多,因此根据不同的业务子系统设立相应的子系统管理员,子系统管理员主要负责定义子系统的角色,为用户分配子系统的相关角色。
(2)岗位角色的定义:在设计过程中,将岗位角色和系统角色进行分离,系统角色是指根据业务需求抽象出来的系统资源权限的组合;而岗位角色则是根据相应的岗位要求将系统角色进行组合而生成的。定义岗位角色具有如下几个优点:
1)易于用户接受:通常用户不是专业的IT人员,对角色的概念并不很清晰,但对于岗位的概念大部分人员都是可以接受的。
2)减少子系统管理员配置角色时发生错误:通常子系统管理员熟悉业务,但并不一定非常熟悉系统定义的资源权限,如果直接要求子系统管理员对角色与资源权限进行对应,可能会造成配置角色的错误,而设置了岗位角色,子系统管理员在配置岗位角色时,就只需要对系统角色进行组合,有效减少子系统管理员的配置工作,从而降低配置失误的可能。
(3)角色与组织机构进行挂钩:通常在业务流或者数据权限的设定过程中,都会涉及用户所在组织机构的限制,譬如在办公自动化系统中,需要限制用户只能查看本部门的文件。在很多权限系统的设计中,直接将组织机构和用户关联起来,但是在高校中,会存在人员跨部门的情况,譬如某个学院的院长可能在其他学院或系所兼职,他需要查看两个或多个部门的文件,对于这种情况,简单地将用户与组织机构进行挂钩是无法满足需求的。将角色与组织机构进行挂钩,然后再将相应的角色赋给用户,从而灵活地解决上述人员跨部门的需求。
4.建立统一用户管理系统
(1)用户身份信息管理:包括用户身份的新增、调整、调离等功能。由于校务管理系统是综合、一体化的解决方案,因此用户身份信息的管理可以通过相关的业务系统来实现统一的用户管理流程。譬如教职工的基本信息入口是在人事系统中,在人事系统设计过程中,就定义了教职工身份管理流程:
1)人员身份的新增:教职工报到后在人事系统填写基本信息,由人事处审核,审核通过后系统将同步添加人员的身份,并由系统自动赋予基本使用权限。
2)人员身份的调整:有两种情况,一是单位内部岗位转换,由单位系统管理员进行岗位及权限的修改;二是调动到其他单位的,在人事系统中对其单位进行更改,其岗位及权限则由相关单位的管理员进行处理。
3)人员调离:在人事系统中设置其状态为不在校,同时系统自动将其身份设置为禁用。
(2)用户认证和授权
统一用户管理系统中最基本的服务是统一用户认证和授权。认证即是系统确定“你是谁”的过程,可以通过目录的基本操作、封装的目录接口、或者特定数据库认证方式实现。授权是系统确定“你可以做什么”的过程,采用RBAC模型的授权模块可以实现部门或个人与访问权限的逻辑分离,减少授权管理的复杂性,降低管理开销,而且与日常信息系统管理的架构类似,降低管理复杂度。
(3)统一审计
信息系统审计是记录信息系统用户活动行为的一种机制,它不但能够识别谁访问了系统,并能记录系统被怎样使用,从而为安全事件的事后处理提供依据。通过统一的认证授权服务集中审计,对用户的操作进行审计定制,可以监测异常访问行为,同时建立一些安全措施,并可以统计各个应用系统的利用情况。
(4)信息门户
统一的用户管理系统也是门户的基础,体现在两个方面,一是门户需要基于SSO(单独登录)方案提供无缝的身份和访问控制,二是需要通过身份信息进行基于角色的或者策略的访问控制,并提供自助服务的接口。
五、结束语
用户和身份管理一直是人们信息化实践的一部分,统一用户管理系统的意义在于要改变以往的松散、孤立的管理方式,创建统一并可重用的用户管理体系,并且逐步使之成为信息化中重要的基础性构件。本文提出了中山大学校务管理系统统一用户管理的实施方案,希望能够为各高校的校务管理系统建设提供有益的参考。
参考文献:
[1]统一用户及权限管理系统:http://tech.ccidnet.com/art/1123/20040910/153894_1.html
[2]中山大学数字化校园建设:http://home.sysu.edu.cn/szh/index.html
[3]统一用户管理在企业信息化中的价值及框架:http://www.telenews.com.cn/Article/775-1.htm
[4]基于角色管理的系统访问控制:http://www.infosecurity.org.cn/article/pki/pmi/23447.html
[5] D.F.Ferraiolo,D.R.Kuhn, R.Chandramouli. Role-Based Access Control:Artech House,Computer Security Series,2003.
[6]RBAC-NCITS-Standard:http://csrc.nist.gov/rbac/rbac-std-ncits.pdf
关键词:统一用户管理 基于角色访问控制 校务管理系统
中图分类号:TP309.2文献标识码:B
文章编号:1673-8454(2007)09-0032-03
一、引言
在教育信息化发展的历程中,许多高校的管理部门都建设了管理信息系统,但是,基于部门业务建设的管理信息系统都是由不同的开发商在不同的时期采用不同的技术路线建设的,在这些管理信息系统中,大多数都有自成一体的用户管理、授权及认证系统,同一用户在进入不同的管理信息系统时需要使用不同的账号。这种操作方式不仅为用户的使用带来许多不便,更重要的是降低了学校信息化体系的可管理性和安全性。[1] 为此中山大学在建设新一代校务管理系统的过程中,提出了“五个统一”:统一数据库,统一标准、统一开发平台、统一用户管理、统一门户。[2] 根据“五个统一”的思想,在校务管理系统实施的进程中,通过统一规划和设计,开发建设一套统一的授权管理和用户身份管理及单点认证支撑平台。利用此支撑平台可以实现用户一次登录、系统内通用,避免多次登录到多个系统的情况。此外,可以对校务管理系统中的各个子管理信息系统的权限分配和权限变更进行有效地统一化管理,实现多层次统一授权,审计各种权限的使用情况,防止信息共享后的权限滥用,有效提高了管理信息系统的安全性。
二、用户管理的概念
用户是信息管理系统中各类活动的实体,如人、组织、虚拟团队等。用户管理是指在系统中对用户和权限的控制,包括身份管理、用户授权、用户认证等,身份管理是基础,用户授权和认证是之上的服务。[3] 身份是一个实体区别于其它实体的特性,系统中的身份通常指一个人在信息系统中的抽象,也可以是硬件、组织等实体的抽象,是属于一个特定的实体的属性的集合。身份属性具有一些特点:往往是较短的数据元素,如名称、邮件、电话、照片、数字证书等,也可以是一些指向信息,如网络链接、文档编号等;这些属性需要结构化的组织,并且满足一定的语义规定;由于身份信息的访问通常读的几率远大于写的几率,因此要求较高的数据质量。由于上述特点,身份信息非常适合以树状结构组织,通过目录方式存放,基于LDAP(V3)的目录技术也是当前身份管理的核心,是用户身份信息的组织、存储、交换、引用的基础工具。

(1)用户——可以独立访问计算机系统中的数据或者用数据表示的其它资源的主体,在通常的认证系统中即为用于登录系统的身份。每个登录系统的用户拥有唯一的标识,用户包括教师、学生、校友以及其他等。用户的权限通过所拥有的角色权限来体现。
(2)角色——功能权限的集合,包括岗位角色和系统角色。
(3)权限——对计算机系统中的数据或者用数据表示的其它资源进行访问的许可。我们用PERMISSION表示一个权限集合。可分为对象访问控制和数据访问控制两种。用户能够根据状态的不同而将自己拥有的权限分配给其它角色。权限最终可以组合成如下形式:(控制对象,访问类型,谓词)。
(4)对象访问控制——用一个二元组来表示:(控制对象,访问类型)。其中的控制对象表示系统中一切需要进行访问控制的资源。访问类型是指对于相应的受控对象的访问控制,如:读取、修改、删除等等。
(5)数据访问控制——如果不对数据访问加以控制,系统的安全性是得不到保证的,容易发生数据泄密事件。所以在权限中必须对对象可访问的数据按不同的等级给予加密保护。我们同样用一个二元组来表示:(控制对象,谓词)。
(6)用户授权——用户与角色之间是一个二元关系,我们用(u,r)来表示用户u被委派了一个角色r。
(7)权限配置——权限配置是角色ROLES与权限PERMISSION之间的一个二元关系,我们用(r,p)来表示角色r拥有一个权限p。
(8)组织机构——系统中涉及的管理部门,包括行政和教学机构等等。
2.数据结构的设计
根据系统对象,可以建立如下的数据结构:
用户表(USER):用户ID、用户密码、用户创建时间、用户失效时间、用户当前状态(可用/不可用)、用户类型(学生、教工、校友、游客)。
角色表(ROLE):角色ID、部门ID、角色名称、角色创建时间、角色有效开始时间、角色失效时间、角色类型(系统角色、岗位角色)、角色优先级。
权限表(PERMISSION):权限ID、权限名称、功能URI、权限所有者。
三个表之间的关系是多对多的,一个权限可能同时属于多个角色,一个角色中也可能同时包含多个权限。同样的道理,一个用户可能同时拥有多个角色,而一个角色中也可能同时包含多个用户。在数据库结构设计中,增加两张表(权限映射表和用户映射表)来表示上述三张表的交互,表之间的关系如图3所示。
3.设计过程中需要注意的地方
(1)对角色需要进行分级管理:校务管理系统涉及学校的各个部处,业务繁杂,角色众多,因此根据不同的业务子系统设立相应的子系统管理员,子系统管理员主要负责定义子系统的角色,为用户分配子系统的相关角色。
(2)岗位角色的定义:在设计过程中,将岗位角色和系统角色进行分离,系统角色是指根据业务需求抽象出来的系统资源权限的组合;而岗位角色则是根据相应的岗位要求将系统角色进行组合而生成的。定义岗位角色具有如下几个优点:
1)易于用户接受:通常用户不是专业的IT人员,对角色的概念并不很清晰,但对于岗位的概念大部分人员都是可以接受的。
2)减少子系统管理员配置角色时发生错误:通常子系统管理员熟悉业务,但并不一定非常熟悉系统定义的资源权限,如果直接要求子系统管理员对角色与资源权限进行对应,可能会造成配置角色的错误,而设置了岗位角色,子系统管理员在配置岗位角色时,就只需要对系统角色进行组合,有效减少子系统管理员的配置工作,从而降低配置失误的可能。
(3)角色与组织机构进行挂钩:通常在业务流或者数据权限的设定过程中,都会涉及用户所在组织机构的限制,譬如在办公自动化系统中,需要限制用户只能查看本部门的文件。在很多权限系统的设计中,直接将组织机构和用户关联起来,但是在高校中,会存在人员跨部门的情况,譬如某个学院的院长可能在其他学院或系所兼职,他需要查看两个或多个部门的文件,对于这种情况,简单地将用户与组织机构进行挂钩是无法满足需求的。将角色与组织机构进行挂钩,然后再将相应的角色赋给用户,从而灵活地解决上述人员跨部门的需求。
4.建立统一用户管理系统
(1)用户身份信息管理:包括用户身份的新增、调整、调离等功能。由于校务管理系统是综合、一体化的解决方案,因此用户身份信息的管理可以通过相关的业务系统来实现统一的用户管理流程。譬如教职工的基本信息入口是在人事系统中,在人事系统设计过程中,就定义了教职工身份管理流程:
1)人员身份的新增:教职工报到后在人事系统填写基本信息,由人事处审核,审核通过后系统将同步添加人员的身份,并由系统自动赋予基本使用权限。
2)人员身份的调整:有两种情况,一是单位内部岗位转换,由单位系统管理员进行岗位及权限的修改;二是调动到其他单位的,在人事系统中对其单位进行更改,其岗位及权限则由相关单位的管理员进行处理。
3)人员调离:在人事系统中设置其状态为不在校,同时系统自动将其身份设置为禁用。
(2)用户认证和授权
统一用户管理系统中最基本的服务是统一用户认证和授权。认证即是系统确定“你是谁”的过程,可以通过目录的基本操作、封装的目录接口、或者特定数据库认证方式实现。授权是系统确定“你可以做什么”的过程,采用RBAC模型的授权模块可以实现部门或个人与访问权限的逻辑分离,减少授权管理的复杂性,降低管理开销,而且与日常信息系统管理的架构类似,降低管理复杂度。
(3)统一审计
信息系统审计是记录信息系统用户活动行为的一种机制,它不但能够识别谁访问了系统,并能记录系统被怎样使用,从而为安全事件的事后处理提供依据。通过统一的认证授权服务集中审计,对用户的操作进行审计定制,可以监测异常访问行为,同时建立一些安全措施,并可以统计各个应用系统的利用情况。
(4)信息门户
统一的用户管理系统也是门户的基础,体现在两个方面,一是门户需要基于SSO(单独登录)方案提供无缝的身份和访问控制,二是需要通过身份信息进行基于角色的或者策略的访问控制,并提供自助服务的接口。
五、结束语
用户和身份管理一直是人们信息化实践的一部分,统一用户管理系统的意义在于要改变以往的松散、孤立的管理方式,创建统一并可重用的用户管理体系,并且逐步使之成为信息化中重要的基础性构件。本文提出了中山大学校务管理系统统一用户管理的实施方案,希望能够为各高校的校务管理系统建设提供有益的参考。
参考文献:
[1]统一用户及权限管理系统:http://tech.ccidnet.com/art/1123/20040910/153894_1.html
[2]中山大学数字化校园建设:http://home.sysu.edu.cn/szh/index.html
[3]统一用户管理在企业信息化中的价值及框架:http://www.telenews.com.cn/Article/775-1.htm
[4]基于角色管理的系统访问控制:http://www.infosecurity.org.cn/article/pki/pmi/23447.html
[5] D.F.Ferraiolo,D.R.Kuhn, R.Chandramouli. Role-Based Access Control:Artech House,Computer Security Series,2003.
[6]RBAC-NCITS-Standard:http://csrc.nist.gov/rbac/rbac-std-ncits.pdf