基于角色的RBAC模型在知识管理系统中的应用

来源 :计算机时代 | 被引量 : 0次 | 上传用户:vincent_iong
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
  摘要:结合某电信知识管理系统中权限管理模块的实际需求,对RABC模型进行扩展,设计了针对功能和数据的权限管理模型,使权限管理具有更高的灵活性和实用性。
  关键词:基于角色的访问控制;功能权限;数据权限;知识管理
  
  0 引言
  
  为降低客户服务成本,提高运营效率,构建学习型组织,某电信知识管理系统的实现目标是建立信息规范、分类规整、知识流畅通的先进、统一、高效的企业级知识管理体系。此系统具有功能复杂,用户众多的特点。由于电信业务系统相比其他的应用系统,业务更复杂,数据量更庞大,因此合理控制众多用户对系统资源的访问权限,对于保证系统的安全性,明确用户的责任,有着及其重要的意义。基于角色的访问控制(Role basedaccess control,RBAC)机制由于具有较高的可扩展性和灵活性,在分布式系统、数据库系统乃至各种操作系统中都得到了一定程度的应用。本文在RBAC模型的基础上提出了能够实现功能权限和数据权限的扩展型的RABC模型,并介绍了基于该模型的权限管理的设计和实现。
  


  
  1 知识管理系统中权限设计的需求
  
  知识管理系统是企业实现知识管理的平台,是以人的智能为主导,以信息技术为手段的人机结合的管理系统。它是通过将企业中的各种知识资源(包括显性知识和隐性知识)整合为动态的知识体系,以促进知识创新,从而最终提高企业的核心竞争力。此系统的功能和程序以功能项的形式(菜单,目录,窗口,按钮等)向用户提供各种操作,但并不是每个用户都有权力使用系统中的每项功能与操作,需要根据用户的不同职责对其权限进行控制与管理。权限往往是一个极其复杂的问题,可以简单地描述为这样的逻辑表达式:判断“Who对What(Which)进行How操作”的表达式是否为真。
  知识管理系统的权限模块应满足如下需求:
  (1)不同职责的人员,对于系统的操作权限应该是不同的。例如,知识员工能发布知识,但不能审核知识,而知识专家既能发布知识,又能审核知识;
  


  (2)可以对某一类人进行权限分配。对于多用户的电信知识管理系统来说,如果要求管理员为每位用户分配操作权限,将是一件耗时且很不方便的事情。所以,在系统中就提出了对“角色”进行授权的概念,将权限一致的用户编入同一组,然后为该组进行权限分配;
  (3)权限模块应该是可维护的。例如某位电信员工的职位变化了,可以相应的改变其操作权限;
  (4)满足业务系统中的功能权限;
  (5)满足业务系统中的数据权限,例如某10000号员工只能看到其所在地区的知识,而不能看到其他地区的知识;
  (6)权限模块应该是可扩展的。它应该可以加入到任何带有权限管理功能的系统中,就像是一个组件一样可以被不断地重用,而不是仅仅局限于本知识管理系统。
  
  2 RBAC的优势
  
  传统的访问控制技术主要分为两大类,即自主访问控制(Discretionary Access Control,DAC)和强制访问控制(Manda-tory Access Control,MAC)。DAC将赋予或取消访问权限的一部分权限留给用户个人,不利于实现统一的全局访问控制;MAC在系统连续工作能力、授权的可管理性等方面考虑不足。基于角色的访问控制(RBAC)是在DAC和MAC的基础之上发展起来的,有效地克服了传统访问控制技术中的不足,用户借助于角色这个主体访问系统资源,大大提高了管理的效率,减少了授权管理的复杂性。
  


  RBAC模型主要以员工-角色、角色-权限、角色-角色之间的关系来体现访问控制策略。它的最大优势在于对授权管理的支持。通常的访问控制实现方法将用户与访问权限直接相联系,当组织内人员新增或有人离开或某个用户的职能发生变化时,需要进行大量的授权更改工作,而RBAC将用户与其拥有的权限分离开来,管理员可以将用户的授权和权限的划分进行分别处理,通过给用户授予角色来实现用户的授权操作。RBAC的另一个优势在于:系统管理员处在一种比较抽象且与企业通常的业务管理相类似的层次上,便于职责分配。在集中式管理中,知识管理通常由一个指定的管理员担任,而在分布式管理中,可以由多个具有不同管理权限域的管理员来担任,本文的知识管理系统属于分布式系统,所以知识管理员可以由不同地区的管理员来担任。
  
  3 知识管理系统中权限模型的设计
  
  知识管理系统的权限模型根据其需求来看,可以分为两个层次,即功能层的访问权限和数据层的访问权限。
  3.1功能权限
  功能层的访问权限主要由RBAC模型实现,如图1所示,主要由三部分组成,分别是:核心RBAC、层次RBAC、职责隔离。
  核心RABC(core RBAC)定义了RBAC模型最基本的五个基本元素:用户(User)、角色(Role)、操作(Operations)、操作对象(Objects)、权限(Permission)。如图2所示。
  层次RBAC(Hierarchical RBAC)主要是指权限的继承,在RBAC中通过增加角色的自关联来实现,即角色可拥有子角色,子角色继承父角色的权限。
  职责隔离(separation of Duty Relations)主要分为静态职责隔离(Static separation duty,SSD)和动态职责隔离(Dynamicseparation duty.DSD)。SSD比较容易理解,即在系统初始化时,不能把冲突的角色分配给同—个用户;DSD是指相互冲突的角色可以同时分配给同—个用户,但在一次Session中不能同时扮演相冲突的角色,即在用户权限范围内限制权限的可用性。例如,某员工既是人力资源部的会计又是出纳,那么他在行使会计权利的同时就不能享有出纳的权利,必须先退出会计角色,再以出纳的角色进入系统才能享有出纳的权利。
  3.2数据权限
  在RBAC模型中没有明确定义数据权限的实现策略,因此需设计数据权限模型来实现数据权限的要求。根据RBAC模型,作者同样地设计了一个中间对象一数据角色,此角色与数据操作权限为多对多的关系。首先将数据映射为RBAC中的操作对象,对数据的操作映射为对操作对象的操作,然后将对此操作对象以及操作对象的操作构成的权限授予给数据角色;为实现数据权限能够授予多种对象,需要将RBAC的把角色授予用户的模型演变为把数据角色授予功能角色、组织机构或具体人员;为了实现数据权限的继承,需要将数据资源重构为允许自关联的模型。在经过这些重构之后,数据权限的模型就形成了,如图3所示。
  
  4 知识管理系统中权限管理的实现
  
  经过以上的分析及设计,在功能权限部份建立了以下的基本表:用户表(USER TABLE),角色表(ROLE TABLE),模块表(MODULE TABLE),操作功能表(FERNCTION TALBE),权限表(AUTHTABLE),角色权限关系表(ROLE_AUTHTABLE),用户角色关系表(USER_ROLE TABLE),角色互斥表(ROLE_CONSTRAINTTABLE),权限互斥表(AUTH.CONSTRAINT TABLE),用户组表(GROUP TABLE),用户与用户组关系表(GROUP_USER TABLE),用户组与角色关系表(GROUP_ROLE),将以上各表联合起来就形成了功能权限的数据库实现模型。授权分为以下几个步骤:配置操作对象以及对操作对象的操作;授予角色对操作对象的操作权限;分配角色给用户等。
  数据权限的物理模型如图4所示。授权步骤同功能极限的授权步骤。
  用户登录系统后,系统首先利用用户角色关系表(USER_ROLE TABLE)与用户数据角色关系表(uSER_DATA_ROLE TABLE)或功能角色数据关系表(FUNCTION_ROLE_DATA_ROLE TABLE)找出该用户所对应的功能角色与数据角色,然后利用功能访问权限表(AUTH TABLE)和数据访问权限表(DATA AUTH TABLE)找出该用户所能进行的操作。系统管理员在进行维护时,只需修改相应表的记录,而不需要修改表的结构,这就大大简化了管理工作。
  
  5 结束语
  
  本文提出了能够实现功能权限和数据权限的RBAC扩展模型,并在某电信知识管理系统中得到了应用,证明了此模型不仅可以满足权限管理的需求,而且具有可维护性、灵活性、完整性,可移植性等特点。
其他文献
摘 要:文章详细阐述了JDBC事务操作的提交模式、回滚模式以及并发事务操作容易出现的诸多数据不一致的问题,分析了如何选择不同事务隔离级别,以在保持数据一致性的同时提高系统性能,最后以Oracle数据库为例,讨论了JDBC的实现细节和内部执行机制。  关键词:数据库;JDBC;事务;事务隔离;Oracle    0 引言    JDBC是Java平台重要的数据库底层访问技术,虽然目前数据库访问模式诸
期刊
摘 要:在大量的应用业务系统中,数据库往往是其核心设施,因此对于数据库的测试、监控和维护就非常重要。文章介绍了在LINUX上这些方面的一些具体实现。实践证明,这些措施在日常维护中效果良好。  关键词:linux shell;ORACLE;压力测试;备份;监控    0 引言    由于LINUX在中小型机上的优异表现,所以目前大量的服务应用从windows平台,迁移到了LINUX平台。在日常数据库
期刊
摘 要:对基于SQL Server的动态Web应用系统来说,数据的查询分页是其必备的功能之一。为了在实现功能的同时兼顾系统性能,文章结合ASP.NET(Active Server Pages.NET)、SQL(Structured Query Language)和ADO.NET(ActiveData ObJects.NET)三者的编程特性,针对不同环境,设计并实现了三种分页技术。  关键词:Web
期刊
摘 要:文章给出了在民族古籍数字化保护系统操作中典型的并发事件(丟失更新)解决的两种封锁机制。在操作时,采用适当的封锁机制,锁定需要修改的“行”,防止并发事件的产生,以保证数据库的完整性和一致性。  关键词:民族古籍数字化保护系统;并发控制;悲观封锁;乐观封锁    0 引言    在民族古籍数字化保护系统的数据库中,多个用户程序(如查询和著录)可以并行地存取数据库,如果不对并发操作进行控制,会出
期刊
摘 要:VNC是由A7&T剑桥实验室开发的一个强大的远程桌面共享工具,能够让多个用户通过复杂的互联网环境实时观看到远端的服务器桌面并进行操作。但VNC系统的星型结构在实际应用中很容易造成服务器端网络的拥塞,使得可用性大大降低。文章对VNC系统进行了改进,增加了音/视频方面的支持,增强了安全性能,并引进了P2P技术,利用现有网络架构,通过优化和改进多媒体数据流的传送技术,实现了一个低成本高效率的实时
期刊
摘 要:现代教育技术在教学中的应用越来越多,多媒体课件在教学中的作用日益明显,制作多媒体课件也就成为教师必须掌握的一门技术。很多教师制作课件都选择单一工具软件(PowerPoint或Authorware),在制作过程中难免存在这样或那样的不足。而把PowerPoint和Authorware结合使用可以达到最佳效果。  关键词:PowerPoint;Authorware;OLE对象;文件打包    
期刊
摘要:旅行商问题(TSP)是遗传算法得以成功应用的典型问题。文章对遗传算法加以改进,提出了新的选择策略和交叉算子,并且引入了兄弟竞争的策略来加快收敛速度和全局搜索能力。把该算法应用在不同类型的TSP问题的求解上,表现出了比传统遗传算法更好的收敛性和计算效率。说明改进算法是有效的。关键词:旅行商问题(TSP);遗传算法(GA);交叉算子;兄弟竞争策略    0 引言    旅行商问题(Traveli
期刊
摘 要:在社会信息化程度不断提高的今天,软件开发者也在不断探索着新的软件开发方法,希望能使软件开发更加简单有效,在这种大前提下,敏捷开发应运而生。敏捷开发指的是一种面临迅速变化的需求去快速开发软件的方法。Rubyon Rails是一种解释型的方便快捷的面向对象脚本语言,利用Ruby语言和Rail相框的强大功能,可以使、Web开发更加轻松自如。在不久的将来,Rails技术会给我们的开发带来更多的进步
期刊
摘 要:介绍了利用VBA在Excel中编写“宏”,生成树状表格的方法。借助于该方法可以提高制作表格的效率。  关键词:VBA Excel;树状表格;控件;插入;合并    0 引言    在实际应用中,我们经常会用到形如图1(表式1和表式2)所示的表格形式。因为这种类型的表格可以被抽象为一种树状结构,所以也称为树状表格山。这种树状形式的表格应用范围很广,它可以是整个表格,也可以是表格中的某些部分(
期刊
摘要:针对无线Ad Hoc网络中三种典型的异步MAC层接入协议:MAcAw、FAMA-NTR和DBTMA,从协议的基本思想、算法描述、协议状态流程等方面进行了探讨。其研究成果可以为进一步探讨无线Ad hoc网络异步MAC层接入协议提供参考。  关键词:Ad Hoc;异步;接入协议;MAC层    0 引言     无线Ad Hoe网络是一种自组织的对等式网络,又称作多跳网络(Multi-hop N
期刊