首页 -> 2007年第9期
基于角色访问控制的教学资源管理系统实现
作者:黄梅珍
同时,由于Internet的发展及基于Internet服务的迅速崛起,基于WEB的教学管理信息系统以其独特的优势,已成为现代管理系统的主流,应该看到,Internet的开放性不仅仅带来了方便,也引发了许多安全问题,如何采用可靠的访问控制管理机制来防止信息的外泄,是包括教学管理系统在内的任一系统设计都要面临并须解决的重要问题。
结合广西各学校所具有的教学资源建设状况,讨论如何运用角色控制技术来实现教学资源管理系统的访问权限控制。实践表明,基于角色访问控制的教学权限访问控制系统能严格地控制与防止用户接触与其身份角色不相关的数据信息,有效地避免用户的非法操作,从而切实地提高了系统的可用性和健壮性。
一、角色访问控制的原理
基于角色的访问控制(Role-based Access Control,RBAC)是当前应用较为广泛的访问控制策略之一。其核心思想是将访问权限与角色相联系,通过给用户分配合适的角色,让用户与访问权限相联系,其中角色是安全控制策略的核心。RBAC方法通过引入角色概念,实现了用户和权限的逻辑分离,从而大大地方便了权限的管理。角色根据用户在系统内部为完成各种不同的任务需要而设置。用户可以被赋予不同的角色,系统可以添加、删除角色,还可以对角色的权限进行添加、删除,通过应用RBAC,可将安全性放在一个接近组织结构的自然平台上进行管理。
一个RBAC模型包含四个实体:User,Role,Permission(Perm)和Session,以及两个操作UA,PA。Users为用户集合,是指访问计算机系统资源的主体。Roles为角色集合,是指在一个组织内部的只为并赋有一定的权利和义务。Permission(Perm)指允许操作的集合,也称作权限集,是用户对计算机资源进行访问的许可。Sesions表示用户激活角色时建立的动态的会话。UA分配用户角色的过程,是User与Role之间的一个二元关系UA∈U×R,即建立用户与角色多对多关系,用(u,r)表示用户u分配了一个角色r。PA权限配置,是Role与Perm之间的一个三元关系PA∈P×R,即建立角色与权限多对多关系,用(r,,p)表示角色拥有一个权限p。
在RBAC中,用户由角色分派过程赋予适当的角色。角色与用户是多对多关系,一个用户可对应多个角色,一个角色可分配给多个用户。角色与权限也是多对多的关系。研究表明,在一个具体的系统当中,角色权限之间的变化比角色用户之间的变化慢得多。可以由行政管理人员完成把用户委派给角色的过程,而由技术人员完成配置权限到角色的过程。基于角色的权限配置可以参照一个单位(组织)内部机构、岗位、职务的权限设置,结合系统设计中的安全策略划分出不同的角色,对每个角色分配不同的权限,并为用户指派不同的角色,用户通过角色间接地对信息资源进行相应的操作。
基于角色访问控制的含义是确定某个用户能够以何种访问方式访问某个数据。实现时以基于角色的访问控制为基础,将数据访问权限和功能操作权限分别定义,有利于系统的开发与维护的方便。设计时应注意保证角色互斥的原则,避免在某些情况下一个用户身兼两个角色造成潜在的危害。另一方面还要保证最小权限原则,当用户在执行某项任务时,只有执行这项任务所必须的最小权限集合,即权限零冗余。只有在信息流动的过程中,保证最小权限,才能保证信息的安全。
二、RBAC在教学资源管理的应用
1.教学资源系统功能结构
(1)系统管理。通过系统管理功能,管理员可对资源库服务器进行配置;对系统相关用户信息、用户权限进行管理,确保不同类型、不同角色的用户具有不同的权限;对系统所需的各类代码进行管理;管理新闻和消息的发布;系统的数据备份与恢复管理。
(2)资源维护。作为系统的主要功能模块,允许有权限的用户将教学资源上传到临时资源库中,并对资源的相关信息(如名称、编号、学科、类型、适用对象等)及其存放路径进行管理;对一些资源的使用过程进行组织;开放资源制作者可对其拥有的资源进行编辑及相关属性进行处理。
(3)资源的审核与发布管理。经上载存放在临时资源库中的教学资源必须经过严格的审核后才能进入正式资源库,系统支持资源审核人员进行远程评审,完成对资源的审核和发布工作,审核人员定期检查临时资源库中的新资源,根据教育资源的评价标准对资源进行审核,对于不合格的资源,可将其删除;对于通过审核的资源按科学的、专业的方法分门别类自动转入到正式资源库,完成资源发布工作。
(4)资源的检索与预览。系统提供的检索策略,是一个基于用户角色的检索、渐进式查询和多字段组合查询的检索方式,让教师、学生可以方便地检索系统资源库内的资源。另外,系统还对基于内容的检索进行了初步的尝试;系统提供了对系统中各类资源的预览功能,系统会根据资源类型的不同,调用不用的插件进行资源预览。
(5)其他功能模块。系统提供了友好的登录处理功能,对登录用户进行身份验证;提供了资源信息和新闻的个性展示功能,合法的用户进入系统后,将能看到个性化的资源信息和新闻资讯。
2.RBAC在教学资源系统的主要应用
(1)对功能模块的访问控制。在教学资源系统中,对相关功能模块及其子模块的访问控制,有助于更灵活、更安全地管理目录文件、数据库记录、用户等对象。
(2)对数字资源的访问控制。将RBAC模型应用到数据库软件开发中,主要采用在数据库系统基于用户组的访问权限控制模块中,修改原来传统访问控制模式,用户和权限之间加入角色;其次,将不同的数字资源按照密级、安全度、版权许可范围、使用等级等划分访问控制力度。
(3)对共享资源的访问控制。信息共享是教学资源库的一大优势,以校园网为依托的教学资源库通常是按学科、分内容地为教师提供丰富的教学资源。备课过程从查阅学科教学最新的参考资料,搜索与教学内容相关的文、图、声、像等媒体素材,直至把制作好的课件上传资源库备用。整个过程突破了单机界局限,可以在网上任一客户端随时随地进行传输,不仅减轻了教师的劳动强度,提高了备课效率,而且可以保障教师及时跟踪了解学科前沿动态,在开阔视野的同时更新扩充了自己的储备知识。但是,教育资源共享的同时,也带来一定的安全问题。对资源的访问应该是有权限控制的,可以借助于RBAC模型,通过智能认证、加密技术和Cookies验证技术等方案,实现资源的访问控制。
访问控制在很大程度上是对权限的控制,把操作权限合理地分配给角色是安全访问控制方案设计和实现的关键。总的来说,权限主要分为两类:(1)数据操作权限,规定对数据对象有何种操作权限,通过对访问数据库对象的限制来保证数据库的安全性;(2)功能使用权限,规定使用教学资源系统时哪些功能可用,哪些功能被禁止,通过限制用户对功能的使用来间接地保证数据的安全性。
三、基于角色访问控制教学资源管理系统的实现
1.数据结构设计
下面阐述这一访问控制方法的数据库实现。共有八个数据表:用户表;用户组表;角色表;权限表;项目表;用户到角色的映射表;角色到权限的映射表;用户组角色到项目的映射表。用户表和用户组表构成对用户的描述。每一个用户都属于一个用户组。访问方式的描述比较复杂,由功能列表、功能角色对照、角色表构成。功能列表中记录了访问方式,这种功能上的控制主要由系统菜单的设计来完成。被访问的数据项目列表储存在数据库中。通过权限角色映射表,将各项权限与角色建立对应关系,即一个角色可以完成哪些功能。通过用户组角色映射表,将角色与用户建立对应关系,即一个用户能够以哪些角色的身份在系统中进行操作。以用户组角色映射表为基础,再和项目表相关联。项目表决定了每一个用户只能对自己所管理的项目进行数据操作。当一个用户登录系统时,系统首先检查用户组角色项目映射表,确定用户的角色以及用户可以对哪些项目的数据进行操作。这一步确定用户的数据存取权限。然后系统根据用户的角色再查找角色表,确定用户可以对数据进行哪些操作,这一步确定用户的操作功能权限。系统会将得到的相关信息存放到Sesion变量中。用户登录后,根据用户具有的功能码(权限)决定用户可看到有哪些功能的链接,然后系统再根据Session中存放的用户可维护的项目数组,决定用户给哪些项目进行操作。
2.模块的主要实现方法
主要有以下一些模块:用户登录验证;从USERTOROLE表中读取用户角色;从ROLE TOPERM表中读取用户权限;访问请求验证。
以上从系统开发的角度,详细讨论了用户角色权限的构成及系统访问控制策略。实践表明,基于角色访问技术安全策略能够有效地对通过WEB页面访问数据库进行保护,实现基于角色的数据分级目的和流程的自动化。基于角色控制的教学资源管理系统安全可靠,在实现不同校园资源共享的同时,有可以赋予各站点的独立的资源控制和管理。
(责任编辑 关燕云)