一种可用于数据库强制访问的方法和装置
文献发布时间:2023-06-19 19:16:40
技术领域
本发明涉及数据库技术领域,具体涉及一种可用于数据库强制访问控制的方法和装置。
背景技术
数据库中通常采用自主访问控制(Discretionary Access Control,DAC)的方法进行权限控制。这种控制方法是指对某个客体具有拥有权(或控制权)的主体能够将对该客体的一种访问权或多种访问权自主地授予其它主体,并在随后的任何时刻将这些权限回收。这种控制是自主的,也就是指具有授予某种访问权力的主体(用户)能够自己决定是否将访问控制权限的某个子集授予其他的主体或从其他主体回收他所授予的访问权限。例如OpenGauss数据库就采用一种基于角色的访问控制方法(Role-Based Access Control,RBAC)来保护数据。这种方法的优点是灵活、易用,具备可扩展性,但系统无法控制,具备较大的安全隐患。
发明内容
针对现有技术中的缺陷,本发明提供一种可用于数据库强制访问控制的方法。
一方面,一种可用于数据库强制访问控制的方法,包括:接收用户触发的数据库访问请求;基于所述数据库访问请求确定获取访问信息,根据所述访问信息获取标记信息,所述标记信息包括用户标记和访问对象标记;根据所述标记信息获取转换函数并对所述标记信息进行转换,得到等级信息,所述等级信息包括用户等级和访问对象等级;根据所述用户等级和访问对象等级进行强制访问控制。
另一方面,一种可用于数据库强制访问控制的装置,包括:获取模块,用于接收用户触发的数据库访问请求;确定模块,用于基于所述数据库访问请求确定获取访问信息,根据所述访问信息获取标记信息,所述标记信息包括用户标记和访问对象标记;转换模块,用于根据所述标记信息获取转换函数并对所述标记信息进行转换,得到等级信息,所述等级信息包括用户等级和访问对象等级;访问控制模块,用于根据所述用户等级和访问对象等级进行强制访问控制。
本发明的有益效果体现在:本发明提供了一种可用于数据库强制访问控制的方法,将用户的访问权限进行了更加细粒度地划分,可实现更安全的强制访问控制。
附图说明
为了更清楚地说明本发明具体实施方式或现有技术中的技术方案,下面将对具体实施方式或现有技术描述中所需要使用的附图作简单地介绍。在所有附图中,类似的元件或部分一般由类似的附图标记标识。附图中,各元件或部分并不一定按照实际的比例绘制。
图1为本发明实施例提供的一种可用于数据库强制访问控制的方法的流程图;
图2为本发明实施例提供的一种可用于数据库强制访问控制的装置的结构图。
具体实施方式
下面将结合附图对本发明技术方案的实施例进行详细的描述。以下实施例仅用于更加清楚地说明本发明的技术方案,因此只作为示例,而不能以此来限制本发明的保护范围。
需要注意的是,除非另有说明,本申请使用的技术术语或者科学术语应当为本发明所属领域技术人员所理解的通常意义。
实施例一
图1为本公开实施例中的一种可用于数据库强制访问控制的方法的流程图,该方法包括:
步骤一:接收用户触发的数据库访问请求;
具体的,用户在客户端上触发访问数据库的请求,所述客户端包括但不限于平板、计算机。
步骤二:基于所述数据库访问请求确定获取访问信息,根据所述访问信息获取标记信息,所述标记信息包括用户标记和访问对象标记;
具体的,在接收到客户端发送的访问请求后,基于所述数据库访问请求确定获取访问信息,根据所述访问信息获取标记信息,包括:对所述访问请求进行解析,获取访问信息;从所述访问信息中提取用户身份信息和访问对象身份信息,根据所述用户身份信息判断所述用户是否为授权用户并根据所述访问对象信息判断访问对象是否为可访问对象;在所述用户为授权用户且所述访问对象为可访问对象时,获取标记信息。
其中,对所述访问请求进行解析的为现有技术,在本发明实施例中不做赘述,在解析过程中,若无法获取完全的访问信息,数据服务器则驳回请求,并将驳回请求返回给客户端。
还需要说明的,根据所述用户身份信息判断所述用户是否为授权用户并根据所述访问对象信息判断访问对象是否为可访问对象包括:从所述用户身份信息中获取用户标识并判断所述用户标识是否在授权列表中;在所述用户标识在授权列表中时,从所述授权列表中获取多个与所述标识关联且与所述用户身份信息中的认证子项对应的授权子项;根据所述认证子项和所述授权子项判断用户是否为授权用户;从所述访问对象信息中获取访问标识并判断所述访问对象标识是否在于可访问列表中;在所述访问对象标识存在于访问列表中时,判断所述访问对象为可访问对象。
其中,所述授权子项包括但不限于手机号、用ID等,需要验证的授权子项的数量可根据用户需求设置,在本发明实施例中不做限制。
步骤三:根据所述标记信息获取转换函数并对所述标记信息进行转换,得到等级信息,所述等级信息包括用户等级和访问对象等级;
具体的,所述标记信息包括用户等级标记、对象等级标记、用户等级标记参数。
在本发明实施例中,根据所述标记信息获取转换函数并对所述标记信息进行转换,得到等级信息包括:根据所述用户等级标记参数从第一函数库中获取第一转换函数;根据所述第一转换函数对用户等级标记进行转换,得到用户等级;根据所述用户等级从第二函数库中获取第二转换函数;根据所述第二转换函数对所述标记信息进行转换,得到访问对象等级。
采用用户等级参数确定第一转换函数,可组合排列出大量的用户标记,在保证用户安全性的同时能够提高用户容量,并且根据用户等级获取第二转换函数,可实现同一等级访问对象对不同用户的等级动态更新,进一步提高访问安全。
步骤四:根据所述用户等级和访问对象等级进行强制访问控制。
在本发明实施例中,所述用户等级和所述访问对象等级均包括两个等级子项,每个等级子项用于标识一类安全等级,例如,脆弱性,资产重要性等,其具体的标识类别在本发明实施例不做限制。
在本发明实施例中,根据所述用户等级和访问对象等级进行强制访问控制包括:根据所述用户等级中的两个等级子项和所述访问对象等级中的两个等级子项确定强制访问控制等级并进行强制访问控制。
具体的,根据两个等级子项的权重确定目标用户等级和目标访问对象等级,当所述目标用户等级大于目标访问对象等级时进行强制访问控制,或者,所述用户等级中的两个等级子项均大于所述访问对象等级中的两个等级子项时进行强制控制访问。
具体的,根据所述用户等级中的两个等级子项和所述访问对象等级中的两个等级子项在预设的等级图中的映射的封闭区域,确定强制访问控制等级,获取封闭区域内的多个数,根据多个数中大于预设阈值的数的数量确定访问控制等级。
其中,所述访问控制等级可以包括权限逐渐减小的一级访问控制、二级访问控制、三级访问控制。具体的,一级强制访问控制例如是对查询数据、插入数据、更新数据、修改数据、增加数据或删除数据,数据例如是表中的记录或表。例如,一级强制访问控制可以包括对数据进行所有类型的控制或操作。
综上,本发明提供了一种可用于数据库强制访问控制的方法,将用户的访问权限进行了更加细粒度地划分,可实现更安全的强制访问控制。
实施例二
如图2所示,本发明实施例提供了一种可用于数据库强制访问控制的装置,包括:获取模块,用于接收用户触发的数据库访问请求;确定模块,用于基于所述数据库访问请求确定获取访问信息,根据所述访问信息获取标记信息,所述标记信息包括用户标记和访问对象标记;转换模块,用于根据所述标记信息获取转换函数并对所述标记信息进行转换,得到等级信息,所述等级信息包括用户等级和访问对象等级;访问控制模块,用于根据所述用户等级和访问对象等级进行强制访问控制。
应当理解,本发明实施例所提供的一种可用于数据库强制访问控制的装置与上述实施例中所提高的一种可用于数据库强制访问控制的方法出于相同的发明构思,关于本发明实施例中各个模块更加具体的工作原理参考上述实施例,在本发明实施例中不做赘述。
最后应说明的是:以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围,其均应涵盖在本发明的权利要求和说明书的范围当中。
- 一种数据库访问方法和装置
- 一种数据库访问的控制方法、装置及电子设备
- 数据库的强制访问控制方法和装置
- 一种在内容数据库中进行强制访问控制的方法及系统