面向服务的RBAC模型在Sakai平台权限管理中的应用

时间:2022-09-02 07:53:05

面向服务的RBAC模型在Sakai平台权限管理中的应用

摘要摘要:Sakai平台是一项源于美国的开源课程与教学管理系统,在全球高等教育机构已产生了较大的影响。针对Sakai平台用户的特定需求,在RBAC模型基础上,提出了一种面向服务和基于角色相结合的权限控制方法,实现了Sakai平台开放、动态权限管理,对于推进Sakai平台在教育或学术领域的进一步应用具有重要意义。

关键词关键词:Sakai平台;RBAC模型;SOA架构;权限管理

中图分类号:TP315文献标识码:A文章编号文章编号:16727800(2013)0010009203

基金项目:黑龙江省新农村建设科技服务计划项目 (1151XNC107);黑龙江省智能教育与信息工程重点实验室开放基金项目(SEIE2013-05);牡丹江师范学院科学技术研究项目(KY201101);牡丹江师范学院教育教学改革项目(12-XJ14021)

作者简介:张丹(1982-),女,硕士,牡丹江师范学院工学院讲师,研究方向为计算机辅助教育、人工智能、物联网。

0引言

Sakai是由美国印地安那大学、密西根大学、斯坦福大学和麻省理工学院于2004 年共同发起的一项开源课程管理系统计划[1],其英文全称为Synchronized Architecture for Knowledge Acquisition Infrastructure。目前,Sakai已经成为美国最著名、应用最为广泛的课程管理系统开源软件,全球前百强大学中,应用Sakai平台的院校占了总数的1/3,共有超过160个教育单位正式采用Sakai作为自己的教学系统。

在中国有关Sakai的研究才刚起步,只有为数不多的几所高校开始了Sakai的教育应用。例如:翟菁[1]从开发语言、教学、架构模式、用户对象以及功能等方面对Sakai与Moodle进行了比较研究;何超[2]对Sakai平台的基本开发环境、项目管理、数据库技术和表现层技术等实现技术进行了分析;李建伟等[3]结合北京邮电大学网络教育学院采用Sakai平台作为网络教育教学平台;李浩等[4]深入研究了Sakai平台中站点、用户、和角色之间的关系。上述研究工作一定程度上促进了Sakai平台在中国的应用与推广。

本研究在RBAC模型基础上,根据Sakai平台不同用户的特定需求,提出了面向服务和基于角色相结合的权限控制策略,实现了Sakai平台开放、动态的权限管理。本文分析了Sakai平台用户的特定需求,在此基础上提出了面向服务和基于角色相结合的权限控制策略,并将改进的RBAC模型应用到Sakai平台的权限管理中。

1相关工作

权限管理是通过某种途径显式地允许或限制用户访问级别及范围的一种方式,可以简单地将其表述为“Who对What进行How操作”的逻辑表达式[5]。传统的权限管理主要有强制访问控制(Mandatory Access Control, MAC )和自主访问控制(Discretionary Access Control, DAC)两种方式。这两种方式都是将用户和对象直接关联,根据用户的安全级别来决定其对对象的访问权限。美国Gemge Manon大学于1996年提出了基于角色的访问控制(ro1ebased access control,RBAC),RBAC成为了近年来最为热门的访问控制模型。

RBAC模型在用户和权限之间引入了角色的概念,能够在较高层次上对角色设置相应的访问权,通过角色来控制用户权限的改变,从而实现了用户和权限的逻辑分离。RBAC具有很大的灵活性,通过配置各种参数来实现某种安全策略,可以被配置成传统的MAC和DAC。

Saudbu等人[6]提出的RBAC96参考模型反映RBAC的各种模型组件之间的交互关系,其中,RBAC0[9]定义了所有RBAC系统都应具备的几个基本元素:用户、角色、会话、对象、操作和权限,并规定了任何RBAC系统所必须的最小需求,RBAC1增加了角色层次的概念,RBAC2增加了约束的概念,RBAC3包含了RBAC1和 RBAC2。在RBAC96模型中,角色继承与会话有关,可以解释为激活继承和权限继承。而Ferraiolo等人提出NIST RBAC[7]模型和随后的ANSI RBAC标准[8]中把角色继承看成是用户继承和权限继承。

由于RBAC模型简化了用户授权管理的复杂性,并可以灵活支持各种不同的安全策略,因而被广泛接受和应用。胡俊鹏等[5]在RBAC模型基础上提出了一种基于角色的安全保护策略,并设计了基于角色的安全管理系统;陈继南等[10]把基于角色访问控制的思想运用在平台,提出了基于Forms的安全验证、角色实体关系模型、基于目录和文件限制的访问规则;蔡昭权[11]在RBAC基础上采用功能掩码的方法设计了与业务无关的权限管理模块。

在现代软件系统中,权限管理有着极其重要的地位,而基于角色的访问控制方法是目前公认的解决大型企业的统一资源访问控制的有效方法。在具体应用中,RBAC模型需要根据项目的实际情况和具体架构,在安全性、维护性、灵活性、完整性等之间比较权衡,并进行相应的改进与完善。

2Sakai平台用户特定需求

Sakai平台具有明确的目标用户群体,包括教师、助教、学生和研究人员,这些用户彼此的知识层次和知识背景存在差异,在同一知识领域的贡献度和需求度也有着明显的不同,因此,在Sakai平台的权限设置上应考虑用户的特定需求。

教师希望利用Sakai平台提供的各种工具创建课程站点,对课程进行编辑,组织教学活动;助教希望利用某些特定的工具为教师授课提供支持,为学生课前或课后学习提供帮助;学生希望利用教师和助教提供的资源进行课程学习或课后练习;研究人员在研究项目时,则可能希望研究内容只对组内成员开放。若允许各类用户不加限制地编辑站点,则站点内容会越来越混乱。因此,需要依据知识层次将用户对工具和站点的访问权限加以限制来维持站点内容的安全性和有效性。

由于Sakai平台的站点是顶层的组织单元,所有的页面都组织在站点中,由标签建立页面组织的索引,因此,访问权限需要依据组织单元级别来设定,即站点级的访问权限是所有页面级权限的前提,在没有获得站点级访问权限时,用户是无权访问该站点中任何页面的。

另外,Sakai平台应给予用户充分参与平台建设和维护的权利,使用户可以信息资源,也可以自主管理和维护自己所的信息资源,即用户对自己所发表的内容具有自。

3Sakai平台权限管理模型

面向服务的架构(ServiceOriented Architecture,SOA)是一个软件组件模型体系架构,它将日常的业务应用划分为单独的功能单元,单元间通过良好的接口和契约来联系,使用户可以构建、部署和整合功能单元,不用依赖应用程序及其运行平台,从而提高业务流程的灵活性。

Sakai平台本身就采用面向服务架构的软件开发方法,将平台分为40余个工具模块,用户的权限控制策略就决定了用户具体可以访问哪些已经注册的工具模块。因此,本研究采用面向服务的架构和基于角色的访问控制相结合的技术,来为Sakai平台提供开放、动态、灵活的权限管理。图1描述了面向服务和基于角色相结合的Sakai平台的权限管理模型。

按照该模型的设计,根据用户(Users)是否从属于某一站点(Sites),将其分为两类:不从属任何站点的用户根据其注册的账号类型(Account type)进行权限管理;从属于某一站点的用户则根据其在站点中的具体角色(Roles)来进行权限管理。一个用户可以加入多个站点,具有不同的角色。根据用户具体的类型或角色,平台为其建立会话(Session),并针对用户在会话中对某特定对象(Obs)的访问请求进行权限匹配( Matching ),来决定用户拥有的权限集合(Prms),包括是否有权限访问请求对象,以及对访问对象允许的操作(Ops)。

4Sakai平台权限管理控制实施

基于上述模型,Sakai平台实施了非常灵活的动态权限管理,可以控制用户权限、站点权限、小组权限、资源使用权限和帮助系统权限等,使不同的用户和角色拥有不同的操作能力。

Sakai平台的用户权限管理分为两大类:账号类型和角色。基于账号类型的用户是指不从属于任何站点的用户,按类型划分有4类:教师、学生、已注册和游客。当用户在平台申请了账号,就获得了相应的权限,例如,用户申请了教师类账号时,就获得了添加站点、添加用户等权限。

基于角色的用户是指已经加入到某一站点的用户。不同类型站点内的用户可以申请获得不同的角色,一个用户可以加入多个不同的站点,在这些站点内,可以获得多个不同的角色。Sakai平台常用的站点是课程站点(course site)和项目站点(project site),课程站点主要用来教学,项目站点主要用来科研与交流。

课程站点的主要用户是教师、助教和学生,据此定义了课程站点的3种角色:教师(Instructor)、助教(Assistant)和学生(Student),操作对象包括自己(own)、任何人(any)、小组(groups)、信道(channel)、草稿(drafts)等,操作权限包括新建(new)、浏览(read)、修改(revise)、删除(delete)、显示(all)和隐藏(hidden)。教师拥有的权限最多,可利用站内所有工具来编辑课程,例如上传资源、组织测验、管理成绩等。助教拥有必要的权限来支持教师的教学工作,例如设置论坛或站内消息。学生拥有的权限最少,可以聊天、发送邮件等。课程站点内,教师、助教和学生的角色权限定义如表1所示。

项目站点的主要用户是研究员或教师。项目站点与课程站点的主要区别是课程站点定义了教师、助教、学生3种角色,而项目站点只定义了维护者(Maintain)和访问者(Access)两个角色。维护者拥有权限配置站内工具,管理站内其他成员。访问者的权限较少,可以利用站内工具访问其他成员,进行交流。项目站点内,维护者和访问者的角色定义如表2所示。

在Sakai平台,无论是课程站点还是项目站点,用户都是通过使用站内提供的工具来满足自己的需求。每种工具在不同的站点内拥有不同的权限,下面以公告(Announcement)工具为例,介绍Sakai平台的工具在课程站点和项目站点中的权限管理。

在课程站点和项目站点中,用户利用公告工具可以向站内其它成员发送公告,公告可以显示在站点的首页(Home page)上,也可以以邮件的形式发送给站内其他成员。Sakai平台公告工具的权限描述如表3 所示。

在课程站点中,教师对自己、小组、草稿和所有站内成员的公告拥有阅读、新建、删除和修改权限,助教和学生通

常只拥有阅读权限。教师可以根据助教或学生的要求更改助教或学生的公告权限,如图2所示。

在项目站点中,维护者具有所有公告的阅读、新建、删除和修改权限,而访问者只能阅读公告。当然,维护者也可以根据访问者的要求增加其操作权限。

5结语

本文提出了面向服务架构和基于角色访问控制相结合的权限控制模型,并将该模型应用到Sakai平台的权限管理中。针对Sakai平台用户的特定需求,设计并实现了用户权限管理、站点权限管理和工具权限管理。在今后的工作中,需完善Sakai平台的权限管理模块,并深入研究Sakai平台在中国的其它本地化和和二次开发等应用,以推进Sakai平台在我国教育领域的进一步推广。

参考文献:

[1]翟菁.SAKAI与MOODLE的比较研究[J].软件导刊,2008,7(9):3334.

[2]何超.Sakai开源学习平台的实现技术分析[J].电脑知识与技术,2009, 5(26): 73537355.

[3]李建伟, 王栩楠, 刘洪沛,等.Sakai开源教学系统在网络教育中的应用[J].现代教育技术,2009,19(5):98102.

[4]HAO LI,QINGTANG LIU,QIAO WANG.The research on permission management of the opensource Sakai platform[C]//International Conference on Industrial and Information Systems,2009.

[5]胡俊鹏,谢坤武,毕晓玲.基于RBAC的安全管理系统的设计与实现[J].微计算机信息,2008, 24 (23):88121.

[6]SAUDBU R,COYUE E J.Rolebased access control models[J].IEEE Computer 1996, 29(2):38.

[7]FERRAIOLO D,SANDHU R,GAVRILA S.A Proposed standard for rolebased access controls[J].ACM Transactions on Information and System Security,2001,4(3):224 274.

[8]ANSI INCITS.Role based access control[S].American National Standards Institute,2004.

[9]李兴唐.基于角色的权限管理系统[D].长春:古林大学,2004.

[10]陈继南, 姜莹, 孔祥荣.基于角色的Web信息系统权限管理方法[J].武汉理工大学学报:信息与管理工程版, 2008,30( 2):265268.

[11]蔡昭权,基于业务无关的权限管理的设计与实现[J].计算机工程,2008,34(9):183185.

[12]SAKAI.Collaboration and learning environment for education[EB/OL].http:///.

上一篇:基于二维码的便携式医疗智能护理终端系统设计... 下一篇:国际移民认同危机与族群身份政治运行机制研究