首页> 中国专利> 权限管理设备及其权限管理方法和介质

权限管理设备及其权限管理方法和介质

摘要

本申请公开了一种权限管理方法,应用于计算机信息技术领域。通过将策略文件按照属性值进行分类,并存储在各策略文件集,可先查询策略文件所处的策略文件集,再在策略文件集中查询所需的策略文件,提高了查询策略文件的效率。具体的,该方法应用于权限管理设备,该方法包括:权限管理设备,接收用户的资源获取请求,其中资源获取请求包括用于标识的属性值;根据接收的资源获取请求中的属性值,查询权限管理设备的策略文件库中属性值对应的策略文件集,其中策略文件库包括多个策略文件集;从查询到的策略文件集中查询对应属性值的策略文件;以及根据查询到的策略文件和属性值,确定用户是否有权限获取所请求的资源。

著录项

  • 公开/公告号CN113032745A

    专利类型发明专利

  • 公开/公告日2021-06-25

    原文格式PDF

  • 申请/专利权人 上海依图网络科技有限公司;

    申请/专利号CN202110297759.0

  • 发明设计人 赵迪;

    申请日2021-03-19

  • 分类号G06F21/30(20130101);G06F16/16(20190101);

  • 代理机构31300 上海华诚知识产权代理有限公司;

  • 代理人徐颖聪

  • 地址 200051 上海市徐汇区宜州路180号1幢第1层01、02室

  • 入库时间 2023-06-19 11:35:49

说明书

技术领域

本申请涉及计算机信息技术领域,特别涉及一种权限管理设备及其权限管理方法和介质。

背景技术

权限控制作为一种重要的安全措施在系统安全中得到广泛的应用,在针对权限控制的研究中产生了各种不同的权限控制模型,这些模型的目标是禁止未授权用户访问资源。权限控制核心是权限控制策略和基于策略的授权判定,权限控制策略描述了系统的安全需求,权限控制模型主要研究的是权限控制策略的表达,而权限控制策略自身是否安全以及其是否能够真实、及时的反应实际安全需求,则直接影响整个系统的安全性和用户对系统的满意度,为了满足复杂系统对权限控制模型的需求。

基于属性的权限控制(Attribute-Based Access Control,ABAC)模型是利用属性把权限控制中所涉及的主体、资源、环境、授权统一建模,从而使权限控制策略的制定和约束的表达更加准确和灵活。目前已经有一些基于extensible access control markuplanguage(XACML)的实现,例如AuthzForce,SunXACML等。

在记载权限控制策略的策略文件数量大、数据量多的情况下,基于ABAC的权限控制系统的效率很重要。但是,目前的ABAC系统在进行权限校验时会遍历策略文件库中所有的策略文件并进行规则匹配,直到找到符合条件的策略文件,使得权限校验效率比较低。另外,策略文件的数量巨大时,对于策略文件的维护也比较困难。例如,用户只能根据通过主体属性ID(IDentifier,唯一识别号)查找策略文件。如果用户需要根据特定条件查找策略文件,则需要遍历查看策略文件,查询策略文件的效率比较低。

发明内容

本申请的一些实施例提供了一种权限管理方法、设备、可读介质和电子设备,以下从多个方面介绍本申请,以下多个方面的实施方式和有益效果可互相参考。

第一方面,本申请的实施方式提供了一种权限管理方法,该方法包括:应用于权限管理设备,其特征在于,包括:权限管理设备接收资源获取请求,其中资源获取请求包括用于标识的属性值;权限管理设备根据接收的资源获取请求中的属性值,查询权限管理设备的策略文件库中属性值对应的策略文件集,其中策略文件库包括多个策略文件集;权限管理设备从查询到的策略文件集中查询对应属性值的策略文件;权限管理设备根据查询到的策略文件和属性值,确定用户是否有权限获取所请求的资源。

如上所述,根据策略文件中一种或多种属性的属性值对策略文件进行分类,各类策略文件从策略文件库中下载并储存在不同的策略文件集中,各策略文件集具有对应的策略索引式,查询的时候,通过索引式找到属性值对应的策略文件集,然后在策略文件集中查询对应属性值的策略文件。因为策略文件是依据属性值进行的分类,根据属性值就可以获得判断用户的权限所需的策略文件集,查询策略文件集,再在策略文件集中查询策略文件,使得查询策略文件的范围缩小,提高了查询策略文件的效率,进而提高了权限管理设备权限管理的效率,提升用户的体验。

例如,上述接收用户的资源获取请求可以由ABAC系统中的策略实施点来完成;上述根据接收的资源获取请求中的属性值,查询权限管理设备的策略文件库中属性值对应的策略文件集,以及从查询到的策略文件集中查询对应属性值的策略文件,由ABAC系统中的策略管理点完成;上述根据查询到的策略文件和属性值,确定用户是否有权限获取所请求的资源,由ABAC系统中的策略决策点来完成。

在一些实施方式中,上述权限管理设备通过策略索引式查询属性值对应的策略文件集。

根据本申请的实施方式,提高了查询策略文件集的效率。

在一些实施方式中,上述每个策略文件集具有对应的策略索引式。

在一些实施方式中,上述属性值包括主体属性值、资源属性值、环境属性值以及授权属性值中的多种。

在一些实施方式中,上述属性值满足下列条件中的至少一种:主体属性值包括用户的姓名、用户名、年龄、身份证号、学号、注册号;资源属性值包括表示用户能够获取的资源的创建时间、时长、位置、等级的数据信息;环境属性值包括表示用户发起请求时所处的当前时间、所处的当前位置的数值信息;授权属性值包括表示用户所请求的资源的操作类型的数值信息。

在一些实施方式中,上述操作类型包括浏览、下载、上传、截图中的至少一种。

在一些实施方式中,上述方法还包括:权限管理设备根据属性值将策略文件库中的策略文件分类为多个策略文件集。

在一些实施方式中,权限管理设备根据属性值将策略文件库中的策略文件分类为多个策略文件集,包括:根据主体属性值、资源属性值和授权属性值中的至少一种将策略文件库中的策略文件分类为多个策略文件集。

在一些实施方式中,上述策略索引式维护属性值与策略文件集之间的映射关系。

第二方面,本申请的实施方式提供了一种权限管理设备,该设备包括:接收模块,用于接收用户的资源获取请求,其中所示资源获取请求包括用于标识的属性值;第一查询模块,用于根据接收的资源获取请求中的属性值,查询权限管理设备的策略文件库中属性值对应的策略文件集,其中策略文件库包括多个策略文件集;第二查询模块,用于从查询到的策略文件集中查询对应属性值的策略文件;确定模块,用于根据查询到的策略文件和属性值,确定用户是否有权限获取所请求的资源。

在一些实施方式中,上述权限管理设备通过策略索引式查询属性值对应的策略文件集。

例如,上述接收模块设置于ABAC系统中的策略实施点;上述第一查询模块和第二查询模块设置于ABAC系统中的策略管理点;上述确定模块设置于ABAC系统中的策略决策点。

在一些实施方式中,上述每个策略文件集具有对应的策略索引式。

在一些实施方式中,上述属性值包括主体属性值、资源属性值、环境属性值以及授权属性值中的多种。

在一些实施方式中,上述属性值满足下列条件中的至少一种:主体属性值包括用户的姓名、用户名、年龄、身份证号、学号、注册号;资源属性值包括表示用户能够获取的资源的创建时间、时长、位置、等级的数据信息;环境属性值包括表示用户发起请求时所处的当前时间、所处的当前位置的数值信息;授权属性值包括表示用户所请求的资源的操作类型的数值信息。

在一些实施方式中,上述操作类型包括浏览、下载、上传、截图的至少一种。

在一些实施方式中,上述设备还包括分类模块,该分类模块用于根据属性值将策略文件库中的策略文件分类为多个策略文件集。

在一些实施方式中,上述分类模块用于根据属性值将策略文件库中的策略文件分类为多个策略文件集,还包括:根据主体属性值、资源属性值和授权属性值中的至少一种将策略文件库中的策略文件分类为多个策略文件集。

在一些实施方式中,上述策略索引式维护属性值与策略文件集之间的映射关系。

第三方面,本申请的实施方式提供了一种可读介质,该可读介质上存储有指令,该指令在电子设备上执行时使电子设备执行如上述第一方面的权限管理方法。

第四方面,本申请的实施方式提供了一种权限管理设备,该装置包括:存储器,用于存储由电子设备的一个或多个处理器执行的指令,以及处理器,是电子设备的处理器之一,用于执行如上的权限管理方法。

本申请实施例提供的权限管理方法,通过将判断权限所需的策略文件按照属性值进行分类存储在策略文件集,如此,权限管理设备先查询该策略文件所处的文件集,在策略文件集中查询所需的策略文件,提高了查询策略文件效率。

附图说明

图1是根据本申请实施例示出的一种基于属性的权限控制系统ABAC100的应用场景图;

图2是根据本申请实施例示出的一种权限控制策略的示意图;

图3是根据本申请实施例示出的一种带有权限索引的权限管理点PAP130的示意图;

图4是根据本申请实施例示出的一种带有权限索引的权限管理点PAP130查询策略文件的方法的流程图;

图5是根据本申请实施例示出的一种权限管理设备50的结构示意图;

图6是根据本申请的一些实施例示出的一种电子设备60的框图。

具体实施例

本申请的说明性实施例包括但不限于一种带有权限索引的权限管理设备及其权限管理方法和介质。

如上,基于属性的权限控制系统是利用主体属性、资源属性、环境属性、授权属性来建立的系统模型。其中,主体属性指的是与用户身份识别相关的信息,包括用户的姓名、年龄、性别、用户名、职位等。资源属性是指与资源相关的信息,包括资源的创建时间、创建位置、密级等。例如,资源为视频时,资源属性可以是视频的创建时间、时间长度等内容。环境属性是指客观情况的属性,比如用户发起资源请求时,当前的时间、用户当前的位置、当前的场景(普通状态、紧急状态)。授权属性是指授权的具体操作,如浏览、下载等。

图1是根据本申请实施例示出的一种基于属性的权限控制系统ABAC 100的应用场景。

可以理解,虽然本申请以权限控制系统ABAC 100为例进行了说明,但是本申请技术方案中所包括的策略文件分类及检索方案适用于其他类似的权限控制系统,在此不做限制。

如图1所示,用户200在需要获取某项资源时,可以向权限控制系统ABAC 100发出资源获取请求,权限控制系统ABAC 100根据属性值和检索到的策略文件进行判断,返回拒绝或者同意用户200获取资源的结果;如果结果是同意,则资源库300通过ABAC 100向用户200返回用户200请求获取的资源;如果结果是拒绝,则不向用户200发送用户200请求获取的资源。

其中,属性值可以是权限控制系统ABAC 100中所涉及的主体、资源、环境、授权等属性的具体数据,例如,用户的主体属性的属性值(即上述主体属性值)包括用户名abc、年龄15岁,资源属性的属性值(即上述资源属性值)包括用户可以获取的视频时间长度为5S、环境属性的属性值(即上述环境属性值)包括用户发送资源获取请求的当前时间9:00-18:00、授权的属性值(即上述授权属性值)表示授权用户浏览5S以内的视频。

策略文件包含判断用户是否有权限获取用户所请求的资源的规则。例如,图2是根据本申请实施例示出的一种权限控制策略的示意图,如图2所示,策略文件中,规定主体属性为用户名以a开头,资源属性为时间长度为10S以内的视频;环境属性为在北京时间9:00-18:00;授权属性为读取,效果为允许。该策略文件表述的含义是:在北京时间9:00-18:00,允许用户名为a开头的用户读取时间长度为10S以内的视频。

下面具体介绍权限控制系统ABAC 100。

如图1所示,权限控制系统ABAC 100包括,PEP110(Policy Enforcement Point,策略实施点)、PDP120(Policy Decision Point,策略决策点)、PAP130(PolicyAdministration Point,查询策略管理点)、以及PIP140(Policy Information Point,策略信息点)。

其中,PEP110用于接收用户200发送的获取资源的资源获取请求(101)。其中,获取资源请求包括:用户200的主体属性值和请求获取的资源属性值,以及要对获取的资源执行的操作(即授权属性值)。PEP110还用于将用户200发送的资源获取请求采用PDP120可识别的语言进行编写,例如,用XACML进行编写,得到权限校验请求,以使PDP120接收到权限校验请求后,可以识别用户200发送的资源获取请求的内容。XACML是可扩展权限控制标记语言,使用该语言编辑好请求之后,XACML可以表达权限校验请求以及描述一个策略文件的内容。例如,一个权限校验请求包括{用户(ID),资源(ID),授权(访问)};一个策略文件包括{用户描述,资源描述,授权描述},权限校验请求和策略文件均可以由一些描述语言进行编写,如,使用XACML进行编写。

PEP110还用于将权限校验请求发送给PDP120(102)。

PDP120用于在接收到用权限校验请求后,根据该权限校验请求,向PAP130发送策略文件获取请求,以请求获取包含判断101中的用户200是否有权限获取其请求的资源的规则的策略文件(103)。其中,资源获取请求包括权限校验请求中的属性值。例如,资源获取请求中的用户200的主体属性值为用户名abc。请求获取的资源属性值为时间长度为5S的视频,对资源执行的操作为读取。即PDP120向PAP130请求的策略文件为如图2所示的策略文件。

PAP130用于在接收到PDP120发送的策略文件获取请求后,根据其中的用户200的主体属性值,从策略文件库查询判断用户200是否有权限获取其请求的资源的规则的策略文件,并把查询到的策略文件发送给PDP120(104)。

PDP120可以根据属性值和获取的策略文件判断用户200是否有权限获取所请求的资源,但是,由于用户200发送的资源获取请求中的属性值并不是包含足够多的信息,能被PDP120用于判断用户是否有权限获取资源,故PDP120还需要从PIP140获取完整的属性值。如上所述主体属性的属性值(即主体属性值),包括用户的姓名、用户的年龄、用户的身份证号等身份认证的信息。资源属性的属性值(即资源属性值),资源的创建的时间、位置、等级等数据信息。根据策略文件判断权限时需要上述一种或多种属性值,例如,只需要用户的姓名或者资源的创建时间,就可以判断是否允许用户获取资源,或者需要用户名和资源的创建时间来进行判断用户是否具有权限;其中仅根据资源的创建时间来判断是否允许用户获取资源,是指任何用户请求的资源的创建时间满足策略文件中资源属性的属性值,即可允许用户获取资源。

故PDP120还用于向PIP140发送完整属性值获取请求,以获取上述完整的属性值。

PIP140包括ABAC 100系统的所有用户200的完整主体属性值、所有资源的完整资源属性值和所有环境的完整环境属性值,PIP140用于为PDP120提供判断时所需的主体属性值、环境属性值和资源属性值。

在一些实施例中,上述请求中的用户200的主体属性值不包括其目标策略文件中所需的用户200的主体属性值,上述请求中的资源的资源属性值不包括其目标策略文件中所需的资源属性值,PDP120需要获取完整主体属性值和完整资源属性值时,PDP120需要发送两次获取请求。即PDP120向PIP140发送完整主体属性值获取请求,PIP140向PDP120返回完整主体属性值;PDP120向PIP140发送完整资源属性值获取请求,PIP140向PDP120返回完整资源属性值。

在一些实施例中,上述请求中的用户200的主体属性值不包括其目标策略文件中所需的用户200的主体属性值,此时PDP120可以向PDP140发送请求所需的用户200的主体属性值(105),PDP140响应于属性值请求,向PDP120返回所需的用户200的主体属性值(106)。

例如,用户200在10:00发送请求读取时间长度为5S的视频,并提供了用户200的身份证号321。若如图2所示,此时目标策略文件的主体属性的属性值是用户名,则PDP120会向PIP140发送请求身份证号对应的用户200的用户名,或者PDP120会向PIP140发送请求身份证号321对应的用户200的完整主体属性值,得到用户200的用户名。PDP120获取到用户200的主体属性值-用户名abc、环境属性值-当前的时间10:00、请求的资源属性值-时间长度为5S的视频,以及请求的授权属性值-读取,根据图2所示的目标策略文件,判断该用户200的请求效果为允许。

PDP120根据图中104和106获取的判断权限所需的策略文件和所需的属性值,判断上述用户200是否有权限进行在101中所请求的操作,并向PEP110发送同意或者拒绝该用户200获取资源的指令(107)。

例如,所需的属性值包括:主体属性值-用户名abc、环境属性值-当前的时间10:00、请求的资源属性值-时间长度为5S的视频,以及请求的授权属性值-读取,根据图2所示的目标策略文件,判断该用户的请求效果为允许,则PDP120向PEP110发送同意该用户200获取资源的指令。如果上述用户名为bc,则不符合图2所示的主体属性中用户名以a开头的条件,则PDP120向PEP110发送拒绝该用户200获取资源的指令。

在一些实施例中,上述判断结果还包括不确定、不适用等。

若图1中PDP120的判断结果为同意该用户200获取资源的指令,则PEP110根据107的指令,向资源库300请求获取资源(108)。资源库300响应于获取资源的请求,向PEP110发送请求获取的资源(109)。PEP110接收到上述请求获取的资源后,向用户200转发该资源(110)。

如前所述,在相关技术中,PAP130查询策略文件时,只能根据主体属性进行查询;在查询不到对应的策略文件时,会遍历权限控制系统ABAC的策略文件库中所有的策略文件,使得查询策略的效率比较低,进而降低对用户的访问权限的判断效率,以及增加了修改策略文件的难度。另外,在一些情况下,权限管理系统的使用者希望查询一些满足特定条件的策略文件,其中,特定条件具体是指满足一定范围的属性值,例如,查询“资源为包括r的策略文件”,“资源为R的子集的策略文件”,“资源为R的超集的策略文件”等满足特定资源属性条件的一个或多个策略文件。现有的PAP130缺乏描述这种查询的能力,即现有的PAP130并没有按照上述特定条件对策略文件建立索引,无法查询特定条件的策略文件。所以如果现有的PAP130描述上述查询满足特定条件的策略文件,只能通过遍历并逐个匹配策略文件,无法高效地实现查询上述特定条件的策略文件集合功能。

为了解决上述问题,本申请技术方案先根据各属性的属性值对权限控制系统ABAC的策略文件库中的策略文件进行分类,得到多个策略文件集,且各策略文件集具有对应的策略索引式。如此,在查询的时候,可以通过策略索引式找到属性值对应的策略文件集,然后在策略文件集中查询目标策略文件。

通过上述方案,减少了查询策略文件的范围。另外,在一些查询场景下,可以避免遍历策略文件的情况,在大量数据中快速找到符合条件的策略文件。并且策略索引式不依赖于全部属性值的属性类型,即不需要获取策略文件中的全部属性来建立策略文件集,只需要根据依赖查询条件所需的部分属性建立策略文件集。例如,只根据主体属性建立策略文件集。

可以理解,策略索引式可以是根据具体的属性值类型选择具体的实现。例如,数值型的属性值索引可以使用具有顺序的数据结构(例如红黑树)实现。

需要说明的是,本申请实施例提供的策略文件的查询方法执行主体可以为电子设备,或者,该电子设备的中央处理器(Central Processing Unit,CPU),或者该电子设备装置中用于执行策略文件的查询方法的控制模块和/或控制实体,具体的可以根据实际使用需求确定,本申请实施例不作限定。其中,上述查询策略文件的装置可以基于电子设备实现,例如该电子设备包括但不限于手机、平板电脑等终端设备或服务器等。

图3示出了一种带有权限索引的权限管理点PAP130的示意图。下面结合图3对带有权限索引的权限管理点PAP130进行详细的描述。

如图3所示,权限管理点PAP130中包括策略索引单元131、查询单元132和策略文件集单元133。

策略索引单元131用于根据查询条件对策略文件建立索引式(即上述策略索引式)。

在系统启动时,策略索引单元131选择依据查询条件建立索引式。每个索引式对应一种查询条件。索引式的个数和种类是可配置的,可根据查询条件的需要,选择建立哪种索引式,或者建立新的索引类型。针对没有被索引的策略文件建立统一的索引式,并将没有被索引的策略文件存放在单独的策略文件集中,通过遍历的方式在该策略文件集中进行查询。

查询单元132用于根据策略索引单元131中的索引式,查询符合索引式的策略文件,以及根据查询的指令查询策略索引单元131中的索引式,得到索引式对应的策略文件集。

在本申请的一些实施例中,查询条件包括用户的主体属性和/或资源属性、授权属性(即授权的行为)。

例如,查询条件一:根据资源属性和授权属性进行查询。其中,策略索引单元131根据资源属性值和授权属性值建立索引式。具体的,策略索引单元131根据资源属性值-视频时长和授权属性值-读取、下载等进行分类,并建立各属性值类别的索引式,该属性值类别如:(“READ”,LessThan(“time”,10)),即资源属性值是视频时长在10S以下,且授权属性值是读取的属性值类别;(“READ”,LessThan(“time”,5)),即资源属性值是视频时长在5S以下,授权属性值是读取的属性值类别;(“DOWN”,LessThan(“time”,,3)),即资源属性值是视频时长在3S以下,授权属性值是下载的属性值类别。查询单元132查询策略文件集的查询式为getPolicies(“READ”,LessThan(“time”,10));getPolicies(“READ”,LessThan(“time”,5));getPolicies(“DOWN”,LessThan(“time”,3)),通过该查询式查询索引式对应的策略文件集。

例如,查询条件二:根据主体属性和授权属性进行查询。其中,策略索引单元131根据主体属性值和授权属性值建立索引式。具体的,策略索引单元131根据主体属性值-用户名和授权属性值-读取、下载等进行分类,并建立各属性值类别的索引式,则该属性值类别如:(“READ”,StartsWith(“name”,“a”));(“READ”,StartsWith(“name”,“ab”));(“READ”,StartsWith(“name”,“abc”))等。其中,属性值类别的含义如:(“READ”,StartsWith(“name”,“a”))表示主体属性值是用户名以a开头,授权属性值是读取。查询单元132查询策略文件集的查询式为getPolicies(“READ”,StartsWith(“name”,“a”));getPolicies(“READ”,StartsWith(“name”,“ab”));getPolicies(“READ”,StartsWith(“name”,“abc”))等。

例如,查询条件三:根据主体属性、资源属性和授权属性进行查询。其中,策略索引单元131根据主体属性值、资源属性值和授权属性值建立索引式。具体的,策略索引单元131根据主体属性值-用户名、资源属性值-视频时长和授权属性值-读取、下载等进行分类,并建立各属性值类别的索引式,则该属性值类别如:(“READ”,LessThan(“time”,10),StartsWith(“name”,“a”));(“READ”,LessThan(“time”,10),StartsWith(“name”,“ab”));(“READ”,LessThan(“time”,5),StartsWith(“name”,“abc”))等,其中,(“READ”,LessThan(“time”,10),StartsWith(“name”,“a”))表示查询主体属性值为用户名以a开头,且资源属性值为时间长度为10S以内的视频,授权属性值是读取。查询单元132查询策略文件集的查询式为getPolicies(“READ”,LessThan(“time”,10),StartsWith(“name”,“a”));getPolicies(“READ”,LessThan(“time”,10),StartsWith(“name”,“ab”));getPolicies(“READ”,LessThan(“time”,5),StartsWith(“name”,“abc”))等。

在本申请的一些实施例中,查询条件包括用户的主体属性和/或资源属性、授权属性和策略文件集的关系。如上所述策略文件集是根据对策略文件库中的策略文件进行分类得到的,即根据策略文件的属性值对策略文件进行分类存储,得到策略文件集。策略文件集的关系是指各策略文件集之间的等集、超集、子集等。

例如,查询条件四:根据用户的主体属性和/或资源属性、授权属性、策略文件集的关系进行查询。具体的,策略索引单元131对主体属性值-用户名和授权属性值-读取、下载等进行分类,并建立包含各属性值类别以及各属性值类别对应的策略文件集的关系的索引式。则该属性值类别如:(“READ”,StartsWith(“name”,“a”),SubSet);(“READ”,StartsWith(“name”,“b”)),SubSet);(“READ”,StartsWith(“name”,“c”),SubSet)等。其中,(“READ”,StartsWith(“name”,“a”),SubSet)表示查询“主体属性值是用户名以a开头、授权属性值是读取的策略文件集的子集”,则查询单元132通过getPolicies(“READ”,StartsWith(“name”,“a”),SubSet)查询策略文件集后,返回的结果为{“READ”,StartsWith(“name”,“ab”)},{“READ”,StartsWith(“name”,“abc”)}等多个策略文件集。各策略文件集均满足:“主体属性值是用户名以a开头、授权属性值是读取的策略文件集的子集”;各策略文件集中的每个策略文件满足:“主体属性值是用户名以a开头、授权属性值是读取”。

策略文件集单元133用于根据策略索引式建立策略文件集,并将查询单元132查询到的策略文件存储在对应的策略文件集中。例如,若一号索引式对应一号策略文件集,查询单元132根据一号索引式在策略文件库中遍历所有的策略文件,查询到目标策略文件,策略文件集单元133将策略文件下载并存储在一号策略文件集中。若二号索引式对应二号策略文件集和三号策略文件集,查询单元132根据二号索引式在策略文件库中遍历所有的策略文件,当查询到二号策略文件集对应的目标策略文件时,策略文件集单元133下载目标策略文件,并存储在二号策略文件集中,当查询到三号策略文件集对应的目标策略文件时,策略文件集单元133下载目标策略文件,并存储在三号策略文件集中。

在本申请的一些实施例中,策略文件集单元133可以设置于策略文件库中。

在本申请的一些实施例中,查询单元132还用于对策略文件集单元133中各策略文件集中的策略文件进行遍历查询。

在本申请的一些实施例中,策略文件库内容修改时会更新策略索引单元131和策略文件集单元133。例如,策略文件的增加、删除、修改。具体的,当需要增加策略文件时,策略索引单元131判断该策略文件符合的索引式,将该策略文件下载并存储在符合的索引式对应的策略文件集中。例如,该策略文件符合一号索引式,将该策略文件下载并存储于一号策略文件集。若没有符合的索引式,则建立新的索引式,以及在策略文件集单元133中建立对应的新的策略文件集,将该新的策略文件下载并存储于该新的策略文件集中。

图4是根据本申请实施例示出的一种带有权限索引的权限管理点PAP130查询策略文件的方法的流程图。下面结合图3和图4对查询条件的查询方法做详细的描述。

步骤S401:查询单元132接收到PDP120发送的请求策略文件的指令。

在本申请的一些实施例中,查询单元132接收到PDP120发送的请求策略文件的指令中包含用户的主体属性和/或资源属性的属性值、授权属性的属性值。

步骤S402:查询单元132查询策略索引单元131内的符合条件的索引式,得到目标策略文件集。

在本申请的一些实施例中,目标策略文件集可以有一个或者多个。例如,查询条件是根据用户名以a开头,授权属性值为读取,则得到的目标策略文件集包括以用户名以a开头和用户名以ab开头的策略文件集。

步骤S403:查询单元132在策略文件集单元133中查询到目标策略文件集。

步骤S404:查询单元132在目标策略文件集中遍历查询目标策略文件。

在本申请的一些实施例中,在权限控制系统ABAC 100中通过增加上下文处理模块来扩展环境的属性。例如,环境属性为在北京时间9:00-18:00,扩展后为环境属性为地点在北京,地点在北京,如此扩展了位置的环境属性。将增加的环境属性同步到PEP110、PDP120、PAP130和PIP140。例如:上下文处理模块将环境属性用XACML描述,环境属性的描述作为一个字段添加在策略文件中,并将该策略文件保存在PAP130中。在权限校验过程,PDP140获取当前环境属性,并在根据其他属性获取到策略文件后进行环境属性校验。在权限查询过程,可由用户输入当前环境属性并经过PEP110翻译为可识别的表达,再经过PDP120将当前环境属性的可识别的表达传给PAP130进行查询。

在本申请的一些实施例中,当将查询条件包括用户的主体属性和/或资源属性、授权属性和策略文件集的关系时。具体的,查询策略文件的查询式为:CollectionfindPolicies(String action,Query query,Relation relation),action表示授权属性,query表示主体属性和/或资源属性,relation表示策略文件集之间的关系,在策略索引单元131中的索引式中查找符合条件的策略文件集。例如,采用XACML语言中的相等性、数值比较编辑查询条件中的相等性、数值比较、字符串前缀、字符串包含等。Relation包括{EqualSet,SuperSet,SubSet}三种,即等集、超集和子集三种集合关系。一个查询例子可以为,findPolicies(“READ”,LessThan(“time”,10),SuperSet),即查找授权属性值为“READ”,资源属性值为“时间少于10S”的策略文件集的超集。假如当前索引为根据资源属性、授权属性和策略文件集的关系建立的索引,则策略索引单元131返回给查询单元132的结果可以为:{Action=“READ”,resourceCondition=LessThan(“time”,10),userCondition=…},{Action=“READ”,resourceCondition=LessThan(“time”,20),userCondition=…}等目标策略文件集。查询单元132对各目标策略文件集进行遍历查询目标策略文件。

在本申请的一些实施例中,当查询条件包括用户200的主体属性和/或资源属性、授权属性时,可根据授权条件直接查询策略文件。具体的,若仅建立效果为允许的策略文件,查询策略文件的查询式为:CollectiongetQualifiedPolicies(Stringaction,Setattributes);其中,“getQualifiedPolicies”表示查找符合授权条件的策略文件,action表示授权属性,“Setattributes”表示主体属性和/或资源属性。例如,查询策略文件集的查询式为getQualifiedPolicies(“READ”,{name=“abc”}),即目标策略文件中,主体属性为用户名为abc,请求的资源属性值为读取(即READ),若当前索引为根据主体属性和授权属性建立的索引,则策略索引单元131返回给查询单元132的结果包含{Action=“READ”,userCondition=Equal(“name”,“abc”),resourceCondition=…},{Action=“READ”,userCondition=StartsWith(“name”,“a”),resourceCondition=…}等目标策略文件集。查询单元132对各目标策略文件集进行遍历查询目标策略文件。

在本申请的一些实施例中,策略索引单元131每种类型的索引式基于对应查询条件的类型。例如,Equal查询条件的索引式中维护映射关系属性,即维护索引式中的属性值与策略文件集对应关系;StartsWith查询条件的索引式中在每个属性上维护一个前缀搜索树,即维护索引式中的属性值的前缀字符串与策略文件集对应关系。数值比较查询条件可对每个属性维护一个策略文件集的平衡搜索树。通过上述策略文件集索引,查询策略文件的时间复杂度可以在O(1)或O(log(n)),其中,n为策略文件库中全部策略文件的数量;findPolicies的时间复杂度可以在O(m)内,其中,m为符合查询条件的目标策略文件集中的策略文件的数量。

通过上述的查询策略文件的方法,可以权限判断过程中查找策略文件的时间缩短,进而提高权限判断的速度。具体的,PEP110向PDP120请求包含{用户(id),资源(id),授权属性};PDP120从PIP140获取用户和资源属性,PDP120接收{用户属性,资源属性,授权属性}三元组作为查询参数,PDP120向PAP130发起查询,PDP120返回给PEP110是否具有权限的判断结果,例如,true、false等。若根据授权条件直接查询目标策略文件,首先在策略索引单元131中查找目标策略文件集,若找到目标策略文件集,则查询单元132对目标策略文件集中的目标策略文件进行遍历查询,查找目标策略文件。当默认策略文件中的效果均为允许时,如果查询到目标策略文件,则PDP120无需判断,可直接返回true。如果在所有索引中都未找到目标策略文件,则在未被索引的策略文件集中遍历查找。如此进行一次权限判断所需时间最多为O(log(n))+O(f),其中n为策略文件库中全部策略文件的数量;f为未被索引的策略文件的数量。

图5是根据本申请实施例示出的一种权限管理设备50的结构示意图。

如图5所示,该权限管理设备50包括:接收模块501,用于接收用户的资源获取请求,其中所示资源获取请求包括用于标识的属性值;第一查询模块502,用于根据接收的资源获取请求中的属性值,查询权限管理设备的策略文件库中属性值对应的策略文件集,其中策略文件库包括多个策略文件集;第二查询模块503,用于从查询到的策略文件集中查询对应属性值的策略文件;确定模块504,用于根据查询到的策略文件和属性值,确定用户是否有权限获取所请求的资源。

在一些实施方式中,上述权限管理设备通过策略索引式查询属性值对应的策略文件集。

在一些实施方式中,上述每个策略文件集具有对应的策略索引式。

在一些实施方式中,上述属性值包括主体属性值、资源属性值、环境属性值以及授权属性值中的多种。

在一些实施方式中,上述用户的各种属性值满足下列条件中的至少一种:主体属性值包括用户的姓名、年龄、身份证号、学号、注册号;资源属性值包括表示用户能够获取的资源的创建时间、时长、位置、等级的数据信息;环境属性值包括表示用户发起请求时所处的当前时间、所处的当前位置的数值信息;授权属性值包括表示用户所请求的资源的操作类型的数值信息。

在一些实施方式中,上述操作类型包括浏览、下载、上传、截图的至少一种。

在一些实施方式中,上述设备还包括分类模块,该分类模块用于根据属性值将策略文件库中的策略文件分类为多个策略文件集。

图6是根据本申请的一些实施例示出的一种电子设备的框图,该电子设备可以为上述实视带有权限索引的权限管理点PAP130。图6示意性地示出了根据多个实施例的示例电子设备60。在一个实施例中,电子设备60可以包括一个或多个处理器601,与处理器601中的至少一个连接的系统控制逻辑602,与系统控制逻辑602连接的系统内存603,与系统控制逻辑602连接的非易失性存储器(NVM)604,以及与系统控制逻辑602连接的网络接口606。

在一些实施例中,处理器601可以包括一个或多个单核或多核处理器。在一些实施例中,处理器601可以包括通用处理器和专用处理器(例如,图形处理器,应用处理器,基带处理器等)的任意组合。在电子设备60采用eNB(Evolved Node B,增强型基站)或RAN(RadioAccess Network,无线接入网)控制器的实施例中,处理器601可以被配置为执行各种符合的实施例,例如,如图4所示的多个实施例中的一个或多个。例如,处理器601可以用于执行上述权限管理方法。

在一些实施例中,系统控制逻辑602可以包括任意合适的接口控制器,以向处理器601中的至少一个和/或与系统控制逻辑602通信的任意合适的设备或组件提供任意合适的接口。

在一些实施例中,系统控制逻辑602可以包括一个或多个存储器控制器,以提供连接到系统内存603的接口。系统内存603可以用于加载以及存储数据和/或指令。在一些实施例中系统60的内存603可以包括任意合适的易失性存储器,例如合适的动态随机存取存储器(DRAM)。

NVM/存储器604可以包括用于存储数据和/或指令的一个或多个有形的、非暂时性的计算机可读介质。在一些实施例中,NVM/存储器604可以包括闪存等任意合适的非易失性存储器和/或任意合适的非易失性存储设备,例如HDD(Hard Disk Drive,硬盘驱动器),CD(Compact Disc,光盘)驱动器,DVD(Digital Versatile Disc,数字通用光盘)驱动器中的至少一个。

NVM/存储器604可以包括安装电子设备60的装置上的一部分存储资源,或者它可以由设备访问,但不一定是设备的一部分。例如,可以经由网络接口606通过网络访问NVM/存储器604。

特别地,系统内存603和NVM/存储器604可以分别包括:指令605的暂时副本和永久副本。指令605可以包括:由处理器601中的至少一个执行时导致电子设备60实施如图1和图4所示的方法的指令。在一些实施例中,指令605、硬件、固件和/或其软件组件可另外地/替代地置于系统控制逻辑602,网络接口606和/或处理器601中。

网络接口606可以包括收发器,用于为电子设备60提供无线电接口,进而通过一个或多个网络与任意其他合适的设备(如前端模块,天线等)进行通信。在一些实施例中,网络接口606可以集成于电子设备60的其他组件。例如,网络接口606可以集成于处理器601的,系统内存603,NVM/存储器604,和具有指令的固件设备(未示出)中的至少一种,当处理器601中的至少一个执行所述指令时,电子设备60实现如上述方法实施例中示出权限管理方法。

网络接口606可以进一步包括任意合适的硬件和/或固件,以提供多输入多输出无线电接口。例如,网络接口606可以是网络适配器,无线网络适配器,电话调制解调器和/或无线调制解调器。

电子设备60可以进一步包括:输入/输出(I/O)设备607。I/O设备607可以包括用户界面,使得用户能够与电子设备60进行交互;外围组件接口的设计使得外围组件也能够与电子设备60交互。

本申请还提供一种可读介质,该可读介质上存储有指令,该指令在电子设备上执行时使电子设备执行如上所述的权限管理方法。

本申请还提供一种电子设备,电子设备包括存储器,用于存储由电子设备的一个或多个处理器执行的指令,以及处理器,是电子设备的处理器之一,用于执行如上所述的权限管理方法。

在此处所提供的说明书中,说明了大量具体细节。然而,能够理解,本申请的实施例可以在没有这些具体细节的情况下实践。在一些实例中,并未详细示出公知的方法、结构和技术,以便不模糊对本说明书的理解。

类似地,应当理解,为了精简本申请并帮助理解各个发明方面中的一个或多个,在上面对本申请的示例性实施例的描述中,本申请的各个特征有时被一起分组到单个实施例、图、或者对其的描述中。然而,并不应将该公开的方法解释成反映如下意图:即所要求保护的本申请要求比在每个权利要求中所明确记载的特征更多的特征。更确切地说,如权利要求书所反映的那样,发明方面在于少于前面公开的单个实施例的所有特征。因此,遵循具体实施方式的权利要求书由此明确地并入该具体实施方式,其中每个权利要求本身都作为本申请的单独实施例。

本领域那些技术人员可以理解,可以对实施例中的设备中的模块进行自适应性地改变并且把它们设置在与该实施例不同的一个或多个设备中。可以把实施例中的模块或单元或组件组合成一个模块或单元或组件,以及此外可以把它们分成多个子模块或子单元或子组件。除了这样的特征和/或过程或者单元中的至少一些是相互排斥之外,可以采用任何组合对本说明书(包括伴随的权利要求、摘要和附图)中公开的所有特征以及如此公开的任何方法或者设备的所有过程或单元进行组合。除非另外明确陈述,本说明书(包括伴随的权利要求、摘要和附图)中公开的每个特征可以由提供相同、等同或相似目的替代特征来代替。

此外,本领域的技术人员能够理解,尽管在此所述的一些实施例包括其它实施例中所包括的某些特征而不是其它特征,但是不同实施例的特征的组合意味着处于本申请的范围之内并且形成不同的实施例。例如,在权利要求书中,所要求保护的实施例的任意之一都可以以任意的组合方式来使用。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号