一种基于ABAC和RBAC的权限控制方法技术

技术编号:10786809 阅读:419 留言:0更新日期:2014-12-17 13:45
本发明专利技术公开了一种基于ABAC和RBAC的权限控制方法,本方法基于ABAC和RBAC的权限控制,能够实现权限的动态控制和不同粒度的访问控制,尤其适用于业务较复杂的系统中对于资源的权限控制。该控制方法不仅能够更好的利用ABAC和RBAC的自身的优势,而且能够将两者结合起来,按照定义的控制信息,灵活的对资源进行不同粒度的控制,以满足用户对资源的不同粒度的权限控制。尤其适用于比较复杂的业务系统中对资源的访问控制,能够比较圆满的满足系统的权限控制需求。

【技术实现步骤摘要】
一种基于ABAC和RBAC的权限控制方法
本专利技术公开了一种基于ABAC和RBAC的权限控制方法,涉及计算机资源访问控制领域,具体涉及复杂业务系统中对资源的访问相关控制。
技术介绍
访问控制作为一种重要的安全措施在系统安全中得到广泛的应用,在针对访问控制的研究中产生了各种不同的访问控制模型,这些模型的目标是禁止未授权用户访问资源。访问控制核心是访问控制策略和基于策略的授权判定,访问控制策略描述了系统的安全需求,访问控制模型主要研究的是访问控制策略的表示,而访问控制策略自身是否安全以及其是否能够真实、及时的反应实际安全需求则直接影响整个系统的安全性和用户对系统的满意度,为了满足复杂系统对访问控制模型的需求。传统的访问控制模型,如自主访问控制DAC(DiscretionaryAccessControl)、强制访问控制MAC(MandatoryAccessControl)、基于角色的访问控制RBAC(RoleBasedAccessControl)和基于属性的访问控制模型ABAC(AttributeBasedAccessControl)等,并不能完全适用现今对资源的访问控制的要求,他们不能表示复杂的场景对资源的访问控制策略,对主体和资源的描述都比较片面,而且往往无法满足对访问资源控制的需求。本文针对以上问题提出了一种有效的解决方法。
技术实现思路
本专利技术的目的是提供一种基于ABAC和RBAC的权限控制方法。本专利技术的目的是按以下方式实现的,包括以下步骤和内容:步骤一:权限模型的实体类定义,实体类的定义的信息包括基本信息、控制项信息、分配结果表信息和维度信息;步骤二:权限模型控制触发点设置,基于步骤一定义的实体类,将该实体类与需要控制业务资源对象关联起来,即设置权限模型控制的触发点;步骤三:权限模型控制条件设置,根据步骤一定义的模型实体类,获取定义的控制项信息,然后对定义的各个控制项,设置对应控制的条件,并将设置的条件持久化,以便后面步骤调用;步骤四:权限模型访问控制的调用,当用户访问某个业务资源时,如果该业务资源对象经过步骤二的设置,则会根据步骤二设置的关联关系,获取定义的实体类信息,然后根据实体类信息,获取步骤三定义的模型控制的条件信息;步骤五:权限模型控制条件的解析,将步骤四获取出来的控制条件,按照类型不同,调用不同的条件解析器进行解析,然后将结果返回;步骤六:根据返回结果,访问资源。根据步骤五解析的模型控制条件结果,对资源进行控制访问。所述基于ABAC和RBAC的权限控制方法,步骤一,定义权限模型的实体类,除了包括定义的基本信息之外,还需定义控制项信息,对于基于属性权限对象来说,则需定义属性控制项集合AttributeItemCollection,里面包括了定义的属性的项名称以及该项对应的属性资源的类型,包括主体属性和环境变量;对于基于角色的权限对象来说,则需定义对应的数据源信息DataSourceCollection,里面包括数据源的编号、类型以及分配时的设置信息。所述基于ABAC和RBAC的权限控制方法,步骤二,设置权限模型控制触发点,选取待控制的业务资源对象,并将定义的模型与业务资源对象关联起来,对于基于属性权限对象,主要是将定义的模型信息与业务资源对象关联ResAttributeRelation;对于基于角色的权限对象,除了定义的模型信息与业务资源对象关联信息ResourceRelation之外,还需要定义相关对应的关联字段信息ElementMappingCollection。所述基于ABAC和RBAC的权限控制方法,步骤三,设置权限模型控制条件,对于基于属性的权限对象,主要根据定义的属性项信息,设置该属性项对应的条件表达式;对于基于角色的权限对象,则根据定义的控制信息,定义模型控制的条件信息,包括规则或者枚举。所述基于ABAC和RBAC的权限控制方法,步骤四到步骤六所述的权限模型访问控制的调用、条件解析,其主要的步骤包括以下几步:1)用户请求对资源进行访问,触发了权限模型的控制;2)获取基于属性权限对象的控制信息ResAttributeRelation,如果该资源不控制属性权限,则直接跳过属性权限的控制;如果控制属性权限,则继续执行以下步骤;3)获取属性权限的定义信息AttributePermission,属性权限的定义信息,包括定义的属性项类型和属性项名称;4)获取属性权限的控制信息AttributeAssignment,首先获取上一步定义的属性项信息,然后根据获取的属性项,获取每个属性项设置的控制信息;5)解析属性权限的控制信息,根据上一步获取的控制信息,调用属性权限解析引擎,将控制信息进行解析,将结果返回;根据返回的布尔结果,如果是FALSE,则拒绝访问资源对象;如果是TRUE,则继续执行后面的步骤;6)获取基于角色权限对象控制信息ResourceRelation,如果不存在控制信息,则直接访问资源对象;如果存在控制信息,则继续下面的步骤;7)获取基于角色权限对象的定义信息PermissionObject,定义的信息主要包括承载的数据源以及分配结果表设置的信息;8)获取基于角色权限对象的控制信息DataAssignment,根据前面步骤定义的信息,获取对应的控制信息;9)解析基于角色权限对象的控制信息,交给基于角色权限模型解析引擎和数据访问引擎,对获取的数据进行条件过滤,然后根据过滤之后的结果,对资源进行访问。本专利技术的优异效果:本专利技术公开了一种基于ABAC和RBAC的权限控制方法,能够实现权限的动态控制和不同粒度的访问控制,尤其适用于业务较复杂的系统中对于资源的权限控制。该控制方法不仅能够更好的利用ABAC和RBAC的自身的优势,而且能够将两者结合起来,按照定义的控制信息,灵活的对资源进行不同粒度的控制,以满足用户对资源的不同粒度的权限控制。附图说明图1是权限控制模型总体框架图;图2是权限模型访问控制总体流程图;图3是权限模型控制流程图。具体实施方式参照说明书附图对本专利技术的一种基于ABAC和RBAC的权限控制方法作以下详细地说明。本专利技术的目的在于弥补现有的单个权限控制模型自身存在的缺憾,以满足复杂业务系统中对业务资源的控制。ABAC模型考虑主体、资源和访问所处环境的属性来描述策略,相比于传统的访问控制策略,能够解决复杂信息系统中的粗粒度访问控制,但是无法满足用户对于细微粒度权限的访问控制。而RBAC通过“角色”建立起用户和资源的关系,定义了细微粒度的权限控制信息,但是无法定义粗粒度的访问控制信息,存在着一定的局限性。为此,本专利技术公开了一种基于ABAC和RBAC的权限控制方法,该方法主要由权限模型定义和权限模型控制两部分组成。所述基于ABAC和RBAC的权限控制方法的步骤如下:步骤一:权限模型的实体类定义。实体类的定义的信息包括基本信息、控制项信息、分配结果表的信息和维度信息;步骤二:权限模型控制触发点设置。基于步骤一定义的实体类,将该实体类与需要控制业务资源对象关联起来,即设置权限模型控制的触发点;步骤三:权限模型控制条件设置。根据步骤一定义的模型实体类,获取定义的控制项信息,然后对定义的各个控制项,设置对应控制的条件,并将设置的条件持久化,以便后面步骤调用;步骤四:权限模型访问控本文档来自技高网...
一种基于ABAC和RBAC的权限控制方法

【技术保护点】
一种基于ABAC和RBAC的权限控制方法,其特征在于包括以下步骤和内容:步骤一:权限模型的实体类定义,实体类的定义的信息包括基本信息、控制项信息、分配结果表信息和维度信息;步骤二:权限模型控制触发点设置,基于步骤一定义的实体类,将该实体类与需要控制业务资源对象关联起来,即设置权限模型控制的触发点;步骤三:权限模型控制条件设置,根据步骤一定义的模型实体类,获取定义的控制项信息,然后对定义的各个控制项,设置对应控制的条件,并将设置的条件持久化,以便后面步骤调用;步骤四:权限模型访问控制的调用,当用户访问某个业务资源时,如果该业务资源对象经过步骤二的设置,则会根据步骤二设置的关联关系,获取定义的实体类信息,然后根据实体类信息,获取步骤三定义的模型控制的条件信息; 步骤五:权限模型控制条件的解析,将步骤四获取出来的控制条件,按照类型不同,调用不同的条件解析器进行解析,然后将结果返回;步骤六:根据返回结果,访问资源;根据步骤五解析的模型控制条件结果,对资源进行控制访问。

【技术特征摘要】
1.一种基于ABAC和RBAC的权限控制方法,其特征在于包括以下步骤和内容:步骤一:权限模型的实体类定义,实体类的定义的信息包括基本信息、控制项信息、分配结果表信息和维度信息;步骤二:权限模型控制触发点设置,基于步骤一定义的实体类,将该实体类与需要控制业务资源对象关联起来,即设置权限模型控制的触发点;步骤三:权限模型控制条件设置,根据步骤一定义的模型实体类,获取定义的控制项信息,然后对定义的各个控制项,设置对应控制的条件,并将设置的条件持久化,以便后面步骤调用;步骤四:权限模型访问控制的调用,当用户访问某个业务资源时,如果该业务资源对象经过步骤二的设置,则会根据步骤二设置的关联关系,获取定义的实体类信息,然后根据实体类信息,获取步骤三定义的模型控制的条件信息;步骤五:权限模型控制条件的解析,将步骤四获取出来的控制条件,按照类型不同,调用不同的条件解析器进行解析,然后将结果返回;步骤六:根据返回结果,访问资源;根据步骤五解析的模型控制条件结果,对资源进行控制访问。2.根据权利要求1所述基于ABAC和RBAC的权限控制方法,其特征在于:步骤一,定义权限模型的实体类,除了包括定义的基本信息之外,还需定义控制项信息,对于基于属性权限对象来说,则需定义属性控制项集合AttributeItemCollection,里面包括了定义的属性的项名称以及该项对应的属性资源的类型,包括主体属性和环境变量;对于基于角色的权限对象来说,则需定义对应的数据源信息DataSourceCollection,里面包括数据源的编号、类型以及分配时的设置信息。3.根据权利要求1所述基于ABAC和RBAC的权限控制方法,其特征在于:步骤二,设置权限模型控制触发点,选取待控制的业务资源对象,并将定义的模型与业务资源对象关联起来,对于基于属性权限对象,主要是将定义的模型信息与业务资源对象关联ResAttributeRelation;对于基于角色的权限对象,除了定义的模型信息与业务资源对象关联信息ResourceRelation之外,还需要...

【专利技术属性】
技术研发人员:刘建华
申请(专利权)人:浪潮通用软件有限公司
类型:发明
国别省市:山东;37

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

1