本技术涉及计算机,具体而言,本技术涉及一种基于角色与属性混合的数据库访问控制方法、装置、电子设备及存储介质。
背景技术:
1、随着信息技术的飞速发展和广泛应用,企业、政府及其他组织对于数据的安全性和访问控制的需求日益增加。传统的访问控制方法,如自主访问控制(dac)和强制访问控制(mac),已逐渐难以满足复杂多变的业务需求和安全要求。dac虽然灵活,但难以实施统一的安全策略;而mac虽然严格,但配置复杂且难以适应动态变化的环境。
2、在此背景下,基于角色的访问控制(rbac)因其灵活性和易于管理的特性,逐渐成为访问控制领域的主流技术。rbac通过将用户分配到不同的角色中,每个角色被赋予一组预定义的权限,从而实现对用户访问权限的集中管理。然而,随着应用场景的复杂化,单纯依赖角色的rbac模型在某些情况下显得不够细致和灵活,特别是在需要基于用户或资源的动态属性进行访问控制时;与此同时,基于属性的访问控制(abac)作为一种新兴的访问控制模型,通过引入属性这一维度,使得访问控制策略能够更加精细和动态。abac根据用户、资源及环境的实时属性来评估用户的访问权限,极大地提高了访问控制的灵活性和适应性。然而,abac也存在配置复杂、管理成本高等问题,且在某些情况下可能难以直观理解和管理。
3、鉴于上述问题,如何提高数据访问的安全性和访问效率仍有待解决。
技术实现思路
1、本技术各提供了一种基于角色与属性混合的数据库访问控制方法、装置、电子设备及存储介质,可以解决相关技术中存在的数据访问的安全性和访问效率不高的问题。所述技术方案如下:
2、根据本技术的一个方面,一种基于角色与属性混合的数据库访问控制方法,包括:调取需要进行访问对应的目标数据库,将所述目标数据库中的数据按照业务需求和安全策略进行细粒度划分,其中,每个数据项或数据集合分配唯一的标识符和相应的访问权限;在目标用户访问目标数据库时,基于目标用户的角色、属性以及预设的安全策略,计算目标用户对应的访问权限;在用户尝试访问数据库资源时,验证对应的访问权限是否符合要求,并根据验证结果决定是否授权访问,若验证成功,则授权目标用户进行访问。
3、在一示例性实施例中,在所述验证对应的访问权限是否符合要求的过程中,方法还包括:
4、调取目标用户,若目标用户有多个角色身份,基于其中身份最高的所述角色身份确定目标访问数据;
5、判断目标用户的其他所述角色身份是否与所述目标访问数据存在权限冲突;
6、若不存在,则调取目标访问数据显示于所述目标用户。
7、在一示例性实施例中,方法还包括:
8、若目标用户的其他所述角色身份与所述目标访问数据存在权限冲突,确定冲突角色属性;
9、调取优先权数据,其中,优先权数据是用于在冲突发生时自动选择优先级更高的权限或条件;
10、基于所述目标用户最高的所述角色身份,确定最高访问权限;
11、基于所述最高访问权限与冲突角色属性在所述优先级数据的优先级,若最高访问权限的优先权高于所述冲突角色属性的优先级,则确定可以进行访问,否则不能进行访问目标数据库的数据。
12、在一示例性实施例中,所述计算目标用户对应的访问权限的过程中,方法还包括:
13、调取权限计算模型,其中,权限计算模型的训练过程包括:获取各种角色对应的角色数据,每种角色数据对应的各类属性数据,一个用户可以包括多种角色数据,一个所述角色数据对应多个属性数据,每个属性数据都对应有预设的访问权限,基于角色数据、属性数据以及访问权限之间的映射关系确定训练数据集,将所述训练数据集输入计算训练模型中,待所述计算训练模型训练收敛,确定对应的权限计算模型;
14、基于所述目标用户确定对应的目标角色数据以及目标属性数据;
15、将所述目标角色数据以及所述目标属性数据输入权限计算模型确定对应的访问权限。
16、在一示例性实施例中,所述方法还包括:
17、调取预设的安全策略;
18、基于接收到的修改策略并确定输入修改策略的权限级别;
19、基于所述权限级别判断是否对安全策略进行修改,若满足,则基于所述修改策略对所述安全策略进行修改。
20、在一示例性实施例中,在每次修改所述安全策略或者修改角色对应的访问权限后,所述方法还包括:
21、调取所述权限计算模型,将修改后的所述安全策略或者角色对应的访问权限输入到权限计算模型训练。
22、在一示例性实施例中,若目标用户需进行强制访问,所述方法还包括:
23、获取所述目标用户的执行工作数据;
24、基于所述执行工作数据对应的工作属性,基于所述工作数据判断是否对应为特殊属性;
25、若是,则授权目标用户进行强制访问对应的数据。
26、根据本技术的一个方面,一种基于角色与属性混合的数据库访问控制装置,包括:
27、数据调取模块,用于调取需要进行访问对应的目标数据库,将所述目标数据库中的数据按照业务需求和安全策略进行细粒度划分,其中,每个数据项或数据集合分配唯一的标识符和相应的访问权限;
28、访问权限计算模块,在目标用户访问目标数据库时,基于目标用户的角色、属性以及预设的安全策略,用于计算目标用户对应的访问权限;
29、授权模块,在用户尝试访问数据库资源时,验证对应的访问权限是否符合要求,并根据验证结果决定是否授权访问,若验证成功,则用于授权目标用户进行访问。
30、根据本技术的一个方面,一种电子设备,包括至少一个处理器以及至少一个存储器,其中,所述存储器上存储有计算机可读指令;所述计算机可读指令被一个或多个所述处理器执行,使得电子设备实现如上所述的基于角色与属性混合的数据库访问控制方法。
31、根据本技术的一个方面,一种存储介质,其上存储有计算机可读指令,所述计算机可读指令被一个或多个处理器执行,以实现如上所述的基于角色与属性混合的数据库访问控制方法。
32、根据本技术的一个方面,一种计算机程序产品,计算机程序产品包括计算机可读指令,计算机可读指令存储在存储介质中,电子设备的一个或多个处理器从存储介质读取计算机可读指令,加载并执行该计算机可读指令,使得电子设备实现如上所述的基于角色与属性混合的数据库访问控制方法。
33、本技术提供的技术方案带来的有益效果是:
34、在上述技术方案中,可以先调取需要进行访问对应的目标数据库,将目标数据库中的数据按照业务需求和安全策略进行细粒度划分;在目标用户访问目标数据库时,基于目标用户的角色、属性以及预设的安全策略,计算目标用户对应的访问权限;在用户尝试访问数据库资源时,验证对应的访问权限是否符合要求,并根据验证结果决定是否授权访问,若验证成功,则授权目标用户进行访问。通过上述方案,可以实现对用户访问权限的双重控制。这种双重控制不仅保留了rbac在角色分配和权限聚合上的便捷性,还充分利用了abac在基于用户、资源和环境属性进行动态评估的能力。因此,能够根据实际业务场景和需求,灵活调整访问控制策略,适应复杂多变的环境,从而能够有效地解决相关技术中存在的数据访问的安全性和访问效率不高的问题。
1.一种基于角色与属性混合的数据库访问控制方法,其特征在于,包括:
2.如权利要求1所述的方法,其特征在于,在所述验证对应的访问权限是否符合要求的过程中,方法还包括:
3.如权利要求2所述的方法,其特征在于,其中,方法还包括:
4.如权利要求1所述的方法,其特征在于,所述计算目标用户对应的访问权限的过程中,方法还包括:
5.如权利要求4所述的方法,其特征在于,所述方法还包括:
6.如权利要求5所述的方法,其特征在于,在每次修改所述安全策略或者修改角色对应的访问权限后,所述方法还包括:
7.如权利要求1所述的方法,其特征在于,若目标用户需进行强制访问,所述方法还包括:
8.一种基于角色与属性混合的数据库访问控制装置,其特征在于,包括:
9.一种电子设备,其特征在于,包括:至少一个处理器以及至少一个存储器,其中,
10.一种存储介质,其上存储有计算机可读指令,其特征在于,所述计算机可读指令被一个或多个处理器执行,以实现如权利要求1至7中任一项所述的基于角色与属性混合的数据库访问控制方法。