CN115525889A - 一种安全权限控制方法、装置、电子设备及存储介质 - Google Patents
一种安全权限控制方法、装置、电子设备及存储介质 Download PDFInfo
- Publication number
- CN115525889A CN115525889A CN202211194396.9A CN202211194396A CN115525889A CN 115525889 A CN115525889 A CN 115525889A CN 202211194396 A CN202211194396 A CN 202211194396A CN 115525889 A CN115525889 A CN 115525889A
- Authority
- CN
- China
- Prior art keywords
- key
- lock
- data object
- identification information
- access control
- 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.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims abstract description 56
- 238000003860 storage Methods 0.000 title claims abstract description 14
- 238000004590 computer program Methods 0.000 claims description 14
- 238000010586 diagram Methods 0.000 description 22
- 230000008520 organization Effects 0.000 description 20
- 238000012217 deletion Methods 0.000 description 8
- 230000037430 deletion Effects 0.000 description 8
- 230000008569 process Effects 0.000 description 8
- 230000006870 function Effects 0.000 description 6
- 238000012545 processing Methods 0.000 description 6
- 238000012986 modification Methods 0.000 description 5
- 230000004048 modification Effects 0.000 description 5
- 238000009826 distribution Methods 0.000 description 4
- 238000013475 authorization Methods 0.000 description 3
- 230000004075 alteration Effects 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000002265 prevention Effects 0.000 description 1
- 238000011084 recovery Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/30—Authentication, i.e. establishing the identity or authorisation of security principals
- G06F21/45—Structures or tools for the administration of authentication
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/30—Authentication, i.e. establishing the identity or authorisation of security principals
- G06F21/31—User authentication
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y04—INFORMATION OR COMMUNICATION TECHNOLOGIES HAVING AN IMPACT ON OTHER TECHNOLOGY AREAS
- Y04S—SYSTEMS INTEGRATING TECHNOLOGIES RELATED TO POWER NETWORK OPERATION, COMMUNICATION OR INFORMATION TECHNOLOGIES FOR IMPROVING THE ELECTRICAL POWER GENERATION, TRANSMISSION, DISTRIBUTION, MANAGEMENT OR USAGE, i.e. SMART GRIDS
- Y04S40/00—Systems for electrical power generation, transmission, distribution or end-user application management characterised by the use of communication or information technologies, or communication or information technology specific aspects supporting them
- Y04S40/20—Information technology specific aspects, e.g. CAD, simulation, modelling, system security
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Theoretical Computer Science (AREA)
- Computer Hardware Design (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Storage Device Security (AREA)
Abstract
本申请公开了一种安全权限控制方法、装置、电子设备及存储介质,解决了现有的基于访问控制列表的安全权限控制方式消耗大量计算资源,影响安全权限的控制效率的问题。安全权限控制方法,包括:接收账户对目标数据对象的访问操作请求,访问操作请求中携带有账户绑定的钥匙信息,其中,钥匙信息至少包含钥匙标识信息,钥匙表征具有的操作权限对象;基于钥匙标识信息和锁标识信息进行匹配,根据匹配结果对目标数据对象进行安全权限控制,锁表征被保护的操作权限对象。
Description
技术领域
本申请涉及计算机信息安全领域,尤其涉及一种安全权限控制方法、装置、电子设备及存储介质。
背景技术
安全访问控制(Access Control)是网络安全防范和保护的主要方式,是按照用户身份来限制用户对某些信息项的访问,或限制对某些控制功能的使用的技术。权限的访问控制是控制用户对资源、数据或服务的访问权限,现有的安全权限控制以主体和客体为中心,为每一主体维护一个允许主体访问的客体列表,即此主体可以访问哪些客体,或者为每一客体维护一个客体允许哪些主体访问的主体列表,即此客体允许哪些主体访问。大多数终端、服务器和计算机设备使用ACL(Access Control List,访问控制列表)实现安全权限控制,该方法中,为每一项资源或数据对象分别配置一个访问控制列表,访问控制列表中记录了用户的访问权限,访问控制列表是以文件为中心建立的访问权限表,然而,这种安全权限控制方式需要维护大量的访问控制列表,对于拥有大量用户与资源或数据对象的应用,管理访问控制列表变成非常繁重的工作,将消耗大量计算资源,从而影响安全权限的控制效率。
发明内容
为了解决现有的基于访问控制列表的安全权限控制方式消耗大量计算资源,影响安全权限的控制效率的问题,本申请实施例提供了一种安全权限控制方法、装置、电子设备及存储介质。
第一方面,本申请实施例提供了一种安全权限控制方法,接收账户对目标数据对象的访问操作请求,所述访问操作请求中携带有所述账户绑定的钥匙信息,其中,所述钥匙信息至少包含所述钥匙标识信息,所述钥匙表征具有的操作权限对象;
基于所述钥匙标识信息和所述锁标识信息进行匹配,根据匹配结果对所述目标数据对象进行安全权限控制,所述锁表征被保护的操作权限对象。
在一种可能的实施方式中,所述钥匙信息还包含所述钥匙的访问控制属性类型信息,所述访问控制属性类型表征访问控制范畴;基于所述钥匙标识信息和所述锁标识信息进行匹配,具体包括:
若确定与所述目标数据对象绑定的锁的访问控制属性类型与所述钥匙的访问控制属性类型一致,则基于所述钥匙标识信息和所述锁标识信息进行匹配。
在一种可能的实施方式中,若确定所述锁的访问控制属性类型与所述钥匙的访问控制属性类型为访问控制类型,则基于所述钥匙标识信息和所述锁标识信息进行匹配,具体包括:
确定所述钥匙标识信息对应的所述钥匙的访问控制权限与所述锁标识信息对应的所述锁的访问控制权限;
根据所述钥匙的访问控制权限与所述锁的访问控制权限确定匹配结果。
在一种可能的实施方式中,若所述目标数据对象为非数据对象树形结构中的数据,则根据所述钥匙的访问控制权限与所述锁的访问控制权限确定匹配结果,具体包括:
若确定所述钥匙的访问控制权限高于或者等于所述锁的访问控制权限,则确定匹配成功。
在一种可能的实施方式中,若所述目标数据对象为数据对象树形结构中的数据,则根据所述钥匙的访问控制权限与所述锁的访问控制权限确定匹配结果,具体包括:
若确定所述目标数据对象所属节点不存在祖先节点,则当确定所述钥匙的访问控制权限高于或者等于所述锁的访问控制权限时,确定匹配成功;和/或
若确定所述目标数据对象所属节点存在祖先节点,且至少一部分所述祖先节点的数据对象绑定有指定锁、且所述账户绑定有所述至少一部分所述祖先节点相应的所述指定锁对应的指定钥匙,则当确定所述钥匙的访问控制权限高于或者等于所述锁的访问控制权限时,确定匹配成功。
在一种可能的实施方式中,若确定所述锁的访问控制属性类型与所述钥匙的访问控制属性类型为时间类型,且所述目标数据对象为数据对象树形结构中的数据,则所述目标数据对象绑定的锁为所述目标数据对象所属根节点的数据对象的锁;以及
基于所述钥匙标识信息和所述锁标识信息进行匹配,具体包括:
确定所述钥匙标识信息对应的时间范围信息与所述锁标识信息对应的时间范围信息;
若所述目标数据对象所属节点为所述根节点,则当确定所述钥匙标识信息对应的时间范围与所述锁标识信息对应的时间范围一致时,确定匹配成功;和/或
若所述目标数据对象所属节点为非根节点,则当确定所述钥匙标识信息对应的时间范围与所述锁标识信息对应的时间范围一致、且所述目标数据对象对应的时间包含于所述锁标识信息对应的时间范围内时,确定匹配成功。
在一种可能的实施方式中,所述锁标识信息对应的时间范围包括固定时间范围和相对时间范围;以及
若所述目标数据对象绑定的锁为固定时间范围锁,则通过以下方式对所述根节点的数据对象绑定所述固定时间范围锁:
对所述根节点中在所述固定时间范围内的数据对象绑定所述固定时间范围锁;
若所述目标数据对象绑定的锁为相对时间范围锁,则通过以下方式对所述根节点的数据对象绑定所述相对时间范围锁:
基于初始相对时间范围的初始起始时间和偏移确定目标起始时间;
基于所述目标起始时间和设定时间长度确定目标结束时间;
基于所述目标起始时间和所述目标结束时间确定所述相对时间范围;
确定所述根节点中与所述目标起始时间相匹配的第一条数据,对所述第一条数据绑定所述相对时间范围锁;或者
基于所述根节点设置的基准时间和偏移确定所述相对时间范围的起始时间;
基于所述起始时间和所述设定时间长度确定所述相对时间范围的结束时间;
基于所述起始时间和所述结束时间确定所述相对时间范围;
对所述根节点的在所述相对时间范围内的数据对象绑定所述相对时间范围锁。
在一种可能的实施方式中,在基于所述钥匙标识信息和所述锁标识信息进行匹配之前,还包括:
确定所述目标数据对象绑定的锁的空间区域类型与所述钥匙的空间区域类型一致。
在一种可能的实施方式中,在接收账户对目标数据对象的访问操作请求之前,还包括:
对设定管理账户分配安全配置钥匙,以由所述设定管理账户基于所述安全配置钥匙为其他账户分配钥匙以及为需要保护的数据对象分配锁,其中,所述安全配置钥匙表征具有为其他账户分配钥匙的权限。
在一种可能的实施方式中,所述设定管理账户在基于所述安全配置钥匙为其他账户分配钥匙时,将钥匙信息分配至设置的各角色,每一角色包含的账户则绑定所述角色对应的各钥匙信息;和/或,所述设定管理账户基于所述安全配置钥匙对其他账户绑定相应的钥匙信息。
在一种可能的实施方式中,所述设定管理账户基于所述安全配置钥匙为其他账户分配的钥匙数量为多个。
第二方面,本申请实施例提供了一种安全权限控制装置,包括:
接收单元,用于接收账户对目标数据对象的访问操作请求,所述访问操作请求中携带有所述账户绑定的钥匙信息,其中,所述钥匙信息至少包含所述钥匙标识信息,所述钥匙表征具有的操作权限对象;
匹配控制单元,用于基于所述钥匙标识信息和所述锁标识信息进行匹配,根据匹配结果对所述目标数据对象进行安全权限控制,所述锁表征被保护的操作权限对象。
在一种可能的实施方式中,所述钥匙信息还包含所述钥匙的访问控制属性类型信息,所述访问控制属性类型表征访问控制范畴;所述匹配控制单元,具体用于若确定与所述目标数据对象绑定的锁的访问控制属性类型与所述钥匙的访问控制属性类型一致,则基于所述钥匙标识信息和所述锁标识信息进行匹配。
在一种可能的实施方式中,所述匹配控制单元,具体用于若确定所述锁的访问控制属性类型与所述钥匙的访问控制属性类型为访问控制类型,确定所述钥匙标识信息对应的所述钥匙的访问控制权限与所述锁标识信息对应的所述锁的访问控制权限;根据所述钥匙的访问控制权限与所述锁的访问控制权限确定匹配结果。
在一种可能的实施方式中,所述匹配控制单元,具体用于若所述目标数据对象为非数据对象树形结构中的数据,则若确定所述钥匙的访问控制权限高于或者等于所述锁的访问控制权限,则确定匹配成功。
在一种可能的实施方式中,所述匹配控制单元,具体用于若所述目标数据对象为数据对象树形结构中的数据,则若确定所述目标数据对象所属节点不存在祖先节点,则当确定所述钥匙的访问控制权限高于或者等于所述锁的访问控制权限时,确定匹配成功;和/或若确定所述目标数据对象所属节点存在祖先节点,且至少一部分所述祖先节点的数据对象绑定有指定锁、且所述账户绑定有所述至少一部分所述祖先节点相应的所述指定锁对应的指定钥匙,则当确定所述钥匙的访问控制权限高于或者等于所述锁的访问控制权限时,确定匹配成功。
在一种可能的实施方式中,若确定所述锁的访问控制属性类型与所述钥匙的访问控制属性类型为时间类型,且所述目标数据对象为数据对象树形结构中的数据,则所述目标数据对象绑定的锁为所述目标数据对象所属根节点的数据对象的锁;以及
所述匹配控制单元,具体用于确定所述钥匙标识信息对应的时间范围信息与所述锁标识信息对应的时间范围信息;若所述目标数据对象所属节点为所述根节点,则当确定所述钥匙标识信息对应的时间范围与所述锁标识信息对应的时间范围一致时,确定匹配成功;和/或若所述目标数据对象所属节点为非根节点,则当确定所述钥匙标识信息对应的时间范围与所述锁标识信息对应的时间范围一致、且所述目标数据对象对应的时间包含于所述锁标识信息对应的时间范围内时,确定匹配成功。
在一种可能的实施方式中,所述锁标识信息对应的时间范围包括固定时间范围和相对时间范围;以及
所述装置,还包括:
绑定单元,用于若所述目标数据对象绑定的锁为固定时间范围锁,则通过以下方式对所述根节点的数据对象绑定所述固定时间范围锁:对所述根节点中在所述固定时间范围内的数据对象绑定所述固定时间范围锁;若所述目标数据对象绑定的锁为相对时间范围锁,则通过以下方式对所述根节点的数据对象绑定所述相对时间范围锁:基于初始相对时间范围的初始起始时间和偏移确定目标起始时间;基于所述目标起始时间和设定时间长度确定目标结束时间;基于所述目标起始时间和所述目标结束时间确定所述相对时间范围;确定所述根节点中与所述目标起始时间相匹配的第一条数据,对所述第一条数据绑定所述相对时间范围锁;或者基于所述根节点设置的基准时间和偏移确定所述相对时间范围的起始时间;基于所述起始时间和所述设定时间长度确定所述相对时间范围的结束时间;基于所述起始时间和所述结束时间确定所述相对时间范围;对所述根节点的在所述相对时间范围内的数据对象绑定所述相对时间范围锁。
在一种可能的实施方式中,所述装置,还包括:
确定单元,用于在基于所述钥匙标识信息和所述锁标识信息进行匹配之前,确定所述目标数据对象绑定的锁的空间区域类型与所述钥匙的空间区域类型一致。
在一种可能的实施方式中,所述装置,还包括:
分配单元,用于在接收账户对目标数据对象的访问操作请求之前,对设定管理账户分配安全配置钥匙,以由所述设定管理账户基于所述安全配置钥匙为其他账户分配钥匙以及为需要保护的数据对象分配锁,其中,所述安全配置钥匙表征具有为其他账户分配钥匙的权限。
在一种可能的实施方式中,所述设定管理账户在基于所述安全配置钥匙为其他账户分配钥匙时,将钥匙信息分配至设置的各角色,每一角色包含的账户则绑定所述角色对应的各钥匙信息;和/或,所述设定管理账户基于所述安全配置钥匙对其他账户绑定相应的钥匙信息。
在一种可能的实施方式中,所述设定管理账户基于所述安全配置钥匙为其他账户分配的钥匙数量为多个。
第三方面,本申请实施例提供了一种电子设备,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述程序时实现本申请所述的安全权限控制方法。
第四方面,本申请实施例提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现本申请所述的安全权限控制方法中的步骤。
本申请的有益效果如下:
本申请实施例提供的安全权限控制方法、装置、电子设备及存储介质,接收账户对目标数据对象的访问操作请求,访问操作请求中携带有该账户绑定的钥匙信息,其中,钥匙信息至少包含钥匙标识信息,钥匙表征具有的操作权限对象,基于钥匙标识信息和锁标识信息进行匹配,根据匹配结果对目标数据对象进行安全权限控制,其中,锁表征被保护的操作权限对象,相比于现有技术,本申请实施例中通过为需要被保护的数据对象绑定锁,以及为对数据对象具有操作权限的账户绑定相应的钥匙,通过对钥匙标识信息和锁标识信息的匹配即可判定账户对目标数据对象是否具有相应的操作权限,无需维护大量的访问控制列表,使用锁和钥匙两个中间对象,无需在客体对象上配置过多的信息,只需在客体对象上绑定锁的标识,在主体上绑定钥匙的标识,而无需记录具体的操作控制项(即操作权限),相比于现有的访问控制列表中在客体和主体上均记录操作权限,以及主体和客体一方记录对方的信息,节约了计算资源,提高了安全权限的控制效率。
本申请的其它特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本申请而了解。本申请的目的和其他优点可通过在所写的说明书、权利要求书、以及附图中所特别指出的结构来实现和获得。
附图说明
此处所说明的附图用来提供对本申请的进一步理解,构成本申请的一部分,本申请的示意性实施例及其说明用于解释本申请,并不构成对本申请的不当限定。在附图中:
图1为本申请实施例提供的安全权限控制方法的应用场景示意图;
图2为本申请实施例提供的安全权限控制方法的实施流程示意图;
图3为本申请实施例提供的一个组织单位、角色和人员分配示例图;
图4为本申请实施例提供的通过角色为账户分配钥匙的示例图;
图5为本申请实施例提供的当锁与钥匙的访问控制属性类型为访问控制类型时,基于钥匙信息和锁标识信息进行匹配的实施流程示意图;
图6为本申请实施例提供的一个树形结构示例图;
图7为本申请实施例提供的一个对固定时间范围锁的绑定示例图;
图8为本申请实施例提供的另一个对固定时间范围锁的绑定示例图;
图9为本申请实施例提供的对根节点的数据对象绑定相对时间范围锁的实施流程示意图;
图10为本申请实施例提供的对时间范围锁的绑定示例图;
图11为本申请实施例提供的对根节点的数据对象绑定相对时间范围锁的实施流程示意图;
图12为本申请实施例提供的安全权限控制装置的结构示意图;
图13为本申请实施例提供的电子设备的结构示意图。
具体实施方式
为了解决背景技术中的问题,本申请实施例提供了一种安全权限控制方法、装置、电子设备及存储介质。
本申请实施例中的术语“包括”以及它们任何变形,意图在于覆盖不排他的保护。例如包含了一系列步骤或单元的过程、方法、装置或设备没有限定于已列出的步骤或单元,而是可选地还包括没有列出的步骤或单元,或可选地还包括对于这些过程、方法、产品或设备固有的其它步骤或单元。本申请中的“多个”可以表示至少两个,例如可以是两个、三个或者更多个,本申请实施例不做限制。
另外,本文中术语“和/或”,仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。另外,本文中字符“/”,在不做特别说明的情况下,一般表示前后关联对象是一种“或”的关系。
以下结合说明书附图对本申请的优选实施例进行说明,应当理解,此处所描述的优选实施例仅用于说明和解释本申请,并不用于限定本申请,并且在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。
首先参考图1,其为本申请实施例提供的安全权限控制方法的一个应用场景示意图,可以包括:终端110和服务器120,服务器120可以为业务服务器,初始时,预先为业务中需要被保护的客体对象(如数据对象)绑定各种具有需要被保护的操作权限的锁,锁表征被保护的操作权限对象,其中,操作权限对象可包括如对数据的创建、读、写、删除等操作权限、访问时间操作权限和空间区域操作权限等,对用户的账户绑定其针对不同客体对象(数据对象)具有的操作权限对象的钥匙,钥匙表征具有的操作权限对象,账户通过终端110访问某业务的数据对象时,账户通过终端110向服务器120发送对目标数据对象的访问操作请求,访问操作请求中携带有账户绑定的钥匙信息,钥匙信息至少包括但不限于以下信息:钥匙的访问控制属性类型信息和钥匙标识信息,访问控制属性类型表征访问控制范畴,访问控制属性类型可以但不限于包括以下类型:访问控制类型和时间类型等,前述对数据的创建、读、写、删除操作权限即为访问控制类型的操作权限对象,对数据的访问时间操作权限即为时间类型的操作权限对象,对数据的空间区域操作权限即为空间类型的操作权限对象,服务器120判断目标数据对象绑定的锁的访问控制属性类型与账户绑定的钥匙的访问控制属性类型是否一致,如果一致,则进一步基于钥匙标识信息和锁标识信息进行匹配,得到匹配结果,根据匹配结果对目标数据对象进行安全权限控制。相比于现有技术,无需维护大量的访问控制列表,使用锁和钥匙两个中间对象,无需在客体对象上配置过多的信息,只需在客体对象上绑定锁的标识,在主体上绑定钥匙的标识,而无需记录具体的操作权限,在多个数据对象具有相同的操作权限时,可使用同一锁标识记录操作权限,相比于现有的访问控制列表中在客体和主体上均记录操作权限,以及主体和客体一方记录对方的信息,节约了计算资源,并节省了很多空间,而且操作权限的配置更加简洁,提高了安全权限的控制效率。
其中,服务器120可以是独立的物理服务器,也可以是提供云服务、云数据库、云存储等基础云计算服务的云服务器。终端110可以但不限于为:智能手机、平板电脑、笔记本电脑、台式计算机等。服务器120和终端110可以通过网络进行连接,本申请实施例对此不作限定。
基于上述应用场景,下面将参照附图2~11更详细地描述本申请的示例性实施例,需要注意的是,上述应用场景仅是为了便于理解本申请的精神和原理而示出,本申请的实施方式在此不受任何限制。相反,本申请的实施方式可以应用于适用的任何场景。
如图2所示,其为本申请实施例提供的安全权限控制方法的实施流程示意图,该安全权限控制方法可以应用于上述的服务器120中,具体可以包括以下步骤:
S21、接收账户对目标数据对象的访问操作请求,访问操作请求中携带有所述账户绑定的钥匙信息,其中,钥匙信息包含钥匙标识信息。
具体实施时,预先为业务中需要被保护的客体对象(如数据对象)绑定各种具有需要被保护的操作权限的锁,并对用户的账户绑定其针对不同客体对象(数据对象)具有的操作权限对象的钥匙。在实施时,可通过如下方式分配锁和钥匙:
对设定管理账户分配安全配置钥匙,以由设定管理账户基于安全配置钥匙为其他账户分配钥匙以及为需要保护的数据对象分配锁,其中,安全配置钥匙表征具有为其他账户分配钥匙的权限。
在实施时,为需要保护的数据对象分配锁和为其他账户分配钥匙的设定管理账户可以为同一管理账户,也可以为不同的管理账户,管理账户可以为管理员的账户,也可以为业务指定的对客体对象和用户具有管理权限的用户的账户,本申请实施例对此不作限定。钥匙具有拷贝类型,可分为有效拷贝钥匙和无限拷贝钥匙,有限拷贝钥匙是指限制分配数量的权限钥匙,例如,最少可以分配给一个客体对象(即数据对象),最多可以分配给n个客体对象,其中,n的数量可根据需要自行设定,限制数量就是限制了有权限的账户的数量,可以在一定程度上对加锁的客体对象的保护更加严谨,当客体对象被操作时,方便跟踪和查找操作者,无限拷贝钥匙是指不限制分配数量的权限钥匙。
具体地,设定管理账户在基于安全配置钥匙为其他账户分配钥匙时,可通过以下方式进行分配:
设定管理账户基于安全配置钥匙将钥匙信息分配至设置的各角色,每一角色包含的账户则绑定角色对应的各钥匙信息;和/或,设定管理账户基于安全配置钥匙对其他账户绑定相应的钥匙信息。
上述方式即包括以下至少两种:
方式一、设定管理账户基于安全配置钥匙将钥匙信息分配至设置的各角色,每一角色包含的账户则绑定角色对应的各钥匙信息,并可对(某一个或多个角色包含的)指定账户单独绑定指定操作权限的钥匙信息,也即,可对角色中某指定账户绑定除分配至角色的钥匙信息以外的具有其它操作权限的钥匙信息。
具体实施时,在多团体复杂组织架构下,人员(即用户)信息可存储于数据库中进行管理,人员信息可存储于关系表中,关系表中存储的是不同组织单位下拥有的所有角色信息以及各角色信息包含的人员信息之间的关系,角色包含至少一个人员信息,角色属于组织单位,其中,人员信息可以为用户的账户标识信息,组织单位例如某个公司的部门、角色例如该公司的不同部门下的职位,预先通过组织单位、角色和人员对人员的身份进行划分,当人员担任了某一个组织单位下的角色后,人员和组织单位建立关系,当人员被移除了某一组织单位的角色后,即不再在该组织单位下担任该角色,同一个人员可以在不同的组织单位下担任不同的角色,也就是说,不同组织单位的不同角色可包含有一个或多个相同的人员,如图3所示的一个示例中,假设一个组织架构下包含三个组织单位:组织单位1、组织单位2和组织单位3,组织单位1下包含一个角色,该角色包含人员信息1,组织单位2下包含一个角色,该角色包含人员信息2,组织单位3下包含角色1和角色2,角色1包含人员信息3,其中,人员信息1、人员信息2和人员信息3可以相同,也可以不同,也就是说可以为相同的账户信息,也可以为不同的账户信息,在实施时,各角色包含的人员信息可以为多个、也可以为1个。角色可以被分配多个钥匙,用户在组织中被分配担任某一角色(或多个角色)之后,就拥有了这一个角色(或多个角色)被分配的钥匙表征的具有的操作权限。角色可被分配无限拷贝的钥匙,账户可被分配有限拷贝的钥匙,也可被分配无限拷贝的钥匙。当多个用户担任同一角色时,用户的账户拥有角色对应的操作权限,当担任该角色的个别用户,需求拥有区别于角色赋予的操作权限时,可根据需求直接给该个别用户分配其需求的指定操作权限的钥匙。
如图4所示,其为一通过角色为账户分配钥匙的示例图,假设指定账户1为管理账户,对账户1分配安全配置钥匙,这样,账户1就具有了对其他账户分配钥匙的权限,和/或对客体对象分配锁的权限,假设账户1既具有分配钥匙的权限,又具有分配锁的权限,则客体对象具备安全配置钥匙对应的安全配置锁,客体对象的安全配置锁表征与其对应的安全配置钥匙具有对该客体对象进行锁配置的权限,其中,安全配置锁可记为:Key_安全配置,安全配置锁可记为:Lock_安全配置。假设账户1需对被保护的客体对象1、客体对象2、客体对象3均分配读操作权限的锁(可记为:Lock_读,简称读锁)、写操作权限的锁(可记为:Lock_写,简称写锁)和删除操作权限的锁(可记为:Lock_删,简称删除锁),某一组织单位下的某一角色包含两个账户:账户2和账户3,账户1需对账户2和账户3分配具有读操作权限的钥匙(可记为:Key_读,简称读钥匙)和具有写操作权限的钥匙(可记为:Key_写,简称写钥匙),则账户1可分别对客户对象1~3分配读锁Lock_读、写锁Lock_写、删除锁Lock_删,以将客户对象1~3分别绑定读锁Lock_读的标识(ID)信息、写锁Lock_写的标识信息和删除锁Lock_删的标识信息,账户1可将读钥匙Key_读和写钥匙Key_写分配给账户2、账户3所属的角色,这样,账户2和账户3即可绑定读钥匙Key_读的标识信息和写钥匙Key的标识信息,若账户1还需要为账户2分配指定操作权限的钥匙如具有删除操作权限的钥匙(可记为:Key_删,简称删除钥匙),则账户1可单独向账户2下发删除钥匙Key_删,这样,账户2即可绑定删除钥匙Key_删的标识信息。这样,在通过角色为账户分配钥匙时,可以灵活对指定的账户单独增加或删除指定操作权限的钥匙,使得权限控制更加细化和灵活。上述客体对象可以为需要保护的树形结构中的数据对象,也可以为需要保护的非树形结构中的数据对象,管理账户可以为客体对象设置上述访问控制类型的操作权限对应的锁和钥匙,还可以为客体对象设置时间类型的操作权限对应的锁和钥匙,本申请实施例对此不作限定。
需要说明的是,具有配置钥匙的管理账户不能对其他账户分配安全配置钥匙,这是由于其他账户不具备操作权限控制功能。
本申请实施例中,各操作权限对应的锁的标识信息和钥匙的标识信息可以由服务器预先进行设置,本申请实施例对此不作限定。
方式二、设定管理账户基于安全配置钥匙对其他账户绑定相应的钥匙信息。也即,可以不通过角色进行分配,而直接对其他账户分配钥匙。
具体实施时,设定管理账户基于安全配置钥匙可直接对其他账户绑定可拥有的操作权限相应的钥匙标识。
在一种实施方式中,在锁和钥匙的进行匹配时,为了进一步提高匹配效率,在为各账户绑定钥匙信息(即钥匙标识)后,还可以把钥匙对应的锁标识分配给各账户,各账户在每一钥匙信息中除存储钥匙标识信息外,还存储该钥匙对应的锁标识信息,钥匙信息中还包含钥匙的访问控制属性类型信息,钥匙信息中还可包含钥匙名称信息。
通过上述两种钥匙分配方式,用户(账户)可以直接携带操作权限,也可以通过角色携带操作权限,拥有相同角色的用户拥有了相同的操作权限,一个角色可以拥有多个操作权限,避免了给每个用户重复分配大量的操作权限,当用户需要对客体对象具有特定的操作权限,并限制其他相同角色的用户具有该特定操作权限时,可通过单独给用户分配表征该特定操作权限的钥匙,实现只有该用户能够访问的权限定制。钥匙数量的限定也在一定程度上限定了对客体对象访问的保护,使得对主体和客体的控制更加灵活。
作为一种可能的实施方式,还可以对钥匙设置有效期,以实现自动回收操作权限。例如,对于一些客体对象,可以设置主体对象可对这些客体对象具有某些操作权限的时长,从而,可以更灵活地控制用户对客体对象的操作权限的使用。
在具体实施时,账户若要访问操作服务器中的目标数据对象时,将该账户绑定的钥匙信息携带在访问操作请求中,钥匙信息至少包括钥匙标识信息,还包括钥匙对应的锁标识信息,账户的终端向服务器发送针对目标数据对象的该访问操作请求,服务器接收该访问操作请求。
S22、基于钥匙标识信息和锁标识信息进行匹配,根据匹配结果对所目标数据对象进行安全权限控制。
具体实施时,服务器接收到账户对目标数据对象的访问操作请求后,判断钥匙标识信息和锁标识信息是否匹配成功,若匹配成功,则对目标数据对象进行安全权限控制;则匹配失败,则不能对目标数据对象进行安全权限控制。
在一种可能的实施方式中,若钥匙信息中还包含表征钥匙的访问控制范畴的访问控制属性类型信息,可按照以下步骤进行匹配:若确定与目标数据对象绑定的锁的访问控制属性类型与钥匙的访问控制属性类型一致,则基于钥匙标识信息和锁标识信息进行匹配。
具体实施时,服务器接收到账户对目标数据对象的访问操作请求后,判断与目标数据对象绑定的锁的访问控制属性类型与钥匙信息中包含的钥匙的访问控制类型是否一致,如是否均为访问控制类型,或者是否均为时间类型,如果一致,则进一步将钥匙标识信息和锁标识信息进行匹配,若确定与目标数据对象绑定的锁与钥匙的访问控制属性类型为访问控制类型,可按照如图5所示的流程基于钥匙信息和锁标识信息进行匹配,包括以下步骤:
S31、确定钥匙标识信息对应的钥匙的访问控制权限与锁标识信息对应的锁的访问控制权限。
具体实施时,预先根据操作权限的重要性为访问控制类型的操作权限划分访问控制权限,级别越高,操作权限越高,如可设置为:创建、写操作权限的访问控制权限>删除操作权限的访问控制权限>读操作权限的访问控制权限,并可存储锁标识与访问控制权限的对应关系。
在实施时,若钥匙和锁的访问控制属性类型为访问控制类型,则可从存储的锁标识与访问控制权限的对应关系中查找钥匙信息中包含的钥匙对应的锁标识所对应的访问控制权限,其也就是与账户绑定的钥匙的访问控制权限,也即钥匙所表征的具有的操作权限的访问控制权限,以及从锁标识与访问控制权限的对应关系中查找与目标数据对象绑定的锁的锁标识对应的访问控制权限,也即锁所表征的被保护的操作权限的访问控制权限。
为了进一步节约计算资源,作为一种较佳的实施方式,在为账户绑定钥匙信息中还可以包括钥匙的访问控制权限信息,在为客体对象(数据对象)绑定锁时,还可以将锁的访问控制权限信息与客体对象进行绑定,这样,在实施时,从账户绑定的钥匙信息中即可直接提取钥匙的访问控制权限,以及从目标数据对象绑定的锁信息中即可直接提取锁的访问控制权限。
S32、根据钥匙的访问控制权限与锁的访问控制权限确定匹配结果。
具体实施时,数据对象可分为两类,一类是非数据对象树形结构中的数据,一类是数据对象树形结构中的数据。如果目标数据对象为非数据对象树形结构中的数据,则通过以下方式确定匹配结果:
若确定钥匙的访问控制权限高于或者等于锁的访问控制权限,则确定匹配成功,若钥匙的级别小于锁的级别,则表示钥匙不够级别开锁,则匹配失败。例如,目标数据对象绑定的锁表征的被保护的操作权限为:删除操作权限,也即目标数据对象绑定了删除锁,账户绑定的钥匙表征的具有的操作权限为:写操作权限,也即账户绑定了写钥匙,由于写操作权限的访问控制权限高于删除操作权限的访问控制权限,则可匹配成功,表明账户对目标数据对象具删除操作权限,账户除了对目标数据对象具备删除操作权限外,还具备写操作权限和读操作权限,开锁成功。如果账户绑定的钥匙表征的具有的操作权限为读操作权限,即账户绑定了读钥匙,由于读操作权限的访问控制权限低于删除操作权限的访问控制权限,则匹配失败,表明账户对目标数据对象不具有删除操作权限,开锁失败。
作为一种可能的实施方式,在确定钥匙标识信息对应的钥匙的访问控制权限与锁标识信息对应的锁的访问控制权限之前,还可以先匹配钥匙信息中包含的锁的标识信息是否和与目标数据对象绑定的锁的标识中存在相同的,如果有,则确定锁标识一致的钥匙和锁匹配成功,表明账户对目标数据对象具有锁表征的被保护的操作权限,开锁成功。如果钥匙信息中包含的锁的标识和与目标数据对象绑定的锁的标识不同,再确定钥匙标识信息对应的钥匙的访问控制权限与锁标识信息对应的锁的访问控制权限。
如果目标数据对象为数据对象树形结构中的数据,则通过以下方式确定匹配结果:
情况一:若确定目标数据对象所属节点不存在祖先节点,则当确定钥匙的访问控制权限高于或者等于锁的访问控制权限时,确定匹配成功。
数据对象间组成树形结构,即数据对象之间有分支、并且具有层次关系的结构,可用于表示数据对象之间存在一对多关系,如图6所示,其为一个树形结构示例图,树的每个节点都代表一个数据对象,数据对象间的关系形成树形结构,树的节点是树中的独立单元,如图6中的A、B、C、…、M共13个节点,位于最顶部的节点A为根节点(root),根节点A没有前驱节点(即父节点),其余每个节点有且只有一个父节点,如节点B的父节点是节点A,节点E的父节点是节点B,节点G的父节点是节点C。叶子节点是指没有后续节点(子节点)的节点,除叶子节点外其余每个节点的子节点可以是一个,也可以是多个,如节点E、K、G、H、L、M、J均无子节点,即为叶子节点。一个节点的祖先节点包括父节点、祖父节点、曾祖父节点,也就是说,一个节点所连接的上层节点为其祖先节点,一个节点的后代节点包括子节点、孙节点、曾孙节点等,也就是说,一个节点所连接的下层节点为其后代节点,例如,节点I的祖先节点有节点D和节点A,节点I的后代节点有L节点和M节点,每一个节点和它的后代节点也构成一棵树。
具体实施时,如果目标数据对象所属节点不存在祖先节点,也即:目标数据对象所属节点为根节点,当目标数据对象所属节点为根节点时,匹配方式与目标数据对象为非数据对象属性结构中的数据时的匹配方式相同,此处不作赘述。
情况二:若确定目标数据对象所属节点存在祖先节点,且至少一部分祖先节点的数据对象绑定有指定锁、且账户绑定有该至少一部分祖先节点相应的指定锁对应的指定钥匙,则当确定钥匙的访问控制权限高于或者等于锁的访问控制权限时,确定匹配成功。其中,指定锁可以为读锁,则指定钥匙为读钥匙。
具体实施时,若一个账户(即主体)需对树形结构中非根节点的目标数据对象(即客体对象)进行特定操作,该节点的一部分祖先节点或者全部祖先节点的数据对象绑定有读锁,那么,账户需持有这些加有读锁的祖先节点的数据对象的读锁的钥匙(即读钥匙),并且账户绑定的针对目标数据对象的钥匙的访问控制权限需高于或等于目标数据对象绑定的锁的访问控制权限,才可匹配成功。如特定操作为删除操作,则账户需绑定了针对目标数据对象的删除钥匙,如果目标数据对象绑定的锁为删除锁或读锁,则账户即可执行对目标数据对象的删除操作,如果账户不具有这些加有读锁的祖先节点中任意祖先节点的数据对象的读锁对应的读钥匙,则无法对目标数据对象执行删除操作。例如,图6中,目标数据对象为节点G的数据对象,账户对节点G的数据对象的访问操作请求为对节点G的数据对象执行删除操作,那么,需要先确定节点G的祖先节点C和A的数据对象是否加有读锁,假设节点A的数据对象加有读锁L1,如果账户未持有读锁L1对应的钥匙,也就是账户未绑定节点A的数据对象的读钥匙,则账户无法对节点D的数据对象进行删除操作,如果账户持有读锁L1对应的钥匙,即账户绑定了节点A的数据对象的读钥匙,再查看节点G的数据对象是否加有删除锁L2,如果节点G的数据对象加有删除锁L2,则查看账户是否持有删除锁L2对应的钥匙,即账户是否绑定了节点G的数据对象的删除钥匙,如果账户持有L2对应的删除钥匙,则匹配成功,账户可以对节点G的数据对象执行删除操作,或者账户持有访问控制权限更高的钥匙,如账户绑定了节点G的数据对象的写钥匙,则也可匹配成功,账户可对节点G的数据对象执行删除操作,还可执行写操作。如果账户未持有L2对应的删除钥匙或访问控制权限更高的钥匙,则匹配失败,账户无法对节点G的数据对象执行删除操作。
上述实施方式表征,读操作权限是其他操作权限的一个基础,拥有祖先节点的数据对象的读锁对应的读钥匙,是操作祖先节点的后代节点的数据对象的前提,相当于祖先节点是其后代节点的数据对象的安全区,不需要额外构造不具有业务意义的安全区,相比于现有技术中构造多个安全区A、B、C、D、E......,将多个数据对象和安全区进行绑定,通过控制安全区的访问,达到批量控制安全区中数据安全的目的,然而这种安全区并没有实际的业务意义,而本申请实施例中,祖先节点具有实际的业务意义,可通过控制账户是否可以访问祖先节点的数据对象来达到批量控制后代节点的安全的目的。
目前流行的安全区(一般指安全空间),在需要保护一个客体对象某段时间范围内的数据时,无法做到快速安全保护配置,需要追条为时间范围内的数据对象添加安全规则,现有技术中没有其他的安全策略可以做到快速配置,但是这种需求场景对于具有时间属性的数据对象经常会出现,基于此,本申请实施例提出了访问控制类型为时间类型的锁和钥匙,简化了操作权限的配置过程。
具体实施时,若确定与目标数据对象绑定的锁与账户绑定的钥匙的访问控制属性类型为时间类型,且目标数据对象为数据对象树形结构中的数据,则目标数据对象绑定的锁为目标数据对象所属根节点的数据对象的锁,可以按照以下方式基于钥匙标识信息和所标识信息进行匹配:
确定钥匙标识信息对应的时间范围信息与锁标识信息对应的时间范围信息,若目标数据对象所属节点为根节点,则当确定钥匙标识信息对应的时间范围与锁标识信息对应的时间范围一致时,确定匹配成功,若目标数据对象所属节点为非根节点,则当确定钥匙标识信息对应的时间范围与锁标识信息对应的时间范围一致、且目标数据对象对应的时间包含于锁标识信息对应的时间范围内时,确定匹配成功。
具体实施时,访问控制类型为时间类型的锁具有时间范围属性,表示保护一段时间范围内的客体对象,时间类型的钥匙表示可在一段时间内对客体对象具有某些操作权限,时间范围包括固定时间范围和相对时间范围,固定时间范围保护的时间范围是固定的,是固定的起始时间和结束时间范围内的一段时间,超过结束时间后,固定时间锁即失效,而相对时间范围保护的时间范围是不固定的,其保护的时间范围的起始时间可以为相对于根节点中的数据对象中具体的一条数据的时间的一定时间长度,数据的时间发生变化,相对时间锁的时间范围会自动根据变化后的时间进行调整。时间锁具有时间范围属性,加锁数据上时间范围在锁表示的时间范围内,即可受到锁的保护。若锁为时间类型的锁,可预先存储锁标识信息与时间范围的对应关系。
具体地,可通过以下方式对根节点的数据对象绑定固定时间范围锁:对根节点中在固定时间范围内的数据对象绑定固定时间范围锁。
以图7为例对固定时间范围锁的绑定,以及时间范围锁和钥匙的匹配过程进行说明,假设设置的固定时间范围为:起始时间是2022年12月31日,23:59:59,结束时间是2024年1月1日,0:0:0,一个树形结构中的根节点为节点A,其为节点B的父节点,节点B即为子节点,节点C为孙节点,假设父节点A的两条数据都具有时间属性,时间范围分别为2023年、2024年,若以上述固定时间范围为根节点添加固定时间范围锁,由于第一条数据1是2023年的,该数据被包含在固定时间范围锁的时间范围:2022年12月31日,23:59:59~2024年1月1日,0:0:0内,则对第一条数据绑定该固定数据范围锁,那么父节点A(2023年)、子节点B(2023年1月、2月)和孙节点C(2023年1月1日)的数据均被该固定时间范围锁保护,不对第二条数据(2024年)加锁。在钥匙和锁进行匹配时,如果目标数据对象所属节点为父节点A,则当钥匙对应的时间范围与锁对应的时间范围一致时即可匹配成功,也就是说如果目标数据对象是2023年的数据,则匹配成功,账户可访问该目标数据对象,还可访问子节点B或孙节点C的数据,也就是说,如果目标数据对象所属节点为子节点B或孙节点C,即账户访问子节点B或孙节点C的数据时,只需校验账户是否有父节点A的数据对象绑定的固定时间范围锁的钥匙即可,访问2024年的数据时则可直接访问,由于2024年数据未加锁。
本申请实施例中,还有另一种可能的实施方式,如图8所示,在父节点A上添加了一个时间范围为“2022年12月31日,23:59:59~2023年5月1日,0:0:0”的固定时间范围锁,由于父节点A的第一条数据(2023年)未被完全包含在该固定时间范围锁的范围内,此时父节点A的所有数据都不受该固定时间范围锁保护,而子节点B(2023年1月、2月)和孙节点C(2023年1月1日)的数据落入了时间范围“2022年12月31日,23:59:59~2023年5月1日,0:0:0”内,因此,子节点B(2023年1月、2月)和孙节点C(2023年1月1日)的数据受该固定时间范围锁的保护。若账户请求访问的目标数据对象为父节点A中的数据时,如第一条数据(2023年)则不需要进行校验,便可直接访问,如果账户请求访问的目标数据对象为子节点B(2023年1月、2月)或孙节点C(2023年1月1日)的数据,则需要校验账户是否持有该固定时间范围锁的钥匙,同样,父节点A的第二条数据(2024年的所有数据)没有受到任何保护,可直接被访问。
本申请实施例中,还有又一种可能的实施方式,在上述列举的任一种钥匙与锁匹配成功的情形下,钥匙还绑定解锁时间范围锁,解锁时间范围锁的解锁时间范围处于锁标识信息对应的时间范围内,账户可访问解锁时间范围对应的数据对象。以图7为例,若解锁时间范围锁的解锁时间范围为2023年1月至4月,父节点A(2023年1月至4月)、子节点B(2023年1月、2月)和孙节点C(2023年1月1日)的数据落入了解锁时间范围“2023年1月至4月”内,则账户可访问父节点A(2023年1月至4月)、子节点B(2023年1月、2月)和孙节点C(2023年1月1日)的数据。
在实施时,可按照如图9所示的流程对根节点的数据对象绑定相对时间范围锁,包括以下步骤:
S41、基于初始相对时间范围的初始起始时间和偏移确定目标起始时间。
以图10为例对相对时间范围锁的绑定,以及时间范围锁和钥匙的匹配过程进行说明,为父节点A添加一个相对时间范围锁,相对时间范围锁可与父节点A的一条数据进行绑定,假设初始相对时间范围的初始起始时间为:2023年1月1日,0:0:0,假设偏移为0,时间精度为年,则目标起始时间与父节点A的第一条数据序号0数据(2023年)的初始起始时间(2023年1月1日,0:0:0)相比偏移为0年,即没有偏移,也为:2023年1月1日,0:0:0。
S42、基于目标起始时间和设定时间长度确定目标结束时间。
假设设定时间长度为:1年,则目标起始时间加上设定时间长度即为目标结束时间:2024年1月1日,0:0:0。
S43、基于目标起始时间和目标结束时间确定相对时间范围。
相对时间范围即为:2023年1月1日,0:0:0~2024年1月1日,0:0:0。
S44、确定根节点中与目标起始时间相匹配的第一条数据,对第一条数据绑定相对时间范围锁。
父节点A中与2023年1月1日,0:0:0相匹配的第一条数据记为:序号0数据(2023年),则可对序号0数据绑定该相对时间范围锁,那么,父节点A(2023年,序号0数据)以及子节点B(2023年1月、2月)和孙节点C(2023年1月1日)的数据均被该相对时间范围锁保护,2024年的数据(序号1数据)不被保护,账户的钥匙和相对时间锁的匹配方式与和固定时间锁的匹配方式相同,此处不作赘述。
当偏移为1时,则目标起始时间为:2024年1月1日,0:0:0,目标结束时间为:2025年1月1日,0:0:0,相对时间范围为:2024年1月1日,0:0:0~2025年1月1日,0:0:0,则可对序号1数据绑定对应的相对时间范围锁,依次类推。
作为另一种实施方式,还可以按照如图11所示的流程对根节点的数据对象绑定相对时间范围锁,包括以下步骤:
S51、基于根节点设置的基准时间和偏移确定相对时间范围的起始时间。
可预先设置一个基准时间,仍延续上例,假设父节点A上设置的基准时间为:2023年1月1日,0:0:0,偏移为0,时间精度为年,则相对时间范围的起始时间为:2023年1月1日,0:0:0。
S52、基于起始时间和设定时间长度确定相对时间范围的结束时间。
假设设定时间长度为1年,则相对时间范围的结束时间为:2024年1月1日,0:0:0。
S53、基于起始时间和结束时间确定相对时间范围。
相对时间范围即为:2023年1月1日,0:0:0~2024年1月1日,0:0:0。
S54、对根节点的在相对时间范围内的数据对象绑定相对时间范围锁。
对父节点A(即根节点)2023年的数据绑定该相对时间范围锁。如果父节点A的基准时间修改为2025年1月1日,0:0:0,则相对时间范围锁的包含的相对时间范围则自动变更为:2025年1月1日,0:0:0~2026年1月1日,0:0:0,即对父节点A2025年的数据绑定变更后的相对时间范围锁。
上述实施方式,抓住了数据对象的生命全周期数据具有时间属性的本质特征,能够快速完成一个数据对象及其后代的生命全周期内部分数据的安全权限配置,相比追条对数据进行安全权限配置,大大提高了安全权限配置的效率。
在一种可能的实施方式中,对于上述固定时间范围锁和相对时间范围锁对应的起始时间还可以是过去的任一时间点;对于上述固定时间范围锁和相对时间范围锁对应的结束时间还可以是未来的任一时间点。本申请对过去和未来的时间点不作任何的限制,本领域技术人员可以根据安全需求等灵活地调整和设置。
作为一种可能的实施方式,本申请实施例中,还可针对数据对象的空间区域进行保护,在计算机云-边-端架构中,可以分为云区域、边区域和端区域,每个计算节点都可作为一个端区域,一个边区域用来管理多个端区域,云区域用来管理所有的边区域和端区域,锁与客体对象都具有空间属性(也即空间区域类型),例如,一个数据对象的空间区域类型是属于端区域、边区域还是云区域,当对端区域的客体对象进行保护时,需要使用空间区域类型为端区域的锁,当对边区域的客体对象进行保护时,需要使用空间区域类型为边区域的锁,当对云区域的客体对象进行保护时,需要使用空间区域类型为云区域的锁,同样地,钥匙也具有空间区域类型,只有相同空间区域类型的钥匙才能打开相同空间区域类型的锁。
具体实施时,在基于钥匙标识信息和锁标识信息进行匹配之前,还可以包括:确定目标数据对象绑定的锁的空间区域类型与账户绑定的钥匙的空间区域类型一致。
具体地,在确定目标数据对象绑定的锁和账户绑定的钥匙的访问控制属性类型一致之后,以及在基于钥匙标识信息和锁标识信息进行匹配之前,还可以判定锁的空间区域类型和钥匙的空间区域类型是否一致,当一致时,再对钥匙和锁进行匹配。
基于同一发明构思,本申请实施例还提供了一种安全权限控制装置,由于上述安全权限控制装置解决问题的原理与上述安全权限控制方法相似,因此上述装置的实施可以参见方法的实施,重复之处不再赘述。
如图12所示,其为本申请实施例提供的安全权限控制装置的结构示意图,可以包括:
接收单元61,用于接收账户对目标数据对象的访问操作请求,访问操作请求中携带有账户绑定的钥匙信息,其中,钥匙信息至少包含钥匙标识信息,钥匙表征具有的操作权限对象;
匹配控制单元62,用于基于钥匙标识信息和锁标识信息进行匹配,根据匹配结果对目标数据对象进行安全权限控制,锁表征被保护的操作权限对象。
在一种可能的实施方式中,钥匙信息还包含钥匙的访问控制属性类型信息,访问控制属性类型表征访问控制范畴;匹配控制单元62,具体用于若确定与目标数据对象绑定的锁的访问控制属性类型与钥匙的访问控制属性类型一致,则基于钥匙标识信息和锁标识信息进行匹配。
在一种可能的实施方式中,匹配控制单元62,具体用于若确定锁的访问控制属性类型与钥匙的访问控制属性类型为访问控制类型,确定钥匙标识信息对应的钥匙的访问控制权限与锁标识信息对应的锁的访问控制权限;根据钥匙的访问控制权限与锁的访问控制权限确定匹配结果。
在一种可能的实施方式中,匹配控制单元62,具体用于若目标数据对象为非数据对象树形结构中的数据,则若确定钥匙的访问控制权限高于或者等于锁的访问控制权限,则确定匹配成功。
在一种可能的实施方式中,匹配控制单元62,具体用于若目标数据对象为数据对象树形结构中的数据,则若确定目标数据对象所属节点不存在祖先节点,则当确定钥匙的访问控制权限高于或者等于锁的访问控制权限时,确定匹配成功;和/或若确定目标数据对象所属节点存在祖先节点,且至少一部分祖先节点的数据对象绑定有指定锁、且账户绑定有至少一部分祖先节点相应的指定锁对应的指定钥匙,则当确定钥匙的访问控制权限高于或者等于锁的访问控制权限时,确定匹配成功。
在一种可能的实施方式中,若确定锁的访问控制属性类型与钥匙的访问控制属性类型为时间类型,且目标数据对象为数据对象树形结构中的数据,则目标数据对象绑定的锁为目标数据对象所属根节点的数据对象的锁;以及
匹配控制单元62,具体用于确定钥匙标识信息对应的时间范围信息与锁标识信息对应的时间范围信息;若目标数据对象所属节点为根节点,则当确定钥匙标识信息对应的时间范围与锁标识信息对应的时间范围一致时,确定匹配成功;和/或若目标数据对象所属节点为非根节点,则当确定钥匙标识信息对应的时间范围与锁标识信息对应的时间范围一致、且目标数据对象对应的时间包含于锁标识信息对应的时间范围内时,确定匹配成功。
在一种可能的实施方式中,锁标识信息对应的时间范围包括固定时间范围和相对时间范围;以及
装置,还包括:
绑定单元,用于若目标数据对象绑定的锁为固定时间范围锁,则通过以下方式对根节点的数据对象绑定固定时间范围锁:对根节点中在固定时间范围内的数据对象绑定固定时间范围锁;若目标数据对象绑定的锁为相对时间范围锁,则通过以下方式对根节点的数据对象绑定相对时间范围锁:基于初始相对时间范围的初始起始时间和偏移确定目标起始时间;基于目标起始时间和设定时间长度确定目标结束时间;基于目标起始时间和目标结束时间确定相对时间范围;确定根节点中与目标起始时间相匹配的第一条数据,对第一条数据绑定相对时间范围锁;或者基于根节点设置的基准时间和偏移确定相对时间范围的起始时间;基于起始时间和设定时间长度确定相对时间范围的结束时间;基于起始时间和结束时间确定相对时间范围;对根节点的在相对时间范围内的数据对象绑定相对时间范围锁。
在一种可能的实施方式中,装置,还包括:
确定单元,用于在基于钥匙标识信息和锁标识信息进行匹配之前,确定目标数据对象绑定的锁的空间区域类型与钥匙的空间区域类型一致。
在一种可能的实施方式中,装置,还包括:
分配单元,用于在接收账户对目标数据对象的访问操作请求之前,对设定管理账户分配安全配置钥匙,以由设定管理账户基于安全配置钥匙为其他账户分配钥匙以及为需要保护的数据对象分配锁,其中,安全配置钥匙表征具有为其他账户分配钥匙的权限。
在一种可能的实施方式中,设定管理账户在基于安全配置钥匙为其他账户分配钥匙时,将钥匙信息分配至设置的各角色,每一角色包含的账户则绑定角色对应的各钥匙信息;和/或,设定管理账户基于安全配置钥匙对其他账户绑定相应的钥匙信息。
在一种可能的实施方式中,设定管理账户基于安全配置钥匙为其他账户分配的钥匙数量为多个。
基于同一技术构思,本申请实施例还提供了一种电子设备700,参照图13所示,电子设备700用于实施上述方法实施例记载的安全权限控制方法或者安全权限控制装置,该实施例的电子设备700可以包括:存储器701、处理器702以及存储在存储器中并可在处理器上运行的计算机程序,例如安全权限控制程序。处理器执行计算机程序时实现上述各个安全权限控制方法实施例中的步骤,例如图2所示的步骤S21和步骤S22。
本申请实施例中不限定上述存储器701、处理器702之间的具体连接介质。本申请实施例在图13中以存储器701、处理器702之间通过总线703连接,总线703在图13中以粗线表示,其它部件之间的连接方式,仅是进行示意性说明,并不引以为限。总线703可以分为地址总线、数据总线、控制总线等。为便于表示,图13中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
存储器701可以是易失性存储器(volatile memory),例如随机存取存储器(random-access memory,RAM);存储器701也可以是非易失性存储器(non-volatilememory),例如只读存储器,快闪存储器(flash memory),硬盘(hard disk drive,HDD)或固态硬盘(solid-state drive,SSD)、或者存储器701是能够用于携带或存储具有指令或数据结构形式的期望的程序代码并能够由计算机存取的任何其他介质,但不限于此。存储器701可以是上述存储器的组合。
处理器702,用于实现如图2所示的一种安全权限控制方法。
本申请实施例还提供了一种计算机可读存储介质,存储为执行上述处理器所需执行的计算机可执行指令,其包含用于执行上述处理器所需执行的程序。
在一些可能的实施方式中,本申请提供的安全权限控制方法的各个方面还可以实现为一种程序产品的形式,其包括程序代码,当程序产品在电子设备上运行时,程序代码用于使电子设备执行本说明书上述描述的根据本申请各种示例性实施方式的安全权限控制方法中的步骤。
本领域内的技术人员应明白,本申请的实施例可提供为方法、装置、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本申请是参照根据本申请实施例的方法、设备(装置)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
尽管已描述了本申请的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例做出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本申请范围的所有变更和修改。
显然,本领域的技术人员可以对本申请进行各种改动和变型而不脱离本申请的精神和范围。这样,倘若本申请的这些修改和变型属于本申请权利要求及其等同技术的范围之内,则本申请也意图包含这些改动和变型在内。
Claims (14)
1.一种安全权限控制方法,其特征在于,包括:
接收账户对目标数据对象的访问操作请求,所述访问操作请求中携带有所述账户绑定的钥匙信息,其中,所述钥匙信息至少包含所述钥匙标识信息,所述钥匙表征具有的操作权限对象;
基于所述钥匙标识信息和所述锁标识信息进行匹配,根据匹配结果对所述目标数据对象进行安全权限控制,所述锁表征被保护的操作权限对象。
2.如权利要求1所述的方法,其特征在于,包括:所述钥匙信息还包含所述钥匙的访问控制属性类型信息,所述访问控制属性类型表征访问控制范畴;基于所述钥匙标识信息和所述锁标识信息进行匹配,具体包括:
若确定与所述目标数据对象绑定的锁的访问控制属性类型与所述钥匙的访问控制属性类型一致,则基于所述钥匙标识信息和所述锁标识信息进行匹配。
3.如权利要求2所述的方法,其特征在于,若确定所述锁的访问控制属性类型与所述钥匙的访问控制属性类型为访问控制类型,则基于所述钥匙标识信息和所述锁标识信息进行匹配,具体包括:
确定所述钥匙标识信息对应的所述钥匙的访问控制权限与所述锁标识信息对应的所述锁的访问控制权限;
根据所述钥匙的访问控制权限与所述锁的访问控制权限确定匹配结果。
4.如权利要求3所述的方法,其特征在于,若所述目标数据对象为非数据对象树形结构中的数据,则根据所述钥匙的访问控制权限与所述锁的访问控制权限确定匹配结果,具体包括:
若确定所述钥匙的访问控制权限高于或者等于所述锁的访问控制权限,则确定匹配成功。
5.如权利要求3所述的方法,其特征在于,若所述目标数据对象为数据对象树形结构中的数据,则根据所述钥匙的访问控制权限与所述锁的访问控制权限确定匹配结果,具体包括:
若确定所述目标数据对象所属节点不存在祖先节点,则当确定所述钥匙的访问控制权限高于或者等于所述锁的访问控制权限时,确定匹配成功;和/或
若确定所述目标数据对象所属节点存在祖先节点,且至少一部分所述祖先节点的数据对象绑定有指定锁、且所述账户绑定有所述至少一部分所述祖先节点相应的所述指定锁对应的指定钥匙,则当确定所述钥匙的访问控制权限高于或者等于所述锁的访问控制权限时,确定匹配成功。
6.如权利要求2所述的方法,其特征在于,若确定所述锁的访问控制属性类型与所述钥匙的访问控制属性类型为时间类型,且所述目标数据对象为数据对象树形结构中的数据,则所述目标数据对象绑定的锁为所述目标数据对象所属根节点的数据对象的锁;以及
基于所述钥匙标识信息和所述锁标识信息进行匹配,具体包括:
确定所述钥匙标识信息对应的时间范围信息与所述锁标识信息对应的时间范围信息;
若所述目标数据对象所属节点为所述根节点,则当确定所述钥匙标识信息对应的时间范围与所述锁标识信息对应的时间范围一致时,确定匹配成功;和/或
若所述目标数据对象所属节点为非根节点,则当确定所述钥匙标识信息对应的时间范围与所述锁标识信息对应的时间范围一致、且所述目标数据对象对应的时间包含于所述锁标识信息对应的时间范围内时,确定匹配成功。
7.如权利要求6所述的方法,其特征在于,所述锁标识信息对应的时间范围包括固定时间范围和相对时间范围;以及
若所述目标数据对象绑定的锁为固定时间范围锁,则通过以下方式对所述根节点的数据对象绑定所述固定时间范围锁:
对所述根节点中在所述固定时间范围内的数据对象绑定所述固定时间范围锁;
若所述目标数据对象绑定的锁为相对时间范围锁,则通过以下方式对所述根节点的数据对象绑定所述相对时间范围锁:
基于初始相对时间范围的初始起始时间和偏移确定目标起始时间;
基于所述目标起始时间和设定时间长度确定目标结束时间;
基于所述目标起始时间和所述目标结束时间确定所述相对时间范围;
确定所述根节点中与所述目标起始时间相匹配的第一条数据,对所述第一条数据绑定所述相对时间范围锁;或者
基于所述根节点设置的基准时间和偏移确定所述相对时间范围的起始时间;
基于所述起始时间和所述设定时间长度确定所述相对时间范围的结束时间;
基于所述起始时间和所述结束时间确定所述相对时间范围;
对所述根节点的在所述相对时间范围内的数据对象绑定所述相对时间范围锁。
8.如权利要求1所述的方法,其特征在于,在基于所述钥匙标识信息和所述锁标识信息进行匹配之前,还包括:
确定所述目标数据对象绑定的锁的空间区域类型与所述钥匙的空间区域类型一致。
9.如权利要求1所述的方法,其特征在于,在接收账户对目标数据对象的访问操作请求之前,还包括:
对设定管理账户分配安全配置钥匙,以由所述设定管理账户基于所述安全配置钥匙为其他账户分配钥匙以及为需要保护的数据对象分配锁,其中,所述安全配置钥匙表征具有为其他账户分配钥匙的权限。
10.如权利要求9所述的方法,其特征在于,所述设定管理账户在基于所述安全配置钥匙为其他账户分配钥匙时,将钥匙信息分配至设置的各角色,每一角色包含的账户则绑定所述角色对应的各钥匙信息;和/或,所述设定管理账户基于所述安全配置钥匙对其他账户绑定相应的钥匙信息。
11.如权利要求9所述的方法,其特征在于,所述设定管理账户基于所述安全配置钥匙为其他账户分配的钥匙数量为多个。
12.一种安全权限控制装置,其特征在于,包括:
接收单元,用于接收账户对目标数据对象的访问操作请求,所述访问操作请求中携带有所述账户绑定的钥匙信息,其中,所述钥匙信息至少包含所述钥匙标识信息,所述钥匙表征具有的操作权限对象;
匹配控制单元,基于所述钥匙标识信息和所述锁标识信息进行匹配,根据匹配结果对所述目标数据对象进行安全权限控制,所述锁表征被保护的操作权限对象。
13.一种电子设备,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现如权利要求1~11任一项所述的安全权限控制方法。
14.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现如权利要求1~11任一项所述的安全权限控制方法中的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211194396.9A CN115525889B (zh) | 2022-09-28 | 2022-09-28 | 一种安全权限控制方法、装置、电子设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211194396.9A CN115525889B (zh) | 2022-09-28 | 2022-09-28 | 一种安全权限控制方法、装置、电子设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN115525889A true CN115525889A (zh) | 2022-12-27 |
CN115525889B CN115525889B (zh) | 2023-08-01 |
Family
ID=84700336
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211194396.9A Active CN115525889B (zh) | 2022-09-28 | 2022-09-28 | 一种安全权限控制方法、装置、电子设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115525889B (zh) |
Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20160371905A1 (en) * | 2013-07-05 | 2016-12-22 | Assa Abloy Ab | Access control communication device, method, computer program and computer program product |
CN106709354A (zh) * | 2016-10-24 | 2017-05-24 | 北京亚控科技发展有限公司 | 一种可组态管控一体化平台的安全空间构造方法及系统 |
WO2018095326A1 (zh) * | 2016-11-22 | 2018-05-31 | 中兴通讯股份有限公司 | 访问权限的确定方法和装置、终端 |
CN109086597A (zh) * | 2018-07-12 | 2018-12-25 | 百富计算机技术(深圳)有限公司 | 密钥访问方法、密钥管理方法、存储介质及计算机设备 |
CN111935094A (zh) * | 2020-07-14 | 2020-11-13 | 北京金山云网络技术有限公司 | 数据库访问方法、装置、系统及计算机可读存储介质 |
CN112637214A (zh) * | 2020-12-24 | 2021-04-09 | 北京金山云网络技术有限公司 | 资源访问方法、装置及电子设备 |
CN113010911A (zh) * | 2021-02-07 | 2021-06-22 | 腾讯科技(深圳)有限公司 | 一种数据访问控制方法、装置及计算机可读存储介质 |
CN113609221A (zh) * | 2021-07-27 | 2021-11-05 | 卓尔智联(武汉)研究院有限公司 | 数据存储方法、数据访问方法、装置和存储介质 |
CN114039753A (zh) * | 2021-10-27 | 2022-02-11 | 中国联合网络通信集团有限公司 | 一种访问控制方法、装置、存储介质及电子设备 |
-
2022
- 2022-09-28 CN CN202211194396.9A patent/CN115525889B/zh active Active
Patent Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20160371905A1 (en) * | 2013-07-05 | 2016-12-22 | Assa Abloy Ab | Access control communication device, method, computer program and computer program product |
CN106709354A (zh) * | 2016-10-24 | 2017-05-24 | 北京亚控科技发展有限公司 | 一种可组态管控一体化平台的安全空间构造方法及系统 |
WO2018095326A1 (zh) * | 2016-11-22 | 2018-05-31 | 中兴通讯股份有限公司 | 访问权限的确定方法和装置、终端 |
CN109086597A (zh) * | 2018-07-12 | 2018-12-25 | 百富计算机技术(深圳)有限公司 | 密钥访问方法、密钥管理方法、存储介质及计算机设备 |
CN111935094A (zh) * | 2020-07-14 | 2020-11-13 | 北京金山云网络技术有限公司 | 数据库访问方法、装置、系统及计算机可读存储介质 |
CN112637214A (zh) * | 2020-12-24 | 2021-04-09 | 北京金山云网络技术有限公司 | 资源访问方法、装置及电子设备 |
CN113010911A (zh) * | 2021-02-07 | 2021-06-22 | 腾讯科技(深圳)有限公司 | 一种数据访问控制方法、装置及计算机可读存储介质 |
CN113609221A (zh) * | 2021-07-27 | 2021-11-05 | 卓尔智联(武汉)研究院有限公司 | 数据存储方法、数据访问方法、装置和存储介质 |
CN114039753A (zh) * | 2021-10-27 | 2022-02-11 | 中国联合网络通信集团有限公司 | 一种访问控制方法、装置、存储介质及电子设备 |
Also Published As
Publication number | Publication date |
---|---|
CN115525889B (zh) | 2023-08-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110096857B (zh) | 区块链系统的权限管理方法、装置、设备和介质 | |
US7673323B1 (en) | System and method for maintaining security in a distributed computer network | |
RU2598324C2 (ru) | Средства управления доступом к онлайновой службе с использованием внемасштабных признаков каталога | |
US8429191B2 (en) | Domain based isolation of objects | |
Chander et al. | A State-Transition Model of Trust Management and Access Control. | |
EP0697662A1 (en) | Method and system for advanced role-based access control in distributed and centralized computer systems | |
CN110990150A (zh) | 容器云平台的租户管理方法、系统、电子设备及存储介质 | |
CN103701801A (zh) | 一种资源访问控制方法 | |
US20080034438A1 (en) | Multiple hierarchy access control method | |
CN111259378B (zh) | 多租户管理系统和多租户管理系统的实现方法 | |
US20040268125A1 (en) | Method, system and computer program for managing user authorization levels | |
JP2005031834A (ja) | データ配置に制限を設けるデータ処理方法、記憶領域制御方法、および、データ処理システム。 | |
JP2006099779A (ja) | 権限管理 | |
CN107402821A (zh) | 共享资源的访问控制方法、装置和设备 | |
CN113067871A (zh) | 一种基于区块链技术的数字档案管理方法 | |
CN107133278A (zh) | 一种基于虚拟桌面环境的文档管理控制方法 | |
CN100574210C (zh) | 一种基于无等级角色间映射的访问控制方法 | |
CN108846755A (zh) | 一种基于智能合约的权限管理方法及装置 | |
CN112597511A (zh) | 一种政务服务远程协同方法及装置 | |
TW200426619A (en) | System and method for controlling database authorization | |
CN113255000A (zh) | 数据访问控制方法、装置、电子设备及可读存储介质 | |
CN116800541A (zh) | 一种航班运行数据分类分级访问控制及访问方法 | |
CN115525889B (zh) | 一种安全权限控制方法、装置、电子设备及存储介质 | |
CN115378635B (zh) | 一种基于角色的系统间跨域访问控制方法及平台 | |
JP4723930B2 (ja) | 複合的アクセス認可方法及び装置 |
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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |