CN117910036A - 数据库的访问方法、装置、电子设备和存储介质 - Google Patents
数据库的访问方法、装置、电子设备和存储介质 Download PDFInfo
- Publication number
- CN117910036A CN117910036A CN202311865018.3A CN202311865018A CN117910036A CN 117910036 A CN117910036 A CN 117910036A CN 202311865018 A CN202311865018 A CN 202311865018A CN 117910036 A CN117910036 A CN 117910036A
- Authority
- CN
- China
- Prior art keywords
- database
- access
- security management
- access instruction
- execution result
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 64
- 238000012550 audit Methods 0.000 claims abstract description 17
- 238000004891 communication Methods 0.000 claims abstract description 6
- 238000007726 management method Methods 0.000 claims description 104
- 238000011217 control strategy Methods 0.000 claims description 41
- 230000005540 biological transmission Effects 0.000 claims description 19
- 238000012545 processing Methods 0.000 claims description 13
- 238000004590 computer program Methods 0.000 claims description 8
- 230000006399 behavior Effects 0.000 claims description 7
- 238000012795 verification Methods 0.000 claims description 7
- 230000008569 process Effects 0.000 description 11
- 238000010586 diagram Methods 0.000 description 6
- 238000013507 mapping Methods 0.000 description 6
- 239000000243 solution Substances 0.000 description 5
- 101000716310 Homo sapiens Protein sidekick-2 Proteins 0.000 description 3
- 101800000618 Protein kinase C delta type catalytic subunit Proteins 0.000 description 3
- 102100021004 Protein sidekick-1 Human genes 0.000 description 3
- 102100021005 Protein sidekick-2 Human genes 0.000 description 3
- 239000003795 chemical substances by application Substances 0.000 description 2
- 230000002265 prevention Effects 0.000 description 2
- 230000006978 adaptation Effects 0.000 description 1
- 238000012217 deletion Methods 0.000 description 1
- 230000037430 deletion Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 230000036541 health Effects 0.000 description 1
- 238000002347 injection Methods 0.000 description 1
- 239000007924 injection Substances 0.000 description 1
- 238000002955 isolation Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
Landscapes
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本申请提供的数据库的访问方法、装置、电子设备和存储介质,属于网络安全技术领域,所述方法包括:接收应用服务端中代理节点发送的数据库访问请求,所述数据库访问请求至少包括:访问指令、数据库标识,其中,每个所述代理节点与一个所述数据库网关通信连接;在对所述代理节点的安全审核通过之后,将所述访问指令发送至所述数据库标识相对应的数据库,获取所述数据库对于所述访问指令的执行结果;将所述执行结果发送至所述代理节点。
Description
技术领域
本申请属于网络安全技术领域,特别涉及一种数据库的访问方法、装置、电子设备和存储介质。
背景技术
随着应用服务的发展,提供应用服务所需的数据量也越来越大,这就需要应用服务端将数据转存在数据库进行存储,大量的数据存储在数据库,数据库的安全性就变得尤为重要。
通常情况下,应用服务端若需访问数据库,则需要获知所需访问数据库的地址、IP、访问用户名、密码等等数据库的实际信息,这就导致数据库的实际信息被暴露在外,若实际信息被非法获取,则给数据所有方造成重大损失,难以保证数据库访问的安全性。
发明内容
本申请提供了一种数据库的访问方法、装置、电子设备和存储介质。
本申请一些实施例提供一种数据库的访问方法,应用于数据库网关,所述方法包括:
接收应用服务端中代理节点发送的数据库访问请求,所述数据库访问请求至少包括:访问指令、数据库标识,其中,每个所述代理节点与一个所述数据库网关通信连接;
在对所述代理节点的安全审核通过之后,将所述访问指令发送至所述数据库标识相对应的数据库,获取所述数据库对于所述访问指令的执行结果;
将所述执行结果发送至所述代理节点。
可选地,所述数据库访问请求还包括:所述代理节点的身份令牌;
在所述在对所述代理节点的安全审核通过之后,将所述访问指令发送至所述数据库标识相对应的数据库,获取所述数据库对于所述访问指令的执行结果之前,所述方法还包括:
将所述身份令牌发送至安全管控中心进行验证;
在所述安全管控中心对所述身份令牌验证不通过时,向所述代理节点发送访问失败通知;
在所述安全管控中心对所述身份令牌验证通过时,从所述安全管控中心获取所述应用服务端的应用信息和用户信息。
可选地,在所述从所述安全管控中心获取所述应用服务端的应用信息和用户信息之后,所述方法还包括:
获取与所述应用信息和所述用户信息相匹配的安全管控策略;
所述将所述访问指令发送至所述数据库标识相对应的数据库,包括:
在所述访问指令符合所述安全管控策略时,将所述访问指令发送至所述数据库标识相对应的数据库;
所述将所述执行结果发送至所述代理节点,包括:
在所述执行结果符合所述安全管控策略时,向所述应用服务端中代理节点发送所述执行结果。
可选地,在所述获取与所述应用信息和所述用户信息相匹配的安全管控策略之后,所述方法还包括:
在所述访问指令不符合所述安全管控策略时,将所述访问指令重写为符合所述安全管控策略的形式。
可选地,所述获取与所述应用信息和所述用户信息相匹配的安全管控策略,包括:
查询与所述应用信息和所述用户信息中目标字段相匹配的安全管控策略,其中,所述目标字段包括:脚本类型、脚本名、执行行为、应用ID、用户ID中的至少一种。
可选地,所述在所述访问指令符合所述安全管控策略时,将所述访问指令发送至所述数据库标识相对应的数据库之前,所述方法还包括:
判断所述访问指令中第一字段的内容是否符合所述安全管控策略;
所述在所述执行结果符合所述安全管控策略时,向所述应用服务端中代理节点发送所述执行结果之前,所述方法还包括:
判断所述执行结果中第二字段的内容是否符合所述安全管控策略。
可选地,所述将所述访问指令发送至所述数据库标识相对应的数据库,包括:
按照所述数据库所遵循的目标传输协议对所述访问请求进行封装,将封装后的访问请求发送至所述数据库;
所述获取所述数据库对于所述访问指令的执行结果,包括:
接收所述数据库基于所述访问指令发送数据包,按照所述目标传输协议对所述数据包进行解封装,得到执行结果。
本申请一些实施例提供一种数据库的访问装置,应用于数据库网关,所述装置包括:
接收模块,用于接收应用服务端中代理节点发送的数据库访问请求,所述数据库访问请求至少包括:访问指令、数据库标识,其中,每个所述代理节点与一个所述数据库网关通信连接;
安全模块,用于在对所述代理节点的安全审核通过之后,将所述访问指令发送至所述数据库标识相对应的数据库,获取所述数据库对于所述访问指令的执行结果;
发送模块,用于将所述执行结果发送至所述代理节点。
可选地,所述数据库访问请求还包括:所述代理节点的身份令牌;
所述安全模块,还用于:
将所述身份令牌发送至安全管控中心进行验证;
在所述安全管控中心对所述身份令牌验证不通过时,向所述代理节点发送访问失败通知;
在所述安全管控中心对所述身份令牌验证通过时,从所述安全管控中心获取所述应用服务端的应用信息和用户信息。
可选地,所述安全模块,还用于:
获取与所述应用信息和所述用户信息相匹配的安全管控策略;
在所述访问指令符合所述安全管控策略时,将所述访问指令发送至所述数据库标识相对应的数据库;
在所述执行结果符合所述安全管控策略时,向所述应用服务端中代理节点发送所述执行结果。
可选地,所述安全模块,还用于:
在所述访问指令不符合所述安全管控策略时,将所述访问指令重写为符合所述安全管控策略的形式。
可选地,所述安全模块,还用于:
查询与所述应用信息和所述用户信息中目标字段相匹配的安全管控策略,其中,所述目标字段包括:脚本类型、脚本名、执行行为、应用ID、用户ID中的至少一种。
可选地,所述安全模块,还用于:
判断所述访问指令中第一字段的内容是否符合所述安全管控策略;
判断所述执行结果中第二字段的内容是否符合所述安全管控策略。
可选地,所述发送模块,还用于:
按照所述数据库所遵循的目标传输协议对所述访问请求进行封装,将封装后的访问请求发送至所述数据库;
接收所述数据库基于所述访问指令发送数据包,按照所述目标传输协议对所述数据包进行解封装,得到执行结果。
本申请一些实施例提供一种计算处理设备,包括:
存储器,其中存储有计算机可读代码;
一个或多个处理器,当所述计算机可读代码被所述一个或多个处理器执行时,所述计算处理设备执行如上述所述的数据库的访问方法。
本申请一些实施例提供一种计算机程序,包括计算机可读代码,当所述计算机可读代码在计算处理设备上运行时,导致所述计算处理设备执行如上述的数据库的访问方法。
本申请一些实施例提供一种非瞬态计算机可读介质,其中存储了如上述的数据库的访问方法。
本申请一些实施例提供的数据库的访问方法、装置、电子设备和存储介质,通过利用设置在应用服务端中的代理节点来与连接有数据库的数据库网关连接,从而应用服务端可选择通过调用不同代理节点的接口向所需访问数据库对应的网关节点发送访问请求,通过在访问请求中携带数据库标识来使得数据库网关在代理节点安全审核通过之后,将访问指令发送给数据库标识对应的数据库以使得数据库反馈对于访问指令的执行结果,实现了应用服务端在未知晓所需访问数据库的实际信息的情况下,完成对于数据库的访问过程,避免了数据库的实际信息暴露在外容易被泄露的风险,提高了数据库访问的安全性。
上述说明仅是本申请技术方案的概述,为了能够更清楚了解本申请的技术手段,而可依照说明书的内容予以实施,并且为了让本申请的上述和其它目的、特征和优点能够更明显易懂,以下特举本申请的具体实施方式。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1示意性地示出了本申请一些实施例提供的一种数据库的访问方法的流程示意图;
图2示意性地示出了本申请一些实施例提供的一种数据库的访问系统的架构示意图;
图3示意性地示出了本申请一些实施例提供的另一种数据库的访问系统的架构示意图;
图4示意性地示出了本申请一些实施例提供的一种数据库的访问系统的流程示意图;
图5示意性地示出了本申请一些实施例提供的一种数据库的访问系统的软件示意图;
图6示意性地示出了本申请一些实施例提供的一种数据库的访问方法的传输示意图;
图7示意性地示出了本申请一些实施例提供的一种数据库的访问装置的结构示意图;
图8示意性地示出了用于执行根据本申请一些实施例的方法的计算处理设备的框图;
图9示意性地示出了用于保持或者携带实现根据本申请一些实施例的方法的程序代码的存储单元。
具体实施方式
为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
图1示意性地示出了本申请提供的一种数据库的访问方法的流程示意图,应用于数据库网关,所述方法包括:
步骤101,接收应用服务端中代理节点发送的数据库访问请求,所述数据库访问请求至少包括:访问指令、数据库标识,其中,每个所述代理节点与一个所述数据库网关通信连接。
需要说明的是,应用服务端是用于向客户端提供业务服务数据的服务器,代理节点设置在应用服务端中的SDK(Software Development Kit,软件开发工具包),该SDK向你应用服务端暴露有应用接口,以供应用服务端调用接口来访问数据库。数据库网关是设置在数据库侧的网关设备,用于承载数据库与应用服务端之间的数据传输。
在本申请实施例中,应用服务端在提供服务数据时,通常需要访问数据库中的数据来获取数据,此时应用服务端将调用代理节点的SDK接口,来指示SDK向应用服务端发送数据库访问请求。在调用SDK接口时,由于数据库网络可以与多个数据库连接,因此应用服务端需要向所调用的SDK接口中输入所需访问数据库标识,以及所需对数据库执行操作对应的访问指令,该数据库标识是用于唯一指示数据库的标识信息,标识信息仅是与数据库之间存在映射关系,与数据库的访问地址、数据库IP、用户名和密码等具体实际信息无关,从而保证数据库的实际信息不会被应用服务端直接获知,从而避免了数据库的实际信息暴露在外,导致数据库的实际信息泄露的风险。
值得说明的是,虽然每个数据库网关可以与多个数据库连接,但是每个SDK仅可与一个数据库网关连接,其中应用服务端中可以通过设置多个SDK来实现与多个数据库网关的连接,每个SDK负责访问所连接数据库网关对应的数据库。示例性的,参照图X,应用服务端中设置有SDK1和SDK2,SDK1与数据库1、数据库2连接,SDK2与数据库3连接,则应用服务端在需要访问数据库1或2时,可以通过调用SDK1来实现数据库访问过程,应用服务端在需要访问数据库3时,可以通过调用SDK2来实现数据库访问过程。通过这种方式,每个SDK在每次发送数据库访问请求时,仅需向所连接的数据库网关发送即可,即由于该目的地址是唯一,无需选取发送过程的目的地址,从而避免了在数据库访问过程中的寻址过程,避免了数据库的真实信息泄露的风险。
步骤102,在对所述代理节点的安全审核通过之后,将所述访问指令发送至所述数据库标识相对应的数据库,获取所述数据库对于所述访问指令的执行结果。
在本申请实施例中,数据库网关会对代理节点的身份信息、所发送访问指令的格式、类型、用户信息等等信息进行安全审核,例如对代理节点是否在数据库网关合法注册,代理节点所设置应用服务端的设备信息与注册信息是否一致,访问指令的类型是否对数据库存在删库、恶意访问等行为等等,具体的安全审核方式可以根据实际需求设置,此处不做限定。
在对代理节点的安全审核过程之后,数据库网关将在本地存储的数据库地址映射关系中,查询与访问请求中数据库标识相关联数据库地址,然后利用该数据库地址作为目的地址对访问指令进行封装包之后,发送到所查询到数据库地址对应的数据库,数据库基于访问指令对数据库中存储的数据执行对应的操作之后,将访问指令的执行结果反馈给数据库网关。例如提取数据库中的指定数据,将指定数据发送给数据库网关,或者是对数据库中的指定数据进行增删改查等操作,然后将执行结果发送给数据库网关等等。
步骤103,将所述执行结果发送至所述代理节点。
在本申请实施例中,数据库网关在接收到数据库反馈的执行结果之后,将依据访问请求对应的源地址作为目的地址,执行结果发送给应用服务端中的代理节点,代理节点再将该执行结果反馈给应用服务端,从而使得应用服务端在未知晓所需访问数据库的实际信息的情况下,完成对于数据库的访问过程。
本申请实施例通过利用设置在应用服务端中的代理节点来与连接有数据库的数据库网关连接,从而应用服务端可选择通过调用不同代理节点的接口向所需访问数据库对应的网关节点发送访问请求,通过在访问请求中携带数据库标识来使得数据库网关在代理节点安全审核通过之后,将访问指令发送给数据库标识对应的数据库以使得数据库反馈对于访问指令的执行结果,实现了应用服务端在未知晓所需访问数据库的实际信息的情况下,完成对于数据库的访问过程,避免了数据库的实际信息暴露在外容易被泄露的风险,提高了数据库访问的安全性。
可选地,所述数据库访问请求还包括:所述代理节点的身份令牌,在所述步骤102之前,所述方法还包括:
步骤201,将所述身份令牌发送至安全管控中心进行验证。
步骤202,在所述安全管控中心对所述身份令牌验证不通过时,向所述代理节点发送访问失败通知。
步骤203,在所述安全管控中心对所述身份令牌验证通过时,从所述安全管控中心获取所述应用服务端的应用信息和用户信息。
在本申请实施例中,安全管控中心是用于为代理节点注册登录服务的服务器。代理节点伴随应用服务端的启动而启动,在启动时将会获取应用服务端的相关信息,例如文件夹MD5以及主机的MAC、CPU ID等应用信息,然后将携带应用信息,给安全管控中心完成注册登录之后,代理节点将会向代理节点下发对应的身份令牌,从而使得代理节点再发送数据库访问请求时,可通过在数据库访问请求中携带该身份令牌来表明身份。数据库网关在接收到数据库访问请求之后,首先需要所携带的身份令牌发送至安全管控中心,安全管控中心将对该身份令牌进行验证,并向数据库网关发送验证结果。若身份令牌验证不通过,则数据库网关向应用服务端发送访问失败通知。若身份令牌验证通过,则数据库网关从安全管控中心获取之前预存在安全管控执行的应用信息和用户信息,以执行供执行后续的安全审核过程。
本申请实施例通过利用安全管控中心对代理节点的身份令牌进行颁发和验证,从而避免了非法节点访问数据库的情况出现,提高了数据库访问的安全性。
可选地,在所述步骤203之后,所述方法还包括:
步骤204,获取与所述应用信息和所述用户信息相匹配的安全管控策略。
在本申请实施例中,用户信息可以是用户ID、用户访问记录、用户权限等等,应用信息可以是应用ID、应用类型、应用权限等等。数据库网关将基于用户信息和应用信息为本次数据库访问行为匹配不同的安全管控策略。例如对于用户ID中包含有描述普通用户的字段时,可以通过设置访问次数上限来避免普通用户频繁访问数据库导致数据库负载过高,而对于用户ID中包含有描述高级用户的字段时,可以通过设置相较于普通用户更高的访问次数上限,或者是不限制访问此处;对于应用类型为信息咨询类型时,可以通过禁止该应用对数据库进行增删改操作,来避免仅需获取数据的应用对数据库进行更改,对于应用类型为管理类型时,可以通过设置删除权限,来避免管理应用的误操作导致数据库删库的情况出现。当然此处仅是示例性描述,具体的安全管控策略的匹配方式可以根据实际需求设置,此处不做限定。
本申请实施例通过依据不同的应用信息和用户信息为数据库访问行为匹配不同的安全管控策略,从而使得安全管控策略可以适应于场景变化进行灵活调整,提高了数据库访问的安全性。
所述步骤102,包括:
步骤1021在所述访问指令符合所述安全管控策略时,将所述访问指令发送至所述数据库标识相对应的数据库。
所述步骤103,包括:
步骤1031,在所述执行结果符合所述安全管控策略时,向所述应用服务端中代理节点发送所述执行结果。
在本申请实施例中,安全管控策略不仅是对所述访问指令的限制,也包含有对于执行结果的限制。数据库网关获取到访问指令之后,可以通过安全管控策略对访问指令的格式、指令类型、指令频次等信息进行限制,例如访问指令的格式需要符合安全管控策略规定的格式,指令频次需要小于指令频次阈值等等,具体可以根据实际需求设置,此处不做限定。在访问指令符合安全管控策略时才会将其发送给数据库。进一步的,数据库网关在接收到执行结果时,通常会将执行结果进行匹配,获取对应的安全管控策略,对执行结果的数据量、数据格式、数据类型等等信息进行限制,例如执行结果的数据量不得超过数据量阈值、数据格式需要满足规定格式等等,具体可以根据实际需求设置,此处不做限定。在执行结果符合安全管控策略时,才会将该执行结果发送给代理节点。
本申请实施例通过向数据库发送访问指令和接收执行结果时,访问指令和执行结果匹配相对应的安全管控策略,来对访问指令和执行结果分别进行安全审核,提高了数据库访问的安全性。
可选地,在所述步骤1021之后,所述方法还包括:
步骤1022,在所述访问指令不符合所述安全管控策略时,将所述访问指令重写为符合所述安全管控策略的形式。
在本申请实施例中,若访问指令的格式、数值范围、类型等参数不符合安全管控策略时,可基于安全管控策略对访问指令进行重写,在重写之后的访问指令符合安全管控策略时,可将重写之后的访问指令发送给数据库。
本申请实施例通过依据安全管控策略对访问指令进行重写,避免访问指令不符合安全管控策略导致访问失败,使得应用服务端反复重新访问的情况出现,提高了数据库访问的效率。
可选地,所述步骤204,包括:查询与所述应用信息和所述用户信息中目标字段相匹配的安全管控策略,其中,所述目标字段包括:脚本类型、脚本名、执行行为、应用ID、用户ID中的至少一种。
在本申请实施例中,
可选地,在所述步骤1021之前,所述方法还包括:
步骤1020,判断所述访问指令中第一字段的内容是否符合所述安全管控策略。
在所述步骤1031之前,所述方法还包括:
步骤1030,判断所述执行结果中第二字段的内容是否符合所述安全管控策略。
在本申请实施例中,可通过设置访问指令中不同第一字段与安全管控策略之间的第一映射关系,从而接收到访问指令时,通过查询该第一映射关系来匹配到对应的安全管控策略。同样的,也可通过设置执行结果中不同第二字段的内容与安全管控策略之间的第二映射关系,从而在接收到执行结果时,通过查询该第二映射关系来匹配到对应的安全管控策略。
本申请实施例通过依据特定字段内容来为访问指令和执行结果匹配对应的安全管控策略,从而可以适用于不同的访问指令和执行结果确定相适应的安全管控策略,提高了安全审核的灵活性。
可选地,所述步骤102,包括:按照所述数据库所遵循的目标传输协议对所述访问请求进行封装,将封装后的访问请求发送至所述数据库。
所述步骤103,包括:接收所述数据库基于所述访问指令发送数据包,按照所述目标传输协议对所述数据包进行解封装,得到执行结果。
在本申请实施例中,参照图3,系统中可以包含有第一网络环境和第二网络环境,第一网络环境中可以包含有应用服务端和数据库,第一网络环境中的设备遵循第一传输协议,第二网络环境可以包含有应用网关、数据库网关和安全管控中心,第二网络环境中的设备遵循第二传输协议。
进一步的,在图3所示系统的步骤流程图如图4,包括:
步骤S1,SDK接收到访问请求;
步骤S2,SDK将Token(身份令牌)和访问指令,按照第二传输协议,封装成数据报文发送给数据库网关;
步骤S3,数据库网关将解析得到Token和访问请求;
步骤S4,数据库网关将Token发送到安全管控中心验证Token是否有效;
步骤S5,若有效,安全管控中心将应用信息和应用用户的信息发送给数据库网关;
步骤S6,数据库网关进行安全管控策略的匹配;
步骤S7,数据库网关基于安全管控策略判断访问指令是否可以访问;
步骤S8,若可以访问,数据库网关将访问指令发送给数据库执行,并获取执行结果;
步骤S9,数据库网关基于安全管控策略判断执行结果是否可以反馈;
步骤S10,若可以反馈,数据库网关按照第二传输协议对执行结果进行封装之后发送给应用网关;
步骤S11,应用网关将执行结果转换为第一传输协议之后发送给SDK;
步骤S12,SDK执行结果反馈给应用服务端。
在整个数据库访问的过程中,数据库的实际信息、访问指令、执行结果的传输均是在第二网络环境中进行的,从而实现了应用服务端在数据库访问中的网络数据隔离,避免了数据库访问过程中数据泄露的风险,提高了数据库访问的安全性。
参照图5,数据库网关由五部分组成,守护策略模块、适配数据库、守护SDK、基础核心模块、系统管理。基础核心模块:包括SQL重写引擎、结果合并引擎、SPI引擎、SQL路由引擎、会话管理、上下文管理、数据库连接器、SQL解析器、SQL执行引擎。系统管理:包括系统配置、日志审计、系统健康、日志管理。守护策略模块:放拖库、用户防越权、防删库、SQL访问控制、数据库管理、SQL审计、策略配置模块、SQL注入拦截。适配数据库:包括Mysql、Oracle、PostgreSQL、OpenGauss、达梦数据库等的适配模块。SDK:包括连接管理、用户识别、SQL注释管理、SQL执行引擎。
参照图6,在数据库网关接收到守护SDK发送的SQL请求时,首先做协议的解析,然后到SQL解析、SQL路由、SQL重写、SQL执行引擎、SQL结果合并处理,然后是协议封装,最后发送到守护SDK。在每一个环节中都有相应的安全策略匹配。
图7示意性地示出了本申请提供的一种数据库的访问装置30的结构示意图,应用于数据库网关,所述装置包括:
接收模块301,用于接收应用服务端中代理节点发送的数据库访问请求,所述数据库访问请求至少包括:访问指令、数据库标识,其中,每个所述代理节点与一个所述数据库网关通信连接;
安全模块302,用于在对所述代理节点的安全审核通过之后,将所述访问指令发送至所述数据库标识相对应的数据库,获取所述数据库对于所述访问指令的执行结果;
发送模块303,用于将所述执行结果发送至所述代理节点。
可选地,所述数据库访问请求还包括:所述代理节点的身份令牌;
所述安全模块302,还用于:
将所述身份令牌发送至安全管控中心进行验证;
在所述安全管控中心对所述身份令牌验证不通过时,向所述代理节点发送访问失败通知;
在所述安全管控中心对所述身份令牌验证通过时,从所述安全管控中心获取所述应用服务端的应用信息和用户信息。
可选地,所述安全模块302,还用于:
获取与所述应用信息和所述用户信息相匹配的安全管控策略;
在所述访问指令符合所述安全管控策略时,将所述访问指令发送至所述数据库标识相对应的数据库;
在所述执行结果符合所述安全管控策略时,向所述应用服务端中代理节点发送所述执行结果。
可选地,所述安全模块302,还用于:
在所述访问指令不符合所述安全管控策略时,将所述访问指令重写为符合所述安全管控策略的形式。
可选地,所述安全模块302,还用于:
查询与所述应用信息和所述用户信息中目标字段相匹配的安全管控策略,其中,所述目标字段包括:脚本类型、脚本名、执行行为、应用ID、用户ID中的至少一种。
可选地,所述安全模块302,还用于:
判断所述访问指令中第一字段的内容是否符合所述安全管控策略;
判断所述执行结果中第二字段的内容是否符合所述安全管控策略。
可选地,所述发送模块303,还用于:
按照所述数据库所遵循的目标传输协议对所述访问请求进行封装,将封装后的访问请求发送至所述数据库;
接收所述数据库基于所述访问指令发送数据包,按照所述目标传输协议对所述数据包进行解封装,得到执行结果。
本申请实施例通过利用设置在应用服务端中的代理节点来与连接有数据库的数据库网关连接,从而应用服务端可选择通过调用不同代理节点的接口向所需访问数据库对应的网关节点发送访问请求,通过在访问请求中携带数据库标识来使得数据库网关在代理节点安全审核通过之后,将访问指令发送给数据库标识对应的数据库以使得数据库反馈对于访问指令的执行结果,实现了应用服务端在未知晓所需访问数据库的实际信息的情况下,完成对于数据库的访问过程,避免了数据库的实际信息暴露在外容易被泄露的风险,提高了数据库访问的安全性。
本申请的各个部件实施例可以以硬件实现,或者以在一个或者多个处理器上运行的软件模块实现,或者以它们的组合实现。本领域的技术人员应当理解,可以在实践中使用微处理器或者数字信号处理器(DSP)来实现根据本申请实施例的计算处理设备中的一些或者全部部件的一些或者全部功能。本申请还可以实现为用于执行这里所描述的方法的一部分或者全部的设备或者装置程序(例如,计算机程序和计算机程序产品)。这样的实现本申请的程序可以存储在非瞬态计算机可读介质上,或者可以具有一个或者多个信号的形式。这样的信号可以从因特网网站上下载得到,或者在载体信号上提供,或者以任何其他形式提供。
例如,图8示出了可以实现根据本申请的方法的计算处理设备。该计算处理设备传统上包括处理器410和以存储器420形式的计算机程序产品或者非瞬态计算机可读介质。存储器420可以是诸如闪存、EEPROM(电可擦除可编程只读存储器)、EPROM、硬盘或者ROM之类的电子存储器。存储器420具有用于执行上述方法中的任何方法步骤的程序代码431的存储空间430。例如,用于程序代码的存储空间430可以包括分别用于实现上面的方法中的各种步骤的各个程序代码431。这些程序代码可以从一个或者多个计算机程序产品中读出或者写入到这一个或者多个计算机程序产品中。这些计算机程序产品包括诸如硬盘,紧致盘(CD)、存储卡或者软盘之类的程序代码载体。这样的计算机程序产品通常为如参考图9所述的便携式或者固定存储单元。该存储单元可以具有与图8的计算处理设备中的存储器420类似布置的存储段、存储空间等。程序代码可以例如以适当形式进行压缩。通常,存储单元包括计算机可读代码431’,即可以由例如诸如410之类的处理器读取的代码,这些代码当由计算处理设备运行时,导致该计算处理设备执行上面所描述的方法中的各个步骤。
应该理解的是,虽然附图的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,其可以以其他的顺序执行。而且,附图的流程图中的至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,其执行顺序也不必然是依次进行,而是可以与其他步骤或者其他步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。
本文中所称的“一个实施例”、“实施例”或者“一个或者多个实施例”意味着,结合实施例描述的特定特征、结构或者特性包括在本申请的至少一个实施例中。此外,请注意,这里“在一个实施例中”的词语例子不一定全指同一个实施例。
在此处所提供的说明书中,说明了大量具体细节。然而,能够理解,本申请的实施例可以在没有这些具体细节的情况下被实践。在一些实例中,并未详细示出公知的方法、结构和技术,以便不模糊对本说明书的理解。
在权利要求中,不应将位于括号之间的任何参考符号构造成对权利要求的限制。单词“包含”不排除存在未列在权利要求中的元件或步骤。位于元件之前的单词“一”或“一个”不排除存在多个这样的元件。本申请可以借助于包括有若干不同元件的硬件以及借助于适当编程的计算机来实现。在列举了若干装置的单元权利要求中,这些装置中的若干个可以是通过同一个硬件项来具体体现。单词第一、第二、以及第三等的使用不表示任何顺序。可将这些单词解释为名称。
最后应说明的是:以上实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的精神和范围。
Claims (10)
1.一种数据库的访问方法,其特征在于,应用于数据库网关,所述方法包括:
接收应用服务端中代理节点发送的数据库访问请求,所述数据库访问请求至少包括:访问指令、数据库标识,其中,每个所述代理节点与一个所述数据库网关通信连接;
在对所述代理节点的安全审核通过之后,将所述访问指令发送至所述数据库标识相对应的数据库,获取所述数据库对于所述访问指令的执行结果;
将所述执行结果发送至所述代理节点。
2.根据权利要求1所述的方法,其特征在于,所述数据库访问请求还包括:所述代理节点的身份令牌;
在所述在对所述代理节点的安全审核通过之后,将所述访问指令发送至所述数据库标识相对应的数据库,获取所述数据库对于所述访问指令的执行结果之前,所述方法还包括:
将所述身份令牌发送至安全管控中心进行验证;
在所述安全管控中心对所述身份令牌验证不通过时,向所述代理节点发送访问失败通知;
在所述安全管控中心对所述身份令牌验证通过时,从所述安全管控中心获取所述应用服务端的应用信息和用户信息。
3.根据权利要求2所述的方法,其特征在于,在所述从所述安全管控中心获取所述应用服务端的应用信息和用户信息之后,所述方法还包括:
获取与所述应用信息和所述用户信息相匹配的安全管控策略;
所述将所述访问指令发送至所述数据库标识相对应的数据库,包括:
在所述访问指令符合所述安全管控策略时,将所述访问指令发送至所述数据库标识相对应的数据库;
所述将所述执行结果发送至所述代理节点,包括:
在所述执行结果符合所述安全管控策略时,向所述应用服务端中代理节点发送所述执行结果。
4.根据权利要求3所述的方法,其特征在于,在所述获取与所述应用信息和所述用户信息相匹配的安全管控策略之后,所述方法还包括:
在所述访问指令不符合所述安全管控策略时,将所述访问指令重写为符合所述安全管控策略的形式。
5.根据权利要求3所述的方法,其特征在于,所述获取与所述应用信息和所述用户信息相匹配的安全管控策略,包括:
查询与所述应用信息和所述用户信息中目标字段相匹配的安全管控策略,其中,所述目标字段包括:脚本类型、脚本名、执行行为、应用ID、用户ID中的至少一种。
6.根据权利要求3所述的方法,其特征在于,所述在所述访问指令符合所述安全管控策略时,将所述访问指令发送至所述数据库标识相对应的数据库之前,所述方法还包括:
判断所述访问指令中第一字段的内容是否符合所述安全管控策略;
所述在所述执行结果符合所述安全管控策略时,向所述应用服务端中代理节点发送所述执行结果之前,所述方法还包括:
判断所述执行结果中第二字段的内容是否符合所述安全管控策略。
7.根据权利要求1所述的方法,其特征在于,所述将所述访问指令发送至所述数据库标识相对应的数据库,包括:
按照所述数据库所遵循的目标传输协议对所述访问请求进行封装,将封装后的访问请求发送至所述数据库;
所述获取所述数据库对于所述访问指令的执行结果,包括:
接收所述数据库基于所述访问指令发送数据包,按照所述目标传输协议对所述数据包进行解封装,得到执行结果。
8.一种数据库的访问装置,其特征在于,应用于数据库网关,所述装置包括:
接收模块,用于接收应用服务端中代理节点发送的数据库访问请求,所述数据库访问请求至少包括:访问指令、数据库标识,其中,每个所述代理节点与一个所述数据库网关通信连接;
安全模块,用于在对所述代理节点的安全审核通过之后,将所述访问指令发送至所述数据库标识相对应的数据库,获取所述数据库对于所述访问指令的执行结果;
发送模块,用于将所述执行结果发送至所述代理节点。
9.一种计算处理设备,其特征在于,包括:
存储器,其中存储有计算机可读代码;
一个或多个处理器,当所述计算机可读代码被所述一个或多个处理器执行时,所述计算处理设备执行如权利要求1-7中任一项所述的数据库的访问方法。
10.一种非瞬态计算机可读介质,其特征在于,其中存储了如权利要求1-7中任一项所述的数据库的访问方法的计算机程序。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311865018.3A CN117910036A (zh) | 2023-12-29 | 2023-12-29 | 数据库的访问方法、装置、电子设备和存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311865018.3A CN117910036A (zh) | 2023-12-29 | 2023-12-29 | 数据库的访问方法、装置、电子设备和存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117910036A true CN117910036A (zh) | 2024-04-19 |
Family
ID=90689120
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311865018.3A Pending CN117910036A (zh) | 2023-12-29 | 2023-12-29 | 数据库的访问方法、装置、电子设备和存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117910036A (zh) |
-
2023
- 2023-12-29 CN CN202311865018.3A patent/CN117910036A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20200285978A1 (en) | Model training system and method, and storage medium | |
CN110266764B (zh) | 基于网关的内部服务调用方法、装置及终端设备 | |
CN110266517B (zh) | 基于网关的外部服务调用方法、装置及终端设备 | |
US20010056550A1 (en) | Protective device for internal resource protection in network and method for operating the same | |
US20090217353A1 (en) | Method, system and device for network access control supporting quarantine mode | |
CN112953745B (zh) | 服务调用方法、系统、计算机设备和存储介质 | |
CN111666565A (zh) | 沙箱仿真测试方法、装置、计算机设备和存储介质 | |
CN113179240B (zh) | 密钥保护方法、装置、设备及存储介质 | |
CN111431753A (zh) | 一种资产信息更新方法、装置、设备及存储介质 | |
CN112165455A (zh) | 数据访问控制方法、装置、计算机设备和存储介质 | |
CN110880146A (zh) | 区块链上链方法、装置、电子设备及存储介质 | |
CN109246078B (zh) | 一种数据交互方法及服务器 | |
CN111182537A (zh) | 移动应用的网络接入方法、装置及系统 | |
CN115701019A (zh) | 零信任网络的访问请求处理方法、装置及电子设备 | |
CN109462589B (zh) | 应用程序网络访问控制的方法、装置及设备 | |
CN111817859A (zh) | 基于零知识证明的数据共享方法、装置、设备及存储介质 | |
CN117910036A (zh) | 数据库的访问方法、装置、电子设备和存储介质 | |
CN111371811A (zh) | 一种资源调用方法、资源调用装置、客户端及业务服务器 | |
CN115022366B (zh) | 一种资产识别方法、装置及电子设备和存储介质 | |
CN114584313B (zh) | 一种设备物理身份认证方法、系统、装置及第一平台 | |
CN115695400A (zh) | 一种Web页面与本地应用交互的方法及终端 | |
CN114238927A (zh) | 业务系统登录方法、系统、装置、计算机设备及存储介质 | |
CN115114657A (zh) | 数据保护方法、电子设备及计算存储介质 | |
CN114357456A (zh) | 一种安全防护能力检测系统、方法、装置、设备及介质 | |
CN111695113A (zh) | 终端软件安装合规性检测方法、装置和计算机设备 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication |