基于角色的权限控制机制制造技术

技术编号:13244334 阅读:87 留言:0更新日期:2016-05-15 04:45
一种基于角色的权限控制机制,涉及基于角色的访问控制技术领域,尤其涉及系统应用封装访问权限给角色再赋予用户来间接地访问数据库资源机制。角色作为中间媒介把用户和权限联系起来,用户通过角色间接地访问数据库资源。访问控制模型的角色权限分配是将应用程序层系统功能项的操作权限分配给角色,角色通过操作系统的功能项来操纵数据库资源。本发明专利技术的实施例提供一种基于角色的访问控制机制,一种在应用程序层统一实现对整个系统的基于角色的权限管理方案。系统应用封装访问权限给角色再赋予用户来间接地访问数据库资源,极大地减少了权限管理的负担和代价,使系统的权限管理具有很大的灵活性。

【技术实现步骤摘要】

本专利技术涉及基于角色的访问控制
,尤其涉及系统应用封装访问权限给角色再赋予用户来间接地访问数据库资源机制。
技术介绍
基于角色的访问控制(RBAC)是近年来研究最多、思想最成熟的一种新型的数据库权限管理机制,它被认为是替代传统的强制访问控制(MAC)和自主访问控制(DAC)的理想候选。基于角色的访问控制(RBAC)的基本思想是根据企业组织视图中不同的职能岗位划分不同的角色,将数据库资源的访问权限封装在角色中,用户通过被赋予不同的角色来间接地访问数据库资源。在大型数据库应用系统中往往都建有大量的表和视图,这使得对数据库资源的管理和授权变得十分复杂。由用户直接管理数据库中资源的存取和权限的收授是十分困难的,它需要用户对数据库结构的了解非常透彻,并且熟悉SQL语言的使用,而且一旦应用系统结构或安全需求有所变动,都要进行大量复杂而繁琐的授权变动,非常容易出现一些意想不到的安全漏洞。因此为大型数据库应用系统设计一种简单、高效、安全的权限管理方案已经成为系统和系统用户的普遍需求。系统实施基于角色的权限控制机制的好处:在系统的应用程序层实现基于角色的权限管理方案,对系统的访问权限实现了简单、安全、高效的管理,极大地降低了系统权限管理的负担和代价,而且使系统权限管理更加符合应用系统的业务管理规范。系统应用封装访问权限给角色再赋予用户来间接地访问数据库资源机制并不需要系统管理人员对数据库具有透彻的理解,降低了对系统管理员的要求,进一步降低了系统权限管理的负担和代价。
技术实现思路
为了克服现有的涉及基于角色的访问控制
的不足,本专利技术提供一种基于角色的访问控制机制,角色作为中间媒介把用户集合和权限集合联系起来,用户通过角色间接地访问数据库资源。一个角色与权限关联可以看作是该角色拥有一组权限的集合,与用户关联又可以看作是若干具有相同身份的用户的集合。一种在应用程序层统一实现对整个系统的基于角色的权限管理方案,访问控制模型角色权限分配是将应用程序层系统功能项的操作权限分配给角色而不是将访问数据库权限分配给角色,角色通过操作系统的功能项来操纵数据库资源而不是通过访问数据库的权限来操纵数据库资源。本专利技术解决其技术问题所采用的技术方案是:在角色的访问控制中,一个用户可以被赋予多个角色,一个角色也可以被赋予多个用户,用户与角色之间是多对多的关系。同样,一个角色可以具有多项权限,一项权限也可以被赋予多个不同的角色,角色和权限之间也是多对多的关系。一个登陆数据库应用系统的用户,可以通过其所拥有的角色的权限来判断其可以访问的数据库资源和对数据库资源可以进行的操作。本专利技术的有益效果是,采用基于角色的访问控制技术,系统应用封装访问权限给角色再赋予用户来间接地访问数据库资源,极大地减少了权限管理的负担和代价,使系统的权限管理具有很大的灵活性。若系统为每类用户建立一个角色,用户对应的权限发生了改变,只需修改角色的权限;用户的职责发生改变,只需回收用户原角色,重新授予用户新职责所对应的角色。灵活表达和实现企业的安全策略,使系统权限管理在企业的组织视图这个较高的抽象集上,贴近企业日常的组织管理规则。在一定程度上限制了数据库管理员的权力,保证了系统的安全性。【附图说明】下面结合附图和实施例对本专利技术进一步说明。图1为本专利技术实例基于角色的访问控制模型图。图2为本专利技术实例在应用程序层实现基于角色的权限管理模型图。图3为本专利技术实例管理角色等级示意图。图4为本专利技术实例权限管理数据库-用户表图。图5为本专利技术实例权限管理数据库-系统角色表图。图6为本专利技术实例权限管理数据库-系统模块表图。【具体实施方式】在图1中,表示了基于角色的访问控制模型的所有实体和步骤。基于角色的访问控制模型在用户和权限之间设置了一个新的实体一一角色。角色作为中间媒介把用户集合和权限集合联系起来,用户通过角色间接地访问数据库资源。一个角色与权限关联可以看作是该角色拥有一组权限的集合,与用户关联又可以看作是若干具有相同身份的用户的集合。一个用户可以被赋予多个角色,一个角色也可以被赋予多个用户,用户与角色之间是多对多的关系。同样,一个角色可以具有多项权限,一项权限也可以被赋予多个不同的角色,角色和权限之间也是多对多的关系。一个登陆数据库应用系统的用户,可以通过其所拥有的角色的权限来判断其可以访问的数据库资源和对数据库资源可以进行的操作。从图1中可以看出,角色还可以划分成不同的等级,各级角色通过角色继承形成偏序关系,也可以引入约束机制,对授权的各个环节进行相应的限制。最常见的约束是定义互斥角色和限制可被赋予某特定角色的数目。在图3中,管理角色可分为如图所示的三个等级:最高等级为系统级管理员角色,它负责管理系统内所有的角色和用户,能够干预所有角色和用户的权限管理;部门级管理员负责对部门范围内所有的角色和用户进行管理;组级管理员负责部门内某角色组和用户组的权限管理。在将系统功能项分配给角色之前,首先确定系统的功能控制单元。系统的功能控制单元表示系统需要进行权限控制的功能项。功能控制单元在系统开发时由开发人员与系统用户商量确定。可以将功能控制单元进行分层定义,使用户有一个清晰的功能控制视图。根据具体需要可以分为应用子系统、功能模块、模块中的功能项等层次。然后根据最小特权原理将功能控制单元的操作权限赋予系统角色。所谓最小特权原理是指用户所拥有的权力不能超过执行工作时所需的权限,在基于角色的访问控制中是指将只有角色需要执行的操作才授权给角色。在将系统角色赋予系统用户之前,首先给所有数据库应用系统的可能用户分配一个账号,由系统维护人员按部门建立并维护整个数据库应用系统的用户信息。企业主管负责安排系统级管理员,各部门主管负责安排部门级系统管理员和组级管理员。部门级管理员负责与本部门业务有关的角色建立与维护,能将属于本部门的功能控制单元的操作权限赋予给特定的角色,并能将本部门建立的角色赋予本部门相应的用户或除去指定用户的角色。组级管理员能够对部门内某角色组和用户组的权限进行管理。在图4中,应用程序层实现基于角色的权限管理的运行过程如下:1.用户登陆时向会话管理工具发送用户编码、密码口令进行身份认证。2.确认用户身份合法后,进入应用程序主窗体模块,启动会话管理工具,获得用户的角色及权限。授权用户在应用程序主窗体中能够进行的操作,这表现在用户在应用程序主窗体中可选择的菜单项上。3.用户每进入一个新的子窗体模块都启动一次新的会话,以确定用户在新的子窗体模块中能够操作的系统功能项,这表现在用户在应用程序子窗体模块中可操作用于实现系统功能项的控件或其他方式上。用户可以同时在工作站上打开多个系统子窗体模块,与系统建立多个会话。【主权项】1.基于角色的权限控制机制,其特征是:基于角色的访问控制机制,基于应用程序层统一实现的对整个系统的角色的权限管理方案;系统应用封装访问权限给角色再赋予用户来间接地访问数据库资源,极大地减少了权限管理的负担和代价,使系统的权限管理具有很大的灵活性;灵活表达和实现企业的安全策略,使系统权限管理在组织视图这个较高的抽象集上,贴近组织管理规则;在一定程度上限制了数据库管理员的权力,保证了系统的安全性。2.根据权利要求1所述的基于角色的访问控制机制,其特征是:在角色的访问控本文档来自技高网...

【技术保护点】
基于角色的权限控制机制,其特征是:基于角色的访问控制机制,基于应用程序层统一实现的对整个系统的角色的权限管理方案;系统应用封装访问权限给角色再赋予用户来间接地访问数据库资源,极大地减少了权限管理的负担和代价,使系统的权限管理具有很大的灵活性;灵活表达和实现企业的安全策略,使系统权限管理在组织视图这个较高的抽象集上,贴近组织管理规则;在一定程度上限制了数据库管理员的权力,保证了系统的安全性。

【技术特征摘要】

【专利技术属性】
技术研发人员:叶君玉
申请(专利权)人:上海赞越软件服务中心
类型:发明
国别省市:上海;31

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1