基于CAS的统一用户管理系统的设计与实现
2015-12-02孙浩志黄宁玉
孙浩志, 黄宁玉
(北京大学医学部信息通讯中心,北京 100191)
0 引 言
随着高等学校信息化的快速发展,校园网内各种应用系统逐渐增多,这些建立在校园网络上的应用系统就像一些散布各处的信息孤岛,它们拥有各自的用户管理机制,校园网管理员也因此需要维护多个校园应用的用户数据.本文将会基于现有的CAS平台和其他校园应用系统通过Web Service进行对接,开发校园网的统一用户管理系统.此外,统一认证虽然方便了用户,不过也带来了信息泄密的隐患.在信息安全越来越重要的今天,如果还是所有应用都是用一个口令,就无法满足用户的安全需求.因此本系统不强制所有的应用系统都使用统一身份认证,对于信息安全要求高的应用,典型的如邮件系统、校内支付平台等,将使用本地认证方式,允许用户设置独立的口令.
1 现 状
北京大学医学部中央认证服务CAS自2012年上线以来,已有大量校内应用系统通过CAS平台进行认证,用户只需一个口令,即可访问校内门户、邮箱、网关、支付和共享软件平台等校园网应用系统.CAS平台的上线方便了全校师生,但随着系统的运行也逐渐显现出一些不足.
首先,校园网络应用缺乏统一用户管理机制.每个应用系统都自己实现一套用户管理机制,不但增加了存储信息的冗余,还会占用管理员的时间去维护各个应用系统的用户信息.对于应用系统的开发人员,除了开发应用逻辑之外,还必须花费大量的精力来为应用系统开发用户管理功能模块,这样不但增加了用户管理的成本,而且增加了系统实现的难度和系统维护的难度.
其次,所有系统共用一个口令,给用户的信息安全带来了极大隐患.统一认证虽然能给用户带来方便,但并不适合所有的应用系统,如邮箱系统和支付系统,应该单独设置复杂的口令.一旦用户的登陆口令泄露,那该用户所有的校园应用都可以被登录,将会造成信息泄密的风险,甚至财产损失.
为了解决这些问题,本文将实现基于CAS平台的统一用户管理系统来对所有用户信息及其访问控制信息、各个应用系统信息和资源等信息进行统一管理.同时对部分应用系统将不再使用统一认证,继续使用本地认证方式.
2 系统建设目标和设计原则
统一用户管理系统要为校园网建立起一套有效的用来管理Internet网络资源、Internet日常用户的安全管理机制,以实现网络资源、用户账户和访问权限等的集中统一管理;保证用户身份验证的准确性和便利性,实现用户权限分配的灵活性和安全性;能为校园门户的个性化服务提供支撑,为广大教职员工、学院及其他用户提供一个访问数字校园内部应用的入口,同时可以为校内其他应用系统提供API调用接口;保证统一用户身份管理系统本身的安全体系结构,并具有很强的可扩展性.为了达到以上目标,系统在设计时要兼顾以下原则:
(1)先进性:在设计思想、采用技术、选用平台、系统架构上均考虑采用先进的技术体系,确保系统能够适应未来几年内应用的增长和变化趋势.
(2)可伸缩性:考虑到本系统的建设是一个循序渐进、不断扩充的过程,系统的整体构架设计要为今后系统扩展和集成留有扩充余量.
(3)可靠性:系统设计中,应用了适量冗余及其他保护措施,保证系统的容错性、稳定性等.
(4)开放性:为了保证该系统有良好的操作性和移植性,在系统实施的过程中需要遵照业界的各种标准和规范,符合有关国际标准、国家标准和行业标准.
3 系统设计与实现
3.1 总体架构
如图1所示,基于已有的CAS平台开发统一用户管理系统,可分为两大子系统:用户信息服务子系统和用户集中管理子系统.
图1 统一用户管理总体架构图
用户集中管理子系统提供用户账户信息的推送、账户的关闭和启用以及应用系统密码重置等常用功能.当用户信息变化时只需在此修改一次,无需维护各个相关的应用系统.主要功能包括:
(1)账号推送:将CAS平台的用户信息推送到本地认证的应用系统,建立用户账号.
(2)人员管理:人员的增加、修改和删除.
(3)访问控制:根据用户身份所具有的权限,授权可以使用的应用系统.
(4)日志审计:管理员操作和访问的日志记录和审计.
用户信息服务子系统则为应用系统提供了访问集中存放用户信息的接口以及其他相关服务.这部分功能包括:
(1)数据访问接口:其他应用系统访问集中存放的部门、人员信息的接口.
(2)数据同步服务:当CAS平台中的用户信息发生改变时由数据同步服务对其他应用系统的用户信息进行同步.
(3)自助服务:用户可以修改CAS平台的密码、重置应用系统密码、维护个人信息,无需管理员干预.修改后的个人信息与各应用系统自动同步.
(4)认证服务:对于非本地认证的应用系统提供用户登陆认证服务.
3.2 Web Service对接
Web Service技术是通过统一标准、统一封装消息、行为和数据,能够让开发者无需考虑具体应用环境的情况下,使得不同的系统可以跨平台兼容,进行无缝通信和数据传递.在传统的程序开发中,存在着各种函数方法的调用,比如一个程序模块M中的方法A,向其发出调用请求,并传入A方法需要的参数P,方法A执行完毕后,返回处理结果R.通常这种方法的调用只能发生在同一应用环境和开发语言下,但通过Web Service技术就能够实现在不同应用环境下不同语言编写的应用系统中,通过网络通讯实现函数方法的互相调用,从而达到数据交换的目的.
CAS平台和各个应用系统之间统一用Web Service接口进行对接.使用Web Service技术进行对接可以简化各个应用系统的集成,降低CAS平台和应用系统之间的耦合性,方便快捷地实现数据的传递和处理,而且Web Service跨语言、跨平台,部署和使用无需借助其他的第三方软件或硬件.
3.3 访问控制
1.基于角色的安全访问控制
基于角色的访问控制(RBAC)是对企事业单位的Internet资源实施安全管理的有效方法.RBAC在用户和访问权限之间加入角色的概念,用户和访问权限不直接关联,而是被赋予某种角色,同时自动拥有该角色的访问权限.在统一用户管理系统中,不同的校园网用户被赋予相应的角色,每一种角色具有不同的校内应用的访问权限,当用户登陆校内应用时,如果其角色没有该应用的访问权限,即使认证成功也禁止访问应用.
2.RBAC/Web模型
在Web服务器上实现RBAC的工作流程如图2所示.角色服务器中存储着所有用户的角色信息.当用户的身份认证成功以后,用户会收到从角色服务器传来的为其分配的角色信息.此后,当用户要求以所分配的角色访问一个Web服务器时,Web服务器将允许用户依据其角色而不是用户实体来执行交互.
图2 RBAC/WEB模型
3.角色权限
医学部的校园网用户可分为教工、学生、临聘、医院、校外、游客和单位用户八种角色,各类用户对应的应用访问权限如表1所示.根据图2所示的认证流程,如果用户的角色没有应用系统的访问权限,即使认证成功,也会被禁止访问.
表1 角色权限对照表
3.4 自助服务
自助服务是统一用户管理系统提供给用户的对个人信息进行维护的入口,用户通过CAS账户登陆,在自助服务页面有如下常用功能:
账号推送:在本地认证的应用系统中开通用户账户.用户输入密码等相关信息,CAS平台会将其和用户的其他信息,如职工号、电话、部门等一起推送到应用系统中并创建账户.
重置应用密码:CAS密码具有权威性,如果用户忘记某个应用的密码,可以在经过CAS认证后重置该应用密码.
修改个人信息:修改个人的CAS账户密码、电话和住址等信息.
在统一用户管理系统中开发用户自助服务功能,让用户可以根据自身需求开通所需应用,避免在应用系统中产生大量冗余账号.此外,对于本地认证的应用系统,用户可以在开通时自己选择设置相同密码或不同密码.例如开通邮箱应用,用户登录自助服务,输入申请开通的邮箱名和邮箱密码,CAS平台会将其和用户的其他信息一起传送到邮件系统,创建邮件账户.
3.5 功能扩展
在统一管理系统中除了能对用户的应用账号进行相关操作,还可以通过Web Service接口将应用系统的常用功能集成到统一用户管理系统中.以医学部计费网关系统为例,管理员经常需要为用户修改当月计费策略、修改用户组、最大连接数和查看交费记录等;用户需要修改其网关账号的计费策略、信用额度以及消费记录的查询,这些功能都可以集成到统一用户管理系统中.这样管理员登陆统一用户管理系统的后台就可以解决用户的大多数问题,而用户也只需使用统一用户管理系统的自助服务,不必熟悉每个应用系统,方便校内师生并简化管理员的工作.
4 结束语
本文以北京大学医学部信息化建设为背景,阐述了统一用户管理系统的设计与实践.项目结合了医学部信息化建设的前期实践和成果积累,侧重于对学校各类信息资源的整合,提升系统的可用性,增加Web服务的完整性.目前统一用户管理系统已投入使用,解决了以往存在的问题,后期会根据用户的使用反馈继续进行改进.
[1] 欧阳容彬,倩宜,李丽.基于属性规则的用户授权模型研究与实现[J].中山大学学报(自然科学版),2009,48(S1):277-279.
[2] 李丽,刘云峰,张志坤.校园IAAA系统概念及内容研究[C]//中国高等教育学会教育信息化分会2006年年会.北京:中国高等教育协会,2006:423-431.
[3] Jasing.CAS Deloyments[EB/OL].[2012-06-07].http://www.jasig.org/cas/delpoments.
[4] Jasing.CAS protocol[EB/OL].[2012-05-03].http://www.jasig.org/cas/protocol.
[5] Web Service学习笔记[EB/OL].[2012-08-20].http://blog.csdn.net/qjyong/article/details/2148558.
[6] 仇明,朱小琳.基于Web Service校园信息系统集成的研究[J].宁波职业技术学院学报,2011,15(5):49-52.