CN117436095A - 访问权限控制方法、装置、存储介质及处理器 - Google Patents

访问权限控制方法、装置、存储介质及处理器 Download PDF

Info

Publication number
CN117436095A
CN117436095A CN202311188798.2A CN202311188798A CN117436095A CN 117436095 A CN117436095 A CN 117436095A CN 202311188798 A CN202311188798 A CN 202311188798A CN 117436095 A CN117436095 A CN 117436095A
Authority
CN
China
Prior art keywords
user
resource item
resource
information
relationship
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN202311188798.2A
Other languages
English (en)
Inventor
沈念
齐珑
于溦
单晟
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
China Construction Bank Corp
CCB Finetech Co Ltd
Original Assignee
China Construction Bank Corp
CCB Finetech Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by China Construction Bank Corp, CCB Finetech Co Ltd filed Critical China Construction Bank Corp
Priority to CN202311188798.2A priority Critical patent/CN117436095A/zh
Publication of CN117436095A publication Critical patent/CN117436095A/zh
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/604Tools and structures for managing or administering access control systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/21Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/2141Access rights, e.g. capability lists, access control lists, access tables, access matrices

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Bioethics (AREA)
  • General Health & Medical Sciences (AREA)
  • Computer Hardware Design (AREA)
  • Health & Medical Sciences (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Automation & Control Theory (AREA)
  • Storage Device Security (AREA)

Abstract

本申请提供一种访问权限控制方法、装置、处理器及存储介质。访问权限控制方法包括:获取多个用户信息和多个资源项策略;其中,各个资源项策略中包含有多种要素,一种要素为用户的一种属性;遍历所述多个用户信息和多个资源项策略,基于各个资源项策略的各种要素,在所述多个资源项策略中匹配出各个用户信息对应的资源项策略,以得到用户和资源项的关系;基于所述用户和资源项的关系,对用户访问权限进行控制。实现了PBAC访问控制模型,资源项策略由各种要素组成,控制灵活。在用户的属性发生变化时,可以自动触发策略计算,从而实现访问控制变化;资源项的访问控制变化,只需要调整资源项策略即可。实现了高效、灵活的权限控制。

Description

访问权限控制方法、装置、存储介质及处理器
技术领域
本申请涉及访问控制技术领域,具体涉及一种访问权限控制方法、一种访问权限控制装置、一种机器可读存储介质、一种处理器及一种计算机程序产品。
背景技术
在访问控制技术中,基于角色的访问控制(Role-Based Access Control,RBAC)是基于角色进行权限控制的,企业根据实际的业务活动需要,给不同用户个体或群体赋角色,以此实现不同系统资源的操作、访问控制。一般企业可以使用RBAC访问控制模型实现企业自身权限管理需求,但是,随着企业的发展,企业规模增大,业务活动增多,采用RBAC访问控制模型实现企业自身权限管理存在以下问题:
首先,企业规模越大,业务活动越多,需要控制的应用系统及系统资源越多,也就需要新增越来越多的角色进行权限控制,只要是两个个体之间的权限控制有细微差别,只能通过新增角色进行权限区分。所以,这势必会造成角色不断膨胀,用户赋权(增删角色)过程复杂且容易出错等管理问题。
其次,随着业务活动的增加,角色在不断膨胀,单个个体拥有的角色也在不断膨胀。一人多角势必导致用户权限过大、用户权限难于控制等安全隐患。
再次,随着企业发展的需要,精细化管理要求越来越高,如两个角色一样的个体如果需要进行轮岗,对于RBAC而言,该管理需求却无法实现。
因此,对于大型企业而言,基于RBAC的权限控制,存在权限管理困难的问题。
发明内容
本申请实施例的目的是提供一种访问权限控制方法、一种访问权限控制装置、一种机器可读存储介质、一种处理器及一种计算机程序产品。该访问权限控制方法可以解决大型企业权限管理困难的问题,实现了高效、灵活的权限控制。
为了实现上述目的,本申请第一方面提供一种访问权限控制方法,所述访问权限控制方法包括:
获取多个用户信息和多个资源项策略;其中,各个资源项策略中包含有多种要素,一种要素为用户的一种属性;
遍历所述多个用户信息和多个资源项策略,基于各个资源项策略的各种要素,在所述多个资源项策略中匹配出各个用户信息对应的资源项策略,以得到用户和资源项的关系;
基于所述用户和资源项的关系,对用户访问权限进行控制。
在本申请实施例中,所述基于所述用户和资源项的关系,对用户访问权限进行控制,包括:
监听要素变更队列和/或资源项变更队列;
在监听到有要素变更和/或资源项变更的情况下,对所述用户和资源项的关系进行更新,得到新的用户和资源项的关系;
基于所述新的用户和资源项的关系,对用户访问权限进行控制。
在本申请实施例中,在监听到有要素变更的情况下,所述对所述用户和资源项的关系进行更新,得到新的用户和资源项的关系,包括:
获取要素变更信息,并基于所述要素变更信息,确定出第一受影响用户集和第一受影响资源项集;
基于所述第一受影响资源项集中各个资源项策略对应的要素,在所述第一受影响资源项集中匹配出所述第一受影响用户集中各个用户信息对应的资源项策略,以得到新的用户和资源项的关系。
在本申请实施例中,所述基于所述要素变更信息,确定出第一受影响用户集,包括:
判断所述要素变更信息是否为固有属性;
确定所述要素变更信息为固有属性,采用第一确定方式在所述多个用户要素中确定出第一受影响用户;
确定所述要素变更信息不为固有属性,采用第二确定方式在所述多个用户要素中确定出第二受影响用户;
基于所述第一受影响用户和第二受影响用户,得到第一受影响用户集。
在本申请实施例中,在监听到有资源项变更的情况下,所述对所述用户和资源项的关系进行更新,得到新的用户和资源项的关系,包括:
获取资源项变更信息,并基于所述资源项变更信息,确定出第二受影响资源项集;
基于所述第二受影响资源项集中各个资源项策略对应的要素,在所述第二受影响资源项集中匹配出各个用户信息对应的资源项策略,以得到新的用户和资源项的关系。
在本申请实施例中,在监听到有要素变更和资源项变更的情况下,所述对所述用户和资源项的关系进行更新,得到新的用户和资源项的关系,包括:
获取变更信息,并基于所述变更信息对所述多个用户信息和多个资源项策略进行更新,得到新的多个用户信息和新的多个资源项策略;
遍历所述新的多个用户信息和新的多个资源项策略,基于新的各个资源项策略对应的要素,在所述新的多个资源项策略中匹配出各个用户信息对应的资源项策略,以得到新的用户和资源项的关系。
在本申请实施例中,所述用户和资源项的关系存储于高速缓存中,所述方法还包括:
获取权限查询信息;
基于所述权限查询信息在所述用户和资源项的关系中进行查询,得到查询结果。
本申请第二方面提供一种访问权限控制装置,所述访问权限控制装置包括:
获取模块,用于获取多个用户信息和多个资源项策略;其中,各个资源项策略中包含有多种要素,一种要素为用户的一种属性;
计算用户资源模块,用于遍历所述多个用户信息和多个资源项策略,基于各个资源项策略的各种要素,在所述多个资源项策略中匹配出各个用户信息对应的资源项策略,以得到用户和资源项的关系;
权限管理模块,用于基于所述用户和资源项的关系,对用户访问权限进行控制。
在本申请实施例中,所述权限管理模块包括:
监听子模块,用于监听要素变更队列和/或资源项变更队列;
更新子模块,用于在监听到有要素变更和/或资源项变更的情况下,对所述用户和资源项的关系进行更新,得到新的用户和资源项的关系;
管理子模块,用于基于所述新的用户和资源项的关系,对用户访问权限进行控制。
本申请第三方面提供一种处理器,被配置成执行上述的访问权限控制方法。
本申请第四方面提供一种机器可读存储介质,该机器可读存储介质上存储有指令,该指令在被处理器执行时使得所述处理器被配置成执行上述的访问权限控制方法。
本申请第五方面提供一种计算机程序产品,包括计算机程序,该计算机程序在被处理器执行时实现上述的访问权限控制方法。
通过上述技术方案,通过获取多个用户信息和多个资源项策略;其中,各个资源项策略中包含有多种要素,一种要素为用户的一种属性;遍历所述多个用户信息和多个资源项策略,基于各个资源项策略的各种要素,在所述多个资源项策略中匹配出各个用户信息对应的资源项策略,以得到用户和资源项的关系;基于所述用户和资源项的关系,对用户访问权限进行控制。通过在多个资源项策略中匹配出各个用户信息对应的资源项策略,以得到用户和资源项的关系,实现PBAC访问控制模型,资源项策略由各种要素组成,不再仅限于角色一种,可以是用户的基本属性、扩展属性,也就是用户的任何机构化信息都可以当做要素作为权限控制的一部分,控制非常灵活。由于资源项策略由各种要素组成,而要素一般都是用户的各种属性组成,因此,在用户的属性发生变化时,该方法可以自动触发策略计算,从而实现访问控制变化;如果资源项的访问控制变化,只需要调整资源项策略即可。整个权限控制简单、方便、清晰。解决了大型企业角色、权限管理困难的问题,从而实现了高效、灵活的权限控制。
本申请实施例的其它特征和优点将在随后的具体实施方式部分予以详细说明。
附图说明
附图是用来提供对本申请实施例的进一步理解,并且构成说明书的一部分,与下面的具体实施方式一起用于解释本申请实施例,但并不构成对本申请实施例的限制。在附图中:
图1示意性示出了根据本申请实施例的访问权限控制方法的应用环境示意图;
图2示意性示出了根据本申请实施例的访问权限控制方法的流程示意图;
图3示意性示出了根据本申请实施例的访问权限控制方法实现系统核心数据及功能的示意图;
图4示意性示出了根据本申请实施例的权限管理实现系统功能模块图;
图5示意性示出了根据本申请实施例的要素变更处理模块的处理逻辑图;
图6示意性示出了根据本申请实施例的资源项变更处理模块的处理逻辑图;
图7示意性示出了根据本申请实施例的策略计算模块的处理逻辑图;
图8示意性示出了根据本申请实施例的访问权限控制装置的结构框图;
图9示意性示出了根据本申请实施例的计算机设备的内部结构图。
附图标记说明
102-终端;104-服务器;410-获取模块;420-计算用户资源模块;430-权限管理模块;A01-处理器;A02-网络接口;A03-内存储器;A04-显示屏;A05-输入装置;A06-非易失性存储介质;B01-操作系统;B02-计算机程序。
具体实施方式
为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,应当理解的是,此处所描述的具体实施方式仅用于说明和解释本申请实施例,并不用于限制本申请实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本申请保护的范围。
需要说明,若本申请实施例中有涉及方向性指示(诸如上、下、左、右、前、后……),则该方向性指示仅用于解释在某一特定姿态(如附图所示)下各部件之间的相对位置关系、运动情况等,如果该特定姿态发生改变时,则该方向性指示也相应地随之改变。
另外,若本申请实施例中有涉及“第一”、“第二”等的描述,则该“第一”、“第二”等的描述仅用于描述目的,而不能理解为指示或暗示其相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括至少一个该特征。另外,各个实施例之间的技术方案可以相互结合,但是必须是以本领域普通技术人员能够实现为基础,当技术方案的结合出现相互矛盾或无法实现时应当认为这种技术方案的结合不存在,也不在本申请要求的保护范围之内。
需要说明,本申请技术方案中对数据的获取、存储、使用、处理等均符合国家法律法规的相关规定。
本申请提供的访问权限控制方法,可以应用于如图1所示的应用环境中。其中,终端102通过网络与服务器104通过网络进行通信。通过基于多个用户要素和多个资源项策略,构建得到用户和资源项的关系,以实现基于策略的访问控制(Polic9-Based AccessControl,PBAC)模型,从而实现了高效的人与资源项的握手,使得权限控制灵活、权限控制简单。其中,终端102可以但不限于是各种个人计算机、笔记本电脑、智能手机、平板电脑和便携式可穿戴设备,服务器104可以用独立的服务器或者是多个服务器组成的服务器集群来实现。
图2示意性示出了根据本申请实施例的访问权限控制方法的流程示意图。如图2所示,在本申请一实施例中,提供了一种访问权限控制方法,本实施例主要以该方法应用于上述图1中的终端102(或服务器104)来举例说明,包括以下步骤:
步骤210:获取多个用户信息和多个资源项策略;其中,各个资源项策略中包含有多种要素,一种要素为用户的一种属性;
在本实施例中,所述多个用户信息包括但不限于用户基本信息、用户所属机构、机构信息、用户角色、用户岗位信息等,用于表示用户的属性。其中,用户基本信息包括用户编号、用户类别、用户级别等。资源项策略是指客体的访问方式,由多个要素组成,这里的客体一般是指要操作、访问的系统资源,比如包括菜单、按钮控件等。其中,要素一般为用户的属性或者扩展属性,如用户编号、用户类型、用户所属机构层级等。上述多个用户信息和多个资源项策略可以根据实际需要预先设置好。
步骤220:遍历所述多个用户信息和多个资源项策略,基于各个资源项策略的各种要素,在所述多个资源项策略中匹配出各个用户信息对应的资源项策略,以得到用户和资源项的关系;
在本实施例中,通过将各个用户信息与资源项策略中的要素进行一一对比,判断用户信息与要素是否相同,相同则代表与该资源项策略匹配,反之则不匹配,从而可以匹配出各个用户信息对应的资源项策略,最后得到用户和资源项的关系,以实现PBAC访问控制模型。
步骤230:基于所述用户和资源项的关系,对用户访问权限进行控制。
在本实施例中,在用户访问权限控制过程中,资源项是否能被用户访问,是通过计算用户是否满足资源项策略来进行的,可以说在PBAC访问控制模型中,真正落地起控制作用的是“用户和资源项的关系”。所以核心数据就是“用户和资源项关系”,核心功能就是“资源项计算”、“资源项查询”。
具体实现可以参看图3,图3示意性示出了根据本申请实施例的访问权限控制方法实现系统核心数据及功能的示意图。用户对应有基本属性和扩展属性,资源项包括资源项策略,基于用户与资源项进行资源项计算,得到用户与资源项关系,即得到用户和资源项关系,将用户与资源项关系作为核心数据,后续可以进行资源项查询(比如:提供高并发、高可用联机查询交易)等权限管理。整个过程的核心功能在于资源项计算、用户和资源项关系以及资源项查询。
在一些实施例中,为了对用户权限进行实时管理,所述基于所述用户和资源项的关系,对用户访问权限进行控制,包括以下步骤:
首先,监听要素变更队列和/或资源项变更队列;
然后,在监听到有要素变更和/或资源项变更的情况下,对所述用户和资源项的关系进行更新,得到新的用户和资源项的关系;
最后,基于所述新的用户和资源项的关系,对用户访问权限进行控制。
在本实施例中,要素变更队列中包含要素变更信息,要素的变化包括用户基本信息变化、用户所属机构变化、机构信息变化、用户角色变化等,这些要素变化之后,变化的结果存入结构化数据库中,然后将变化通知发送到要素变更队列中。在具体实施时,可以是从人力资源部分或其它管理部门获取到相关信息以存放至要素变更队列,比如,用户A所属机构层级发生变化时,将当前的用户A所属机构层级存放于要素变更队列,通过监听要素变更队列就可以获知要素是否发生变化。相应地,资源项变更队列中包含资源项策略变更信息,在资源项的访问控制发生变化时,需要调整资源项策略,则可以通过监听资源项变更队列获知资源项是否发生变化。
需要说明的是,只要监听到要素变更队列和资源项变更队列任一项发生变更,则对用户和资源项的关系进行更新,进而根据更新后的用户和资源项的关系进行用户权限管理。
通过监听要素变更队列和/或资源项变更队列可以及时获取要素变更情况和资源项策略变更情况,从而及时更新用户和资源项的关系,以便于实现访问控制变化。同时,资源项策略由各种要素组成,而要素一般都是人的各种属性组成,因此人的属性发生变化时,该方法可以自动触发策略计算,从而实现访问控制变化;如果资源项的访问控制变化,只需要调整资源项策略即可实现访问控制变化,使得权限控制灵活、权限控制简单。
下面以具体实现上述方法的系统功能模块进行举例说明,可以参看图4,图4示意性示出了根据本申请实施例的权限管理实现系统功能模块图。实现上述权利管理的系统功能模块包括用户权限管理模块、要素变更处理模块、资源项变更处理模块、策略计算模块和联机服务模块,其中,用户权限管理模块通过结构化数据库获取到要素变更和/或资源项变更,然后分别采用要素变更处理模块、资源项变更处理模块进行处理,再基于要素变更处理模块、资源项变更处理模块的处理结果采用策略计算模块计算出新的用户和资源项的关系,再进行高速缓存,最后联机服务模块基于用户和资源项的关系,提供高并发的资源项查询服务。
其中,用户权限管理模块主要负责对系统输入的信息进行管理,主要包括:
(1)用户管理,包括用户基本信息管理:如用户编号、用户类别、用户级别等;用户扩展属性管理:如用户所属机构信息、用户岗位信息等。
(2)机构管理,包括机构编号、名称、层级、上级机构等。
(3)角色管理,包括角色编号、角色名称等。
(4)用户角色管理,包括增删改查用户拥有的角色信息,一般称之为用户赋权。
(5)资源项管理,包括资源项管理:资源项编号、资源项类别、资源项描述等;资源项访问策略管理:维护资源项访问的策略;资源项要素管理:维护资源项构成的要素的基本信息。
其中,为了便于信息管理,可以以关键表的方式进行管理,例如:用户信息可以以用户表来管理,如下表1所示,表1为用户表;角色管理可以是用用户角色表来管理,如下表2所示,表2为用户角色表;资源项管理可以是用资源项表来管理,如下表3所示,表3为资源项表。
表1为用户表
表2为用户角色表
表3为资源项表
在PBAC访问控制模型中,真正落地起控制作用的是“用户和资源项的关系”,“用户和资源项的关系”则是通过计算用户的属性是否满足资源项的访问策略而来,可见,用户属性等要素信息的变化、资源项策略的变化都会影响最终的权限计算结果。
为了进一步说明如何对所述用户和资源项的关系进行更新,即上述例子中要素变更处理模块和资源项变更处理模块的处理过程,下面分别从要素变更、资源项变更以及要素变更和资源项变更三个方面分别进行说明。
第一种,在监听到有要素变更的情况下,所述对所述用户和资源项的关系进行更新,得到新的用户和资源项的关系,包括以下步骤:
首先,获取要素变更信息,并基于所述要素变更信息,确定出第一受影响用户集和第一受影响资源项集;
在本实施例中,要素的变化包括用户基本信息变化、用户所属机构变化、机构信息变化、用户角色变化等,这些要素变化之后,变化的结果存入结构化数据库中,然后将变化通知发送到要素变更队列中。通过监听要素变更队列可以计算要素影响的资源项范围,即确定出第一受影响用户集和第一受影响资源项集。
然后,基于所述第一受影响资源项集中各个资源项策略对应的要素,在所述第一受影响资源项集中匹配出所述第一受影响用户集中各个用户信息对应的资源项策略,以得到新的用户和资源项的关系。
在本实施例中,为了减少计算量,提高计算速度,通过基于所述要素变更信息,确定出第一受影响用户集和第一受影响资源项集,即计算出要素影响范围,然后基于第一受影响用户集和第一受影响资源项集进行更新,即匹配出第一受影响用户集中各个用户信息对应的资源项策略,从而对用户和资源项的关系更新,这样使得计算的范围只是在第一受影响用户集和第一受影响资源项集中,从而大大减少了计算量,提高了计算速度。
其中,为了进一步便于确定出受影响用户集,所述基于所述要素变更信息,确定出第一受影响用户集,包括以下步骤:
第一步,判断所述要素变更信息是否为固有属性;
第二步,确定所述要素变更信息为固有属性,采用第一确定方式在所述多个用户要素中确定出第一受影响用户;
第三步,确定所述要素变更信息不为固有属性,采用第二确定方式在所述多个用户要素中确定出第二受影响用户;
第四步,基于所述第一受影响用户和第二受影响用户,得到第一受影响用户集。
在本实施例中,可以预先对要素变更信息进行归类,分为固有属性和扩展属性,固有属性可以是包括用户编号、用户类别、用户级别等,扩展属性可以是用户所属机构信息、用户岗位信息等,可以是将固有属性和扩展属性分别以不同的属性要素表来管理,上述在判断时可以是通过判断要素变更信息是否在固有属性要素表中,若是,则说明是固有属性,即为单用户影响,可以采用第一确定方式确定出第一受影响用户,若不是,则说明是扩展属性,即为多用户影响,可以采用第二确定方式确定出第二受影响用户。由于要素变更信息可以是多个不同的要素,因此,可以同时得到第一受影响用户和第二受影响用户。
需要说明的是,上述第一确定方式和第二确定方式是为了说明采用不同的确定方式,比如:第一确定方式是根据用户编号查找出第一受影响用户,第二确定方式是根据用户编号和用户岗位信息查找出第二受影响用户。具体可以根据实际情况进行不同的设置,本实施例不做限定。
请参看图5,图5示意性示出了根据本申请实施例的要素变更处理模块的处理逻辑图。具体要素变更处理模块的处理过程可以是监听要素变更队列,获取要变更要素的主键信息,然后计算此要素影响的资源项范围,可以判断要素为用户固有属性还是扩展属性,以便进行不同的处理,组装不同的处理逻辑。最后计算此要素影响的用户范围,根据要素影响的用户范围计算出待计算数据,并上送要素计算队列。比如:监听到用户角色(USE_ROLES)为0001,从资源项策略中匹配出策略表达式中包含USE_ROLES的资源项策略,作为受影响资源项集。USE_ROLES为固有属性,则选择USE_ROLES为0001的用户作为受影响用户集。相应地,若监听到用户编号(USE_ID)为I1234,该属性为扩展属性,则选择用户编号为I1234的用户为受影响用户集。
第二种,在监听到有资源项变更的情况下,所述对所述用户和资源项的关系进行更新,得到新的用户和资源项的关系,包括以下步骤:
首先,获取资源项变更信息,并基于所述资源项变更信息,确定出第二受影响资源项集;
然后,基于所述第二受影响资源项集中各个资源项策略对应的要素,在所述第二受影响资源项集中匹配出各个用户信息对应的资源项策略,以得到新的用户和资源项的关系。
在本实施例中,在监听到有资源项变更的情况下,可以调用批处理,以便于集中处理资源项变更。基于所述资源项变更信息可以匹配出相关的资源项策略,即确定出第二受影响资源项集。通过确定出第二受影响资源项集,进而在更新用户和资源项的关系时,只需要在所述第二受影响资源项集中匹配出各个用户信息对应的资源项策略,即计算的范围为第二受影响资源项集和所有用户信息,从而大大减少了计算量,提高了计算速度。
请参看图6,图6示意性示出了根据本申请实施例的资源项变更处理模块的处理逻辑图。具体资源项变更处理模块的处理逻辑包括:首先,批处理自动调度,可以根据更新时间从结构化数据库中获取今日受影响的资源项范围,然后触发资源项数据从结构化数据中同步至高速缓存中,最后计算出待计算数据,并上送资源项计算队列。
第三种,在监听到有要素变更和资源项变更的情况下,所述对所述用户和资源项的关系进行更新,得到新的用户和资源项的关系,包括以下步骤:
首先,获取变更信息,并基于所述变更信息对所述多个用户信息和多个资源项策略进行更新,得到新的多个用户信息和新的多个资源项策略;
然后,遍历所述新的多个用户信息和新的多个资源项策略,基于新的各个资源项策略对应的要素,在所述新的多个资源项策略中匹配出各个用户信息对应的资源项策略,以得到新的用户和资源项的关系。
在本实施例中,上述变更信息包括要素变更信息和资源项策略变更信息,在监听到有要素变更和资源项变更的情况下,说明用户和资源项均发生变化,则需要更新多个用户信息和多个资源项策略,然后基于新的多个用户信息和新的多个资源项策略来得到新的用户和资源项的关系,从而保证用户和资源项的关系的正确性,便于对用于权限进行有效管理。
对于以上三种情况,在具体实施时,策略计算模块根据“要素”、“资源项策略”更新“用户和资源项的关系”,具体包括以下步骤:
首先,从要素计算队列和/或资源项计算队列中获取待计算数据的主键;
然后,遍历待计算数据中的用户、资源项,循环比较用户与资源项关系是否匹配,将结果存至高速缓存中;
最后,根据不同的模式进行不同的处理,不同模式下计算范围也不一样。这里的模式即是上述三种情况,具体在实施时可以分别对应日间模式、日终模式和初始化模式,其中,日间模式是仅监听要素变更队列,计算的范围是有限资源项和有限用户,对应于上述第一种情况;日终模式是仅监听资源项变更队列,计算的范围是有限资源项和全量用户,对应于上述第二种情况。初始化模式是触发所有存量数据重新计算,计算范围是有限资源项,全量用户,对应于上述第三种情况。需要说明的是,上述日间模式、日终模式和初始化模式可以根据实际应用情况进行设定,本实施例不做限定。
请参看图7,图7示意性示出了根据本申请实施例的策略计算模块的处理逻辑图。具体在实施时,可以根据策略引擎状态选择不同的模式,若为日间模式,则监听要素计算队列,然后计算用户资源,再更新用户和资源项的关系至高速缓存。若为日终模式,则监听资源项计算队列,然后计算用户资源,再更新用户和资源项的关系至高速缓存。若为初始化模式,则将要素、资源项初始化至高速缓存,然后计算用户资源,再更新用户和资源项的关系至高速缓存。
上述实现过程中,通过获取多个用户信息和多个资源项策略;其中,各个资源项策略中包含有多种要素,一种要素为用户的一种属性;遍历所述多个用户信息和多个资源项策略,基于各个资源项策略的各种要素,在所述多个资源项策略中匹配出各个用户信息对应的资源项策略,以得到用户和资源项的关系;基于所述用户和资源项的关系,对用户访问权限进行控制。通过在多个资源项策略中匹配出各个用户信息对应的资源项策略,以得到用户和资源项的关系,实现PBAC访问控制模型,资源项策略由各种要素组成,不再仅限于角色一种,可以是用户的基本属性、扩展属性,也就是用户的任何机构化信息都可以当做要素作为权限控制的一部分,控制非常灵活。由于资源项策略由各种要素组成,而要素一般都是用户的各种属性组成,因此,在用户的属性发生变化时,该方法可以自动触发策略计算,从而实现访问控制变化;如果资源项的访问控制变化,只需要调整资源项策略即可。整个权限控制简单、方便、清晰。解决了大型企业角色、权限管理困难的问题,从而实现了高效、灵活的权限控制。
在一些实施例中,所述用户和资源项的关系存储于高速缓存中,所述方法还包括以下步骤:
首先,获取权限查询信息;
然后,基于所述权限查询信息在所述用户和资源项的关系中进行查询,得到查询结果。
在本实施例中,通过提供高并发的资源项查询服务,可以获取当前用户可以访问的全部资源项,并以此进行访问控制,提高了查询速度。
图2为一个实施例中访问权限控制方法的流程示意图。应该理解的是,虽然图2的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,图2中的至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些子步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。
本实施例提供一种访问权限控制装置,请参看图8,图8示意性示出了根据本申请实施例的访问权限控制装置的结构框图。所述访问权限控制装置包括获取模块410、计算用户资源模块420和权限管理模块430,其中:
获取模块410,用于获取多个用户信息和多个资源项策略;其中,各个资源项策略中包含有多种要素,一种要素为用户的一种属性;
计算用户资源模块420,用于遍历所述多个用户信息和多个资源项策略,基于各个资源项策略的各种要素,在所述多个资源项策略中匹配出各个用户信息对应的资源项策略,以得到用户和资源项的关系;
权限管理模块430,用于基于所述用户和资源项的关系,对用户访问权限进行控制。
其中,所述权限管理模块430包括:
监听子模块,用于监听要素变更队列和/或资源项变更队列;
更新子模块,用于在监听到有要素变更和/或资源项变更的情况下,对所述用户和资源项的关系进行更新,得到新的用户和资源项的关系;
管理子模块,用于基于所述新的用户和资源项的关系,对用户访问权限进行控制。
其中,更新子模块包括:
第一获取单元,用于获取要素变更信息,并基于所述要素变更信息,确定出第一受影响用户集和第一受影响资源项集;
第一更新单元,用于基于所述第一受影响资源项集中各个资源项策略对应的要素,在所述第一受影响资源项集中匹配出所述第一受影响用户集中各个用户信息对应的资源项策略,以得到新的用户和资源项的关系。
其中,第一更新单元包括:
判断子单元,用于判断所述要素变更信息是否为固有属性;
第一确定子单元,用于确定所述要素变更信息为固有属性,采用第一确定方式在所述多个用户要素中确定出第一受影响用户;
第二确定子单元,用于确定所述要素变更信息不为固有属性,采用第二确定方式在所述多个用户要素中确定出第二受影响用户;
第一受影响用户集确定子单元,用于基于所述第一受影响用户和第二受影响用户,得到第一受影响用户集。
其中,更新子模块包括:
第二获取单元,用于获取资源项变更信息,并基于所述资源项变更信息,确定出第二受影响资源项集;
第二更新单元,用于基于所述第二受影响资源项集中各个资源项策略对应的要素,在所述第二受影响资源项集中匹配出各个用户信息对应的资源项策略,以得到新的用户和资源项的关系。
其中,更新子模块包括:
第三获取单元,用于获取变更信息,并基于所述变更信息对所述多个用户信息和多个资源项策略进行更新,得到新的多个用户信息和新的多个资源项策略;
第三更新单元,用于遍历所述新的多个用户信息和新的多个资源项策略,基于新的各个资源项策略对应的要素,在所述新的多个资源项策略中匹配出各个用户信息对应的资源项策略,以得到新的用户和资源项的关系。
其中,所述用户和资源项的关系存储于高速缓存中,所述装置还包括:
查询获取模块,用于获取权限查询信息;
权限查询模块,用于基于所述权限查询信息在所述用户和资源项的关系中进行查询,得到查询结果。
所述访问权限控制装置包括处理器和存储器,上述获取模块410、计算用户资源模块420和权限管理模块430等均作为程序单元存储在存储器中,由处理器执行存储在存储器中的上述程序模块中实现相应的功能。
处理器中包含内核,由内核去存储器中调取相应的程序单元。内核可以设置一个或以上,通过调整内核参数来实现对高效、灵活的权限控制方法。
存储器可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM),存储器包括至少一个存储芯片。
本申请实施例提供了一种机器可读存储介质,其上存储有程序,该程序被处理器执行时实现上述访问权限控制方法。
本申请实施例提供了一种处理器,所述处理器用于运行程序,其中,所述程序运行时执行上述访问权限控制方法。
在一个实施例中,提供了一种计算机设备,该计算机设备可以是终端,其内部结构图可以如图9所示。该计算机设备包括通过系统总线连接的处理器A01、网络接口A02、显示屏A04、输入装置A05和存储器(图中未示出)。其中,该计算机设备的处理器A01用于提供计算和控制能力。该计算机设备的存储器包括内存储器A03和非易失性存储介质A06。该非易失性存储介质A06存储有操作系统B01和计算机程序B02。该内存储器A03为非易失性存储介质A06中的操作系统B01和计算机程序B02的运行提供环境。该计算机设备的网络接口A02用于与外部的终端通过网络连接通信。该计算机程序被处理器A01执行时以实现一种访问权限控制方法。该计算机设备的显示屏A04可以是液晶显示屏或者电子墨水显示屏,该计算机设备的输入装置A05可以是显示屏上覆盖的触摸层,也可以是计算机设备外壳上设置的按键、轨迹球或触控板,还可以是外接的键盘、触控板或鼠标等。
本领域技术人员可以理解,图9中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
在一个实施例中,本申请提供的访问权限控制装置可以实现为一种计算机程序的形式,计算机程序可在如图9所示的计算机设备上运行。计算机设备的存储器中可存储组成该访问权限控制装置的各个程序模块,比如,图8所示的获取模块410、计算用户资源模块420和权限管理模块430。各个程序模块构成的计算机程序使得处理器执行本说明书中描述的本申请各个实施例的访问权限控制方法中的步骤。
图9所示的计算机设备可以通过如图8所示的访问权限控制装置中的获取模块410执行步骤210。计算机设备可通过计算用户资源模块420执行步骤220。计算机设备可通过权限管理模块430执行步骤230。
本申请还提供了一种计算机程序产品,当在数据处理设备上执行时,适于执行初始化有如下方法步骤的程序:
获取多个用户信息和多个资源项策略;其中,各个资源项策略中包含有多种要素,一种要素为用户的一种属性;
遍历所述多个用户信息和多个资源项策略,基于各个资源项策略的各种要素,在所述多个资源项策略中匹配出各个用户信息对应的资源项策略,以得到用户和资源项的关系;
基于所述用户和资源项的关系,对用户访问权限进行控制。
在一个实施例中,所述基于所述用户和资源项的关系,对用户访问权限进行控制,包括:
监听要素变更队列和/或资源项变更队列;
在监听到有要素变更和/或资源项变更的情况下,对所述用户和资源项的关系进行更新,得到新的用户和资源项的关系;
基于所述新的用户和资源项的关系,对用户访问权限进行控制。
在一个实施例中,在监听到有要素变更的情况下,所述对所述用户和资源项的关系进行更新,得到新的用户和资源项的关系,包括:
获取要素变更信息,并基于所述要素变更信息,确定出第一受影响用户集和第一受影响资源项集;
基于所述第一受影响资源项集中各个资源项策略对应的要素,在所述第一受影响资源项集中匹配出所述第一受影响用户集中各个用户信息对应的资源项策略,以得到新的用户和资源项的关系。
在一个实施例中,所述基于所述要素变更信息,确定出第一受影响用户集,包括:
判断所述要素变更信息是否为固有属性;
确定所述要素变更信息为固有属性,采用第一确定方式在所述多个用户要素中确定出第一受影响用户;
确定所述要素变更信息不为固有属性,采用第二确定方式在所述多个用户要素中确定出第二受影响用户;
基于所述第一受影响用户和第二受影响用户,得到第一受影响用户集。
在一个实施例中,在监听到有资源项变更的情况下,所述对所述用户和资源项的关系进行更新,得到新的用户和资源项的关系,包括:
获取资源项变更信息,并基于所述资源项变更信息,确定出第二受影响资源项集;
基于所述第二受影响资源项集中各个资源项策略对应的要素,在所述第二受影响资源项集中匹配出各个用户信息对应的资源项策略,以得到新的用户和资源项的关系。
在一个实施例中,在监听到有要素变更和资源项变更的情况下,所述对所述用户和资源项的关系进行更新,得到新的用户和资源项的关系,包括:
获取变更信息,并基于所述变更信息对所述多个用户信息和多个资源项策略进行更新,得到新的多个用户信息和新的多个资源项策略;
遍历所述新的多个用户信息和新的多个资源项策略,基于新的各个资源项策略对应的要素,在所述新的多个资源项策略中匹配出各个用户信息对应的资源项策略,以得到新的用户和资源项的关系。
在一个实施例中,所述用户和资源项的关系存储于高速缓存中,所述方法还包括:
获取权限查询信息;
基于所述权限查询信息在所述用户和资源项的关系中进行查询,得到查询结果。
本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
在一个典型的配置中,计算设备包括一个或多个处理器(CPU)、输入/输出接口、网络接口和内存。
存储器可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM)。存储器是计算机可读介质的示例。
计算机可读介质包括永久性和非永久性、可移动和非可移动媒体,可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitor9 media),如调制的数据信号和载波。
还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括要素的过程、方法、商品或者设备中还存在另外的相同要素。
以上仅为本申请的实施例而已,并不用于限制本申请。对于本领域技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本申请的权利要求范围之内。

Claims (12)

1.一种访问权限控制方法,其特征在于,所述访问权限控制方法包括:
获取多个用户信息和多个资源项策略;其中,各个资源项策略中包含有多种要素,一种要素为用户的一种属性;
遍历所述多个用户信息和多个资源项策略,基于各个资源项策略的各种要素,在所述多个资源项策略中匹配出各个用户信息对应的资源项策略,以得到用户和资源项的关系;
基于所述用户和资源项的关系,对用户访问权限进行控制。
2.根据权利要求1所述的访问权限控制方法,其特征在于,所述基于所述用户和资源项的关系,对用户访问权限进行控制,包括:
监听要素变更队列和/或资源项变更队列;
在监听到有要素变更和/或资源项变更的情况下,对所述用户和资源项的关系进行更新,得到新的用户和资源项的关系;
基于所述新的用户和资源项的关系,对用户访问权限进行控制。
3.根据权利要求2所述的访问权限控制方法,其特征在于,在监听到有要素变更的情况下,所述对所述用户和资源项的关系进行更新,得到新的用户和资源项的关系,包括:
获取要素变更信息,并基于所述要素变更信息,确定出第一受影响用户集和第一受影响资源项集;
基于所述第一受影响资源项集中各个资源项策略对应的要素,在所述第一受影响资源项集中匹配出所述第一受影响用户集中各个用户信息对应的资源项策略,以得到新的用户和资源项的关系。
4.根据权利要求3所述的访问权限控制方法,其特征在于,所述基于所述要素变更信息,确定出第一受影响用户集,包括:
判断所述要素变更信息是否为固有属性;
确定所述要素变更信息为固有属性,采用第一确定方式在所述多个用户要素中确定出第一受影响用户;
确定所述要素变更信息不为固有属性,采用第二确定方式在所述多个用户要素中确定出第二受影响用户;
基于所述第一受影响用户和第二受影响用户,得到第一受影响用户集。
5.根据权利要求2所述的访问权限控制方法,其特征在于,在监听到有资源项变更的情况下,所述对所述用户和资源项的关系进行更新,得到新的用户和资源项的关系,包括:
获取资源项变更信息,并基于所述资源项变更信息,确定出第二受影响资源项集;
基于所述第二受影响资源项集中各个资源项策略对应的要素,在所述第二受影响资源项集中匹配出各个用户信息对应的资源项策略,以得到新的用户和资源项的关系。
6.根据权利要求2所述的访问权限控制方法,其特征在于,在监听到有要素变更和资源项变更的情况下,所述对所述用户和资源项的关系进行更新,得到新的用户和资源项的关系,包括:
获取变更信息,并基于所述变更信息对所述多个用户信息和多个资源项策略进行更新,得到新的多个用户信息和新的多个资源项策略;
遍历所述新的多个用户信息和新的多个资源项策略,基于新的各个资源项策略对应的要素,在所述新的多个资源项策略中匹配出各个用户信息对应的资源项策略,以得到新的用户和资源项的关系。
7.根据权利要求1所述的访问权限控制方法,其特征在于,所述用户和资源项的关系存储于高速缓存中,所述方法还包括:
获取权限查询信息;
基于所述权限查询信息在所述用户和资源项的关系中进行查询,得到查询结果。
8.一种访问权限控制装置,其特征在于,所述访问权限控制装置包括:
获取模块,用于获取多个用户信息和多个资源项策略;其中,各个资源项策略中包含有多种要素,一种要素为用户的一种属性;
计算用户资源模块,用于遍历所述多个用户信息和多个资源项策略,基于各个资源项策略的各种要素,在所述多个资源项策略中匹配出各个用户信息对应的资源项策略,以得到用户和资源项的关系;
权限管理模块,用于基于所述用户和资源项的关系,对用户访问权限进行控制。
9.根据权利要求8所述的访问权限控制装置,其特征在于,所述权限管理模块包括:
监听子模块,用于监听要素变更队列和/或资源项变更队列;
更新子模块,用于在监听到有要素变更和/或资源项变更的情况下,对所述用户和资源项的关系进行更新,得到新的用户和资源项的关系;
管理子模块,用于基于所述新的用户和资源项的关系,对用户访问权限进行控制。
10.一种处理器,其特征在于,被配置成执行根据权利要求1至7中任意一项所述的访问权限控制方法。
11.一种机器可读存储介质,该机器可读存储介质上存储有指令,其特征在于,该指令在被处理器执行时使得所述处理器被配置成执行根据权利要求1至7中任一项所述的访问权限控制方法。
12.一种计算机程序产品,包括计算机程序,其特征在于,所述计算机程序在被处理器执行时实现根据权利要求1至7中任一项所述的访问权限控制方法。
CN202311188798.2A 2023-09-14 2023-09-14 访问权限控制方法、装置、存储介质及处理器 Pending CN117436095A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202311188798.2A CN117436095A (zh) 2023-09-14 2023-09-14 访问权限控制方法、装置、存储介质及处理器

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202311188798.2A CN117436095A (zh) 2023-09-14 2023-09-14 访问权限控制方法、装置、存储介质及处理器

Publications (1)

Publication Number Publication Date
CN117436095A true CN117436095A (zh) 2024-01-23

Family

ID=89556029

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202311188798.2A Pending CN117436095A (zh) 2023-09-14 2023-09-14 访问权限控制方法、装置、存储介质及处理器

Country Status (1)

Country Link
CN (1) CN117436095A (zh)

Similar Documents

Publication Publication Date Title
US8745242B2 (en) Cloud computing roaming services
US20100325159A1 (en) Model-based implied authorization
US11822543B2 (en) Composite views in a master data management system
US11695559B2 (en) Nested tenancy that permits a hierarchy having a plurality of levels
WO2020250103A1 (en) Policy-based triggering of revision of access control information
CN114244595B (zh) 权限信息的获取方法、装置、计算机设备及存储介质
US10579417B2 (en) Boosting user thread priorities to resolve priority inversions
US11328254B2 (en) Automatic group creation based on organization hierarchy
US10146873B2 (en) Cloud-native documents integrated with legacy tools
US20180314821A1 (en) Transferring Containers
US20200004560A1 (en) Adaptive user-interface assembling and rendering
US20190065169A1 (en) Architectures and techniques for record protection and field management
US11475151B2 (en) Security policy management for database
US11650830B2 (en) Techniques for modifying a compute instance
CN117436095A (zh) 访问权限控制方法、装置、存储介质及处理器
US10909077B2 (en) File slack leveraging
US9647896B1 (en) Rule-based actions for resources in a distributed execution environment
US10798208B2 (en) Availability data caching in meeting systems
US11829634B2 (en) Consistent governance with asset constraints across data storage locations
US11954231B2 (en) Recursively adapting a sensitive content masking technique
US20230289457A1 (en) Preventing Illicit Data Transfer and Storage
CN113452650B (zh) 访问控制方法、装置、设备和存储介质
US20230222240A1 (en) Governed database connectivity (gdbc) through and around data catalog to registered data sources
US20220350507A1 (en) Dynamic Management of Data Storage for Applications Based on Data Classification
US10652351B2 (en) Lock-free weak-reference hybrid cache

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination