CN110598445A - 一种数据库访问控制方法、系统及相关设备 - Google Patents
一种数据库访问控制方法、系统及相关设备 Download PDFInfo
- Publication number
- CN110598445A CN110598445A CN201910866411.1A CN201910866411A CN110598445A CN 110598445 A CN110598445 A CN 110598445A CN 201910866411 A CN201910866411 A CN 201910866411A CN 110598445 A CN110598445 A CN 110598445A
- Authority
- CN
- China
- Prior art keywords
- database
- operation request
- authentication information
- information
- database operation
- 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
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
- G06F16/245—Query processing
- G06F16/2455—Query execution
-
- 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/60—Protecting data
- G06F21/62—Protecting access to data via a platform, e.g. using keys or access control rules
- G06F21/6218—Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Databases & Information Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Computational Linguistics (AREA)
- Health & Medical Sciences (AREA)
- Bioethics (AREA)
- General Health & Medical Sciences (AREA)
- Computer Hardware Design (AREA)
- Computer Security & Cryptography (AREA)
- Software Systems (AREA)
- Storage Device Security (AREA)
Abstract
本发明实施例提供了一种数据库访问控制方法、系统及相关设备,用于降低数据库访问控制的粒度,提高数据访问的安全性。本发明实施例方法包括:接收数据库操作请求,并解析所述数据库操作请求中的操作信息及鉴权信息,所述操作信息中至少包含操作对象表;验证所述鉴权信息是否有效,若所述鉴权信息有效,则判断所述操作对象表是否存在于预设的白名单之中;若所述操作对象表存在于预设的授权表白名单之中,则执行所述数据库操作请求中对应的操作,若所述操作对象表不存在于预设的授权表白名单之中,则不允许所述数据库操作请求中对应的操作。
Description
技术领域
本发明涉及数据处理技术领域,尤其涉及一种数据库访问控制方法、系统及相关设备。
背景技术
当前数据库访问控制主要建立在IP地址层面,是基于用户IP地址来决策是否允许访问数据,用户配置白名单清单后,用户IP访问数据库时,根据白名单清单决策是否允许访问。
ERP业务中,在跟第三方合作进行业务深度整合时,会存在一种业务场景,双方基于同一个数据库进行业务拓展,当前主流的白名单方法是在IP地址层面授权,第三方用户的IP被授权之后可以访问整个数据库,由于数据库中还存在与第三方业务无关的数据表,存在数据泄露的风险。
有鉴于此,有必要提供一种新的数据库访问控制方法。
发明内容
本发明实施例提供了一种数据库访问控制方法、系统及相关设备,用于降低数据库访问控制的粒度,提高数据访问的安全性。
本发明实施例第一方面提供了一种数据库访问控制方法,其特征在于,包括:
接收数据库操作请求,并解析所述数据库操作请求中的操作信息及鉴权信息,所述操作信息中至少包含操作对象表;
验证所述鉴权信息是否有效,若所述鉴权信息有效,则判断所述操作对象表是否存在于预设的白名单之中;
若所述操作对象表存在于预设的授权表白名单之中,则执行所述数据库操作请求中对应的操作,若所述操作对象表不存在于预设的授权表白名单之中,则不允许所述数据库操作请求中对应的操作。
可选的,作为一种可能的实施方式,本发明实施例中,所述操作信息还包括操作符,在执行所述数据库操作请求中对应的操作之前,所述方法还包括:
判断所述操作符是否存在于预设的操作符白名单之中,若是,则执行所述数据库操作请求中对应的操作。
可选的,作为一种可能的实施方式,本发明实施例中,所述鉴权信息包含令牌token信息,所述验证所述鉴权信息是否有效,包括:
验证所述token信息是否有效,若是,则确定所述鉴权信息有效。
可选的,作为一种可能的实施方式,本发明实施例中,所述鉴权信息包含操作方用户IP,所述验证所述鉴权信息是否有效,包括:
验证所述操作方用户IP是否存在于预设的第三方用户IP白名单之中,若是,则确定所述鉴权信息有效。
可选的,作为一种可能的实施方式,本发明实施例中,所述解析所述数据库操作请求中的操作信息及鉴权信息,包括:
将所述数据库操作请求对应的字符转换为大写字符;
去除所述数据库操作请求中的注释信息;
清空所述数据库操作请求中单引号之间的字符;
根据空格及换行符将所述数据库操作请求分割成字符串;
遍历分割之后的字符串识别所述数据库操作请求中的操作信息及鉴权信息。
本发明实施例第二方面提供了一种数据库访问控制系统,可包括:
解析单元,用于接收数据库操作请求,并解析数据库操作请求中的操作信息及鉴权信息,操作信息中至少包含操作对象表;
验证单元,用于验证鉴权信息是否有效,若鉴权信息有效,则判断操作对象表是否存在于预设的白名单之中;
执行单元,若操作对象表存在于预设的授权表白名单之中,则执行数据库操作请求中对应的操作,若操作对象表不存在于预设的授权表白名单之中,则不允许数据库操作请求中对应的操作。
可选的,作为一种可能的实施方式,本发明实施例中,操作信息还包括操作符,执行单元包括:
验证模块,用于在执行数据库操作请求中对应的操作之前,判断操作符是否存在于预设的操作符白名单之中,若是,则执行数据库操作请求中对应的操作。
可选的,作为一种可能的实施方式,本发明实施例中,鉴权信息包含令牌token信息,验证鉴权信息是否有效,包括:
验证token信息是否有效,若是,则确定鉴权信息有效。
可选的,作为一种可能的实施方式,本发明实施例中,鉴权信息包含操作方用户IP,验证鉴权信息是否有效,包括:
验证操作方用户IP是否存在于预设的第三方用户IP白名单之中,若是,则确定鉴权信息有效。
可选的,作为一种可能的实施方式,本发明实施例中,解析单元包括:
转换模块,用于将数据库操作请求对应的字符转换为大写字符;
第一去除模块,用于去除数据库操作请求中的注释信息;
第二去除模块,用于去除数据库操作请求中单引号之间的字符;
分割模块,用于根据空格及换行符将数据库操作请求分割成字符串;
识别模块,用于遍历分割之后的字符串识别数据库操作请求中的操作信息及鉴权信息。
本申请实施例第三方面提供了一种计算机装置,其特征在于,所述计算机装置包括处理器,所述处理器用于执行存储器中存储的计算机程序时实现如第一方面及第一方面中任意一种可能的实施方式中的步骤。
本申请实施例第四方面提供了一种计算机可读存储介质,其上存储有计算机程序,其特征在于:所述计算机程序被处理器执行时实现如第一方面及第一方面中任意一种可能的实施方式中的步骤。
从以上技术方案可以看出,本发明实施例具有以下优点:
本发明实施例中,数据库访问控制系统在进行访问鉴权之后,若鉴权信息有效,则可以判断数据库操作中的操作对象表是否存在于预设的白名单之中,若操作对象表存在于预设的授权表白名单之中,则允许数据库操作请求中对应的操作,若操作对象表不存在于预设的白名单之中,则不允许数据库操作请求中对应的操作。将数据库访问控制的粒度降低至单个表级别的控制,实现数据库中数据表的精准访问控制,提高了数据访问的安全性。
附图说明
图1为本发明实施例中一种数据库访问控制方法的一个实施例示意图;
图2为本发明实施例中一种数据库访问控制方法的另一个实施例示意图;
图3为本发明实施例中解析数据库操作请求中的操作信息及鉴权信息的流程示意图;
图4为本发明实施例中表级授权白名单实施例中的时序图示意图;
图5为本发明实施例中操作符级授权白名单实施例中的时序图示意图;
图6为本发明实施例中一种数据库访问控制系统的一个实施例示意图;
图7为本发明实施例中一种计算机装置的一个实施例示意图。
具体实施方式
本发明实施例提供了一种数据库访问控制方法、系统及相关设备,用于降低数据库访问控制的粒度,提高数据访问的安全性。
为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分的实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。
本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”、“第三”、“第四”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的实施例能够以除了在这里图示或描述的内容以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
为了便于理解,下面对本发明实施例中的具体流程进行描述,请参阅图1,本发明实施例中一种数据库访问控制方法的一个实施例可包括:
101、接收数据库操作请求,并解析数据库操作请求中的操作信息及鉴权信息;
本发明实施例中,数据库访问控制系统在接收数据库操作请求之后,可以解析数据库操作请求中的操作信息及鉴权信息,操作信息中至少包含操作对象表。其中,鉴权信息用于验证数据库操作是否合法。
102、验证鉴权信息是否有效,若鉴权信息有效,则判断操作对象表是否存在于预设的白名单之中;
不同的数据库中可能采用不同的鉴权方式,对应的鉴权信息及验证步骤可能不同,具体鉴权信息及验证步骤此处不做限定。
示例性的,鉴权信息可以包含令牌token信息,验证鉴权信息是否有效,包括:验证token信息是否有效,若是,则确定鉴权信息有效,若否,则确定鉴权信息无效。具体的token机制的验证过程可以参阅现有方案,此处不做限定。可选的,数据库访问控制系统可以提供API访问接口,对于第三方用户或内部用户可以分配不同的token令牌,基于token令牌即可以识别用户类型也可以验证访问的权限。
示例性的,鉴权信息可以包含操作方用户IP,验证鉴权信息是否有效,包括:验证操作方用户IP是否存在于预设的第三方用户IP白名单之中,若是,则确定鉴权信息有效,若否,则确定鉴权信息无效。
若鉴权信息有效,则数据库访问控制系统可以判断操作对象表是否存在于预设的白名单之中,若操作对象表存在于预设的授权表白名单之中,则执行步骤103,若操作对象表不存在于预设的白名单之中,则执行步骤104。
103、执行数据库操作请求中对应的操作;
若操作对象表存在于预设的授权表白名单之中,则允许数据库操作请求中对应的操作。
104、不允许数据库操作请求中对应的操作。
若操作对象表不存在于预设的白名单之中,则不允许数据库操作请求中对应的操作。
本发明实施例中,数据库访问控制系统在进行访问鉴权之后,若鉴权信息有效,则可以判断数据库操作中的操作对象表是否存在于预设的白名单之中,若操作对象表存在于预设的授权表白名单之中,则允许数据库操作请求中对应的操作,若操作对象表不存在于预设的白名单之中,则不允许数据库操作请求中对应的操作。将数据库访问控制的粒度降低至单个表级别的控制,实现数据库中数据表的精准访问控制,提高了数据访问的安全性。
在上述图1所示的实施例的基础上,为了实现数据库访问更加精准的控制,本发明实施例中的数据库访问控制系统还可以对数据库操作请求中对应的操作符进行授权控制,请参阅图2,本发明实施例中的一种数据库访问控制方法的另一个实施例可包括:
201、接收数据库操作请求,并解析数据库操作请求中的操作信息及鉴权信息;
本发明实施例中,数据库访问控制系统在接收数据库操作请求之后,可以解析数据库操作请求中的操作信息及鉴权信息,操作信息中可以包含操作对象表及操作符。其中,鉴权信息用于验证数据库操作是否合法。
202、验证鉴权信息是否有效,若鉴权信息有效,则判断操作对象表是否存在于预设的白名单之中;
示例性的,鉴权信息可以包含令牌token信息,验证鉴权信息是否有效,包括:验证token信息是否有效,若是,则确定鉴权信息有效,若否,则确定鉴权信息无效。具体的token机制的验证过程可以参阅现有方案,此处不做限定。可选的,数据库访问控制系统可以提供API访问接口,对于第三方用户或内部用户可以分配不同的token令牌,基于token令牌即可以识别用户类型也可以验证访问的权限。
示例性的,鉴权信息可以包含操作方用户IP,验证鉴权信息是否有效,包括:验证操作方用户IP是否存在于预设的第三方用户IP白名单之中,若是,则确定鉴权信息有效,若否,则确定鉴权信息无效。
若鉴权信息有效,则数据库访问控制系统可以判断操作对象表是否存在于预设的白名单之中,若操作对象表存在于预设的授权表白名单之中,则执行步骤203,若操作对象表不存在于预设的白名单之中,则执行步骤204。
203、判断操作符是否存在于预设的操作符白名单之中,若是,执行数据库操作请求中对应的操作;
若操作对象表存在于预设的授权表白名单之中,数据库访问控制系统可以判断操作符是否存在于预设的操作符白名单之中,若是,允许数据库操作请求中对应的操作,若操作符不存在于预设的操作符白名单之中,则可以执行步骤204。
204、不允许数据库操作请求中对应的操作。
若操作对象表不存在于预设的白名单之中,或,操作符不存在于预设的操作符白名单之中,则不允许数据库操作请求中对应的操作。
可以理解的是,在本发明的各种实施例中,上述各步骤的序号的大小并不意味着执行顺序的先后,各步骤的执行顺序应以其功能和内在逻辑确定,而不应对本发明实施例的实施过程构成任何限定。例如,步骤1,判断操作符是否存在于预设的操作符白名单之中,与步骤2,判断操作对象表是否存在于预设的白名单之中,步骤1与步骤2之间的先后顺序可以替换。
在上述图1及图2所示的实施例的基础上,下面将对本发明实施例中,解析数据库操作请求中的操作信息及鉴权信息的过程进行描述。请参阅图3,解析数据库操作请求中的操作信息及鉴权信息具体可以包括:
数据清洗:将数据库操作请求对应的字符转换为大写字符;去除数据库操作请求中的注释信息;清空数据库操作请求中单引号之间的字符;根据空格及换行符将数据库操作请求分割成一个个字符串,共同组成数组。
数据采集:遍历分割之后的字符串,根据预设的标准字符串及预设格式识别数据库操作请求中的操作信息及鉴权信息。依次遍历分割之后的字符串,直到数组中的所有字符串都遍历完成。
为了便于理解,下面将结合具体的运用实例对本发明实施例中的数据库访问控制方法进行描述。
请参阅图4,仅以结构化查询语言SQL语言为例,预先在服务端配置授权表白名单,授权可访问的表范围。如图4所示的整个控制过程时序图,服务器在接收数据库操作请求之后,可以解析数据库操作请求中的操作的所有表清单及鉴权信息,若鉴权信息有效,然后校验是否是授权表白名单上的授权表,校验通过则响应本次SQL请求,访问数据库执行SQL命令,最后把结果返回到用户端展示出来。
请参阅图5,预先在服务端配置操作符级白名单,指示授权操作符范围。授权的整体控制流程时序图5,服务器在接收数据库操作请求之后,可以解析数据库操作请求中的操作符及鉴权信息,若鉴权信息有效,然后校验是否是操作符级白名单上的操作符,校验通过则响应本次SQL请求,访问数据库执行SQL命令,最后把结果返回到用户端展示出来。
可以理解的是,本发明的授权表白名单可以解决第三方业务授权的表数据隔离的问题,操作符级白名单授权是用于解决第三方业务访问操作主业务的表的需求,如业务存在融合的场景,可以融合两种方法一起使用。实际运用中,还可以采用MYSQL、MSSQL、Oracle等数据库语言,具体此处不做限定。
请参阅图6,本发明实施例中一种数据库访问控制系统的一个实施例可包括:
解析单元601,用于接收数据库操作请求,并解析数据库操作请求中的操作信息及鉴权信息,操作信息中至少包含操作对象表;
验证单元602,用于验证鉴权信息是否有效,若鉴权信息有效,则判断操作对象表是否存在于预设的白名单之中;
执行单元603,若操作对象表存在于预设的授权表白名单之中,则执行数据库操作请求中对应的操作,若操作对象表不存在于预设的授权表白名单之中,则不允许数据库操作请求中对应的操作。
可选的,作为一种可能的实施方式,本发明实施例中,操作信息还包括操作符,执行单元包括:
验证模块,用于在执行数据库操作请求中对应的操作之前,判断操作符是否存在于预设的操作符白名单之中,若是,则执行数据库操作请求中对应的操作。
可选的,作为一种可能的实施方式,本发明实施例中,鉴权信息包含令牌token信息,验证鉴权信息是否有效,包括:
验证token信息是否有效,若是,则确定鉴权信息有效。
可选的,作为一种可能的实施方式,本发明实施例中,鉴权信息包含操作方用户IP,验证鉴权信息是否有效,包括:
验证操作方用户IP是否存在于预设的第三方用户IP白名单之中,若是,则确定鉴权信息有效。
可选的,作为一种可能的实施方式,本发明实施例中,解析单元包括:
转换模块,用于将数据库操作请求对应的字符转换为大写字符;
第一去除模块,用于去除数据库操作请求中的注释信息;
第二去除模块,用于去除数据库操作请求中单引号之间的字符;
分割模块,用于根据空格及换行符将数据库操作请求分割成字符串;
识别模块,用于遍历分割之后的字符串识别数据库操作请求中的操作信息及鉴权信息。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统,装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
上面从模块化功能实体的角度对本发明实施例中的数据库访问控制系统进行了描述,下面从硬件处理的角度对本发明实施例中的计算机装置进行描述:
该计算机装置1可以包括存储器11、处理器12和总线13。处理器11执行计算机程序时实现上述图1所示的数据库访问控制方法实施例中的步骤,例如图1所示的步骤101至104。或者,处理器执行计算机程序时实现上述各装置实施例中各模块或单元的功能。
本发明的一些实施例中,处理器具体用于实现如下步骤:
接收数据库操作请求,并解析数据库操作请求中的操作信息及鉴权信息,操作信息中至少包含操作对象表;
验证鉴权信息是否有效,若鉴权信息有效,则判断操作对象表是否存在于预设的白名单之中;
若操作对象表存在于预设的授权表白名单之中,则执行数据库操作请求中对应的操作,若操作对象表不存在于预设的授权表白名单之中,则不允许数据库操作请求中对应的操作。
可选的,作为一种可能的实施方式,处理器还可以用于实现如下步骤:
判断操作符是否存在于预设的操作符白名单之中,若是,则执行数据库操作请求中对应的操作。
可选的,鉴权信息包含令牌token信息,作为一种可能的实施方式,处理器还可以用于实现如下步骤:
验证token信息是否有效,若是,则确定鉴权信息有效。
可选的,鉴权信息包含操作方用户IP,作为一种可能的实施方式,处理器还可以用于实现如下步骤:
验证操作方用户IP是否存在于预设的第三方用户IP白名单之中,若是,则确定鉴权信息有效。
可选的,作为一种可能的实施方式,处理器还可以用于实现如下步骤:
将数据库操作请求对应的字符转换为大写字符;
去除数据库操作请求中的注释信息;
清空数据库操作请求中单引号之间的字符;
根据空格及换行符将数据库操作请求分割成字符串;
遍历分割之后的字符串识别数据库操作请求中的操作信息及鉴权信息。
其中,存储器11至少包括一种类型的可读存储介质,可读存储介质包括闪存、硬盘、多媒体卡、卡型存储器(例如,SD或DX存储器等)、磁性存储器、磁盘、光盘等。存储器11在一些实施例中可以是计算机装置1的内部存储单元,例如该计算机装置1的硬盘。存储器11在另一些实施例中也可以是计算机装置1的外部存储设备,例如计算机装置1上配备的插接式硬盘,智能存储卡(Smart Media Card,SMC),安全数字(Secure Digital,SD)卡,闪存卡(Flash Card)等。进一步地,存储器11还可以既包括计算机装置1的内部存储单元也包括外部存储设备。存储器11不仅可以用于存储安装于计算机装置1的应用软件及各类数据,例如计算机程序01的代码等,还可以用于暂时地存储已经输出或者将要输出的数据。
处理器12在一些实施例中可以是一中央处理器(Central Processing Unit,CPU)、控制器、微控制器、微处理器或其他数据处理芯片,用于运行存储器11中存储的程序代码或处理数据,例如执行计算机程序01等。
该总线13可以是外设部件互连标准(peripheral component interconnect,简称PCI)总线或扩展工业标准结构(extended industry standard architecture,简称EISA)总线等。该总线可以分为地址总线、数据总线、控制总线等。为便于表示,图7中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
进一步地,计算机装置还可以包括网络接口14,网络接口14可选的可以包括有线接口和/或无线接口(如WI-FI接口、蓝牙接口等),通常用于在该计算机装置1与其他电子设备之间建立通信连接。
可选地,该计算机装置1还可以包括用户接口,用户接口可以包括显示器(Display)、输入单元比如键盘(Keyboard),可选的用户接口还可以包括标准的有线接口、无线接口。可选地,在一些实施例中,显示器可以是LED显示器、液晶显示器、触控式液晶显示器以及OLED(Organic Light-Emitting Diode,有机发光二极管)触摸器等。其中,显示器也可以适当的称为显示屏或显示单元,用于显示在计算机装置1中处理的信息以及用于显示可视化的用户界面。
图7仅示出了具有组件11-14以及计算机程序01的计算机装置1,本领域技术人员可以理解的是,图1示出的结构并不构成对计算机装置1的限定,可以包括比图示更少或者更多的部件,或者组合某些部件,或者不同的部件布置。
本发明还提供了一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,计算机程序被处理器执行时,可以实现如下步骤:
接收数据库操作请求,并解析数据库操作请求中的操作信息及鉴权信息,操作信息中至少包含操作对象表;
验证鉴权信息是否有效,若鉴权信息有效,则判断操作对象表是否存在于预设的白名单之中;
若操作对象表存在于预设的授权表白名单之中,则执行数据库操作请求中对应的操作,若操作对象表不存在于预设的授权表白名单之中,则不允许数据库操作请求中对应的操作。
可选的,作为一种可能的实施方式,处理器还可以用于实现如下步骤:
判断操作符是否存在于预设的操作符白名单之中,若是,则执行数据库操作请求中对应的操作。
可选的,鉴权信息包含令牌token信息,作为一种可能的实施方式,处理器还可以用于实现如下步骤:
验证token信息是否有效,若是,则确定鉴权信息有效。
可选的,鉴权信息包含操作方用户IP,作为一种可能的实施方式,处理器还可以用于实现如下步骤:
验证操作方用户IP是否存在于预设的第三方用户IP白名单之中,若是,则确定鉴权信息有效。
可选的,作为一种可能的实施方式,处理器还可以用于实现如下步骤:
将数据库操作请求对应的字符转换为大写字符;
去除数据库操作请求中的注释信息;
清空数据库操作请求中单引号之间的字符;
根据空格及换行符将数据库操作请求分割成字符串;
遍历分割之后的字符串识别数据库操作请求中的操作信息及鉴权信息。
在本申请所提供的几个实施例中,应该理解到,所揭露的系统,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-OnlyMemory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。
Claims (10)
1.一种数据库访问控制方法,其特征在于,包括:
接收数据库操作请求,并解析所述数据库操作请求中的操作信息及鉴权信息,所述操作信息中至少包含操作对象表;
验证所述鉴权信息是否有效,若所述鉴权信息有效,则判断所述操作对象表是否存在于预设的白名单之中;
若所述操作对象表存在于预设的授权表白名单之中,则执行所述数据库操作请求中对应的操作,若所述操作对象表不存在于预设的授权表白名单之中,则不允许所述数据库操作请求中对应的操作。
2.根据权利要求1所述的方法,其特征在于,所述解析所述数据库操作请求中的操作信息及鉴权信息,包括:
将所述数据库操作请求对应的字符转换为大写字符;
去除所述数据库操作请求中的注释信息;
清空所述数据库操作请求中单引号之间的字符;
根据空格及换行符将所述数据库操作请求分割成字符串;
遍历分割之后的字符串识别所述数据库操作请求中的操作信息及鉴权信息。
3.根据权利要求1或2所述的方法,其特征在于,所述操作信息还包括操作符,在执行所述数据库操作请求中对应的操作之前,所述方法还包括:
判断所述操作符是否存在于预设的操作符白名单之中,若是,则允许所述数据库操作请求中对应的操作。
4.根据权利要求3所述的方法,其特征在于,所述鉴权信息包含令牌token信息,所述验证所述鉴权信息是否有效,包括:
验证所述token信息是否有效,若是,则确定所述鉴权信息有效。
5.根据权利要求3所述的方法,其特征在于,所述鉴权信息包含操作方用户IP,所述验证所述鉴权信息是否有效,包括:
验证所述操作方用户IP是否存在于预设的第三方用户IP白名单之中,若是,则确定所述鉴权信息有效。
6.一种数据库访问控制系统,其特征在于,包括:
解析单元,用于接收数据库操作请求,并解析所述数据库操作请求中的操作信息及鉴权信息,所述操作信息中至少包含操作对象表;
验证单元,用于验证所述鉴权信息是否有效,若所述鉴权信息有效,则判断所述操作对象表是否存在于预设的白名单之中;
执行单元,若所述操作对象表存在于预设的授权表白名单之中,则执行所述数据库操作请求中对应的操作,若所述操作对象表不存在于预设的授权表白名单之中,则不允许所述数据库操作请求中对应的操作。
7.根据权利要求6所述的系统,其特征在于,所述解析单元包括:
转换模块,用于将所述数据库操作请求对应的字符转换为大写字符;
第一去除模块,用于去除所述数据库操作请求中的注释信息;
第二去除模块,用于去除所述数据库操作请求中单引号之间的字符;
分割模块,用于根据空格及换行符将所述数据库操作请求分割成字符串;
识别模块,用于遍历分割之后的字符串识别所述数据库操作请求中的操作信息及鉴权信息。
8.根据权利要求6或7所述的系统,其特征在于,所述操作信息还包括操作符,所述执行单元包括:
验证模块,用于在执行所述数据库操作请求中对应的操作之前,判断所述操作符是否存在于预设的操作符白名单之中,若是,则执行所述数据库操作请求中对应的操作。
9.一种计算机装置,其特征在于,所述计算机装置包括处理器,所述处理器用于执行存储器中存储的计算机程序时实现如权利要求1至5中任意一项所述方法的步骤。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于:所述计算机程序被处理器执行时实现如权利要求1至5中任意一项所述方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910866411.1A CN110598445B (zh) | 2019-09-12 | 2019-09-12 | 一种数据库访问控制方法、系统及相关设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910866411.1A CN110598445B (zh) | 2019-09-12 | 2019-09-12 | 一种数据库访问控制方法、系统及相关设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110598445A true CN110598445A (zh) | 2019-12-20 |
CN110598445B CN110598445B (zh) | 2022-05-20 |
Family
ID=68859294
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910866411.1A Active CN110598445B (zh) | 2019-09-12 | 2019-09-12 | 一种数据库访问控制方法、系统及相关设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110598445B (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2021147442A1 (zh) * | 2020-01-22 | 2021-07-29 | 华为技术有限公司 | 访问控制方法、装置、终端设备和存储介质 |
CN114490033A (zh) * | 2021-12-27 | 2022-05-13 | 华东师范大学 | 一种多样化算力的统一性能建模和适应性变更方法及装置 |
Citations (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1633084A (zh) * | 2004-12-28 | 2005-06-29 | 北京邮电大学 | 用于应用服务器的基于令牌的细粒度访问控制系统及方法 |
CN1860723A (zh) * | 2003-10-23 | 2006-11-08 | 微软公司 | 提供增强的安全模型的系统与方法 |
CN101739422A (zh) * | 2008-11-05 | 2010-06-16 | 深圳市守望网络技术有限公司 | 基于数据库协议代理的前置式数据库访问控制方法和系统 |
CN103294966A (zh) * | 2013-03-12 | 2013-09-11 | 中国工商银行股份有限公司 | 一种数据库的安全访问控制方法以及系统 |
CN103514166A (zh) * | 2012-06-15 | 2014-01-15 | 阿里巴巴集团控股有限公司 | Sql检查方法与装置 |
US20140282949A1 (en) * | 2013-03-15 | 2014-09-18 | Kaarya Llc | System and Method for Account Access |
CN104216907A (zh) * | 2013-06-02 | 2014-12-17 | 上海贝尔股份有限公司 | 一种用于提供数据库访问控制的方法、装置与系统 |
CN107066311A (zh) * | 2017-03-20 | 2017-08-18 | 中国科学院软件研究所 | 一种内核数据访问控制方法与系统 |
CN107403106A (zh) * | 2017-07-18 | 2017-11-28 | 北京计算机技术及应用研究所 | 基于终端用户的数据库细粒度访问控制方法 |
CN107426182A (zh) * | 2017-06-21 | 2017-12-01 | 郑州云海信息技术有限公司 | 一种存储管理系统的访问控制方法及系统 |
CN107832618A (zh) * | 2017-09-20 | 2018-03-23 | 武汉虹旭信息技术有限责任公司 | 一种基于细粒度权限控制的sql注入检测系统及其方法 |
CN107871084A (zh) * | 2016-09-27 | 2018-04-03 | 北京计算机技术及应用研究所 | 基于身份和规则的数据库访问控制方法 |
CN108460052A (zh) * | 2017-02-22 | 2018-08-28 | 中兴通讯股份有限公司 | 一种自动创建索引的方法、装置及数据库系统 |
-
2019
- 2019-09-12 CN CN201910866411.1A patent/CN110598445B/zh active Active
Patent Citations (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1860723A (zh) * | 2003-10-23 | 2006-11-08 | 微软公司 | 提供增强的安全模型的系统与方法 |
CN1633084A (zh) * | 2004-12-28 | 2005-06-29 | 北京邮电大学 | 用于应用服务器的基于令牌的细粒度访问控制系统及方法 |
CN101739422A (zh) * | 2008-11-05 | 2010-06-16 | 深圳市守望网络技术有限公司 | 基于数据库协议代理的前置式数据库访问控制方法和系统 |
CN103514166A (zh) * | 2012-06-15 | 2014-01-15 | 阿里巴巴集团控股有限公司 | Sql检查方法与装置 |
CN103294966A (zh) * | 2013-03-12 | 2013-09-11 | 中国工商银行股份有限公司 | 一种数据库的安全访问控制方法以及系统 |
US20140282949A1 (en) * | 2013-03-15 | 2014-09-18 | Kaarya Llc | System and Method for Account Access |
CN104216907A (zh) * | 2013-06-02 | 2014-12-17 | 上海贝尔股份有限公司 | 一种用于提供数据库访问控制的方法、装置与系统 |
CN107871084A (zh) * | 2016-09-27 | 2018-04-03 | 北京计算机技术及应用研究所 | 基于身份和规则的数据库访问控制方法 |
CN108460052A (zh) * | 2017-02-22 | 2018-08-28 | 中兴通讯股份有限公司 | 一种自动创建索引的方法、装置及数据库系统 |
CN107066311A (zh) * | 2017-03-20 | 2017-08-18 | 中国科学院软件研究所 | 一种内核数据访问控制方法与系统 |
CN107426182A (zh) * | 2017-06-21 | 2017-12-01 | 郑州云海信息技术有限公司 | 一种存储管理系统的访问控制方法及系统 |
CN107403106A (zh) * | 2017-07-18 | 2017-11-28 | 北京计算机技术及应用研究所 | 基于终端用户的数据库细粒度访问控制方法 |
CN107832618A (zh) * | 2017-09-20 | 2018-03-23 | 武汉虹旭信息技术有限责任公司 | 一种基于细粒度权限控制的sql注入检测系统及其方法 |
Non-Patent Citations (2)
Title |
---|
M.MABUCHI等: ""An Access Control Model for Web-Services That Supports Delegation and Creation of Authority,"", 《SEVENTH INTERNATIONAL CONFERENCE ON NETWORKING (ICN 2008)》 * |
王振辉等: ""基于XML的Web数据库安全中间件研究与设计"", 《计算机应用与软件》 * |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2021147442A1 (zh) * | 2020-01-22 | 2021-07-29 | 华为技术有限公司 | 访问控制方法、装置、终端设备和存储介质 |
CN114490033A (zh) * | 2021-12-27 | 2022-05-13 | 华东师范大学 | 一种多样化算力的统一性能建模和适应性变更方法及装置 |
CN114490033B (zh) * | 2021-12-27 | 2024-05-03 | 华东师范大学 | 一种多样化算力的统一性能建模和适应性变更方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN110598445B (zh) | 2022-05-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20170140137A1 (en) | Multi-System Entering Method, Apparatus and Terminal | |
US10536456B2 (en) | Method and system for identifying user information in social network | |
US8196197B2 (en) | Preventing trivial character combinations | |
CN108427731B (zh) | 页面代码的处理方法、装置、终端设备及介质 | |
US20160292411A1 (en) | Verification method, apparatus and system | |
CN110598445B (zh) | 一种数据库访问控制方法、系统及相关设备 | |
CN112560067A (zh) | 基于令牌权限校验的访问方法、装置、设备及存储介质 | |
CN105447927A (zh) | 门禁电锁开启的控制方法、门禁控制器及门禁控制系统 | |
CN106951796A (zh) | 一种数据隐私保护的脱敏方法及其装置 | |
CN113434901A (zh) | 数据智能查询方法、装置、电子设备及存储介质 | |
CN107943878B (zh) | 一种业务规则引擎实现方法和系统 | |
CN112307052A (zh) | 一种数据管理方法、服务系统、终端及存储介质 | |
US20230315864A1 (en) | Vulnerability Processing Method, Apparatus and Device, and Computer-readable Storage Medium | |
CN113434542B (zh) | 数据关系识别方法、装置、电子设备及存储介质 | |
CN113382017A (zh) | 基于白名单的权限控制方法、装置、电子设备及存储介质 | |
CN111221690B (zh) | 针对集成电路设计的模型确定方法、装置及终端 | |
CN110442466B (zh) | 防止请求重复访问方法、装置、计算机设备及存储介质 | |
CN101510239B (zh) | 信息处理系统和信息处理方法 | |
CN110727639B (zh) | 碎片数据读取方法、电子设备、系统及介质 | |
CN114090076A (zh) | 应用程序的合规性判别方法和装置 | |
CN110650110B (zh) | 一种登录页面识别方法及相关设备 | |
KR100906449B1 (ko) | 데이터베이스 툴 식별 장치 및 방법 | |
CN111901299A (zh) | 申请认证方法、装置、电子设备和存储介质 | |
CN111258628A (zh) | 一种规则文件比对方法、装置、可读存储介质及终端设备 | |
CN111324892A (zh) | 生成脚本文件的软件基因和脚本检测的方法、装置及介质 |
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 |