首页> 中国专利> 一种基于业务系统数据库的SQL权限控制方法

一种基于业务系统数据库的SQL权限控制方法

摘要

本发明公开了一种基于业务系统数据库的SQL权限控制方法,包括以下步骤:S1:通过系统业务人员进行用户身份认证登录,进入业务管理中心和业务系统数据库;S2:利用业务管理中心客户端自动连接业务系统数据库,完成用户身份认证登录;S3:通过身份认证登录后的用户执行SQL操作;S4:利用数据库权限控制器返回SQL操作的执行结果,并生成审计信息上传至业务管理中心,完成SQL权限控制。本发明能够有效地对各类角色用户进行身份认证、授权以及SQL命令权限校验,维护数据库的安全。支持当前主流的各种类型数据库,兼容性和适用性较强。

著录项

  • 公开/公告号CN112163234A

    专利类型发明专利

  • 公开/公告日2021-01-01

    原文格式PDF

  • 申请/专利号CN202010995010.9

  • 发明设计人 王晓娜;张松鸽;郝明;

    申请日2020-09-21

  • 分类号G06F21/60(20130101);G06F21/62(20130101);

  • 代理机构51229 成都正华专利代理事务所(普通合伙);

  • 代理人刘宇辉

  • 地址 100093 北京市海淀区闵庄路3号103幢四层05号

  • 入库时间 2023-06-19 09:24:30

说明书

技术领域

本发明属于计算机信息处理技术领域,具体涉及一种基于业务系统数据库的SQL权限控制方法。

背景技术

随着计算机技术与网络通信技术的发展以及大数据时代的到来,数据库技术已成为信息社会中对大量数据进行组织与管理的重要技术手段及软件技术,是现代网络信息化管理系统的基础。目前,在各类内容管理系统和数据库应用系统中,针对不同的业务应用场景,设定具有不同角色的用户对相应的业务数据进行创建、查询、修改和删除等数据操作,以满足企业实际生产的需要。

另一方面,随着企业业务的不断扩大,对于业务系统中的重要数据信息保护需求也越发强烈,数据库的安全变得尤为重要。SQL是具有数据操纵和数据定义等多种功能的数据库语言,以其丰富的功能受到业内人士的广泛欢迎,成为提升数据库操作效率的保障。因此,本发明提出了一种基于业务系统数据库的SQL权限控制方法。

发明内容

本发明的目的是为了解决各种类型数据库的SQL权限安全控制问题,提出了一种。

本发明的技术方案是:一种基于业务系统数据库的SQL权限控制方法包括以下步骤:

S1:通过系统业务人员进行用户身份认证登录,进入业务管理中心和业务系统数据库;

S2:通过系统业务人员和用户,利用业务管理中心客户端自动连接业务系统数据库,完成用户身份认证登录;

S3:利用数据库权限控制器,通过身份认证登录后的用户执行SQL操作;

S4:利用数据库权限控制器返回SQL操作的执行结果,并生成审计信息上传至业务管理中心,完成SQL权限控制。

本发明的有益效果是:

(1)能够有效地对各类角色用户进行身份认证、授权以及SQL命令权限校验,维护数据库的安全。

(2)支持当前主流的各种类型数据库,包括的数据库类型有Oraches、SQLSever、MySql、PostgreSQL和DB2等,兼容性和适用性较强。

(3)采用了数据库权限控制应用代理技术,对数据库访问者进行身份认证,动态授权,对用户的身份以及权限进行多重校验。

(4)用户可通过数据库权限控制器中的学习模式,自主根据角色设置构建权限列表,方便灵活。

(5)采用了客户端-管理中心模式,设置数据库权限控制器的监听模式以及学习模式,对越权违规的SQL进行拦截,使用灵活方便。

进一步地,步骤S1包括以下子步骤:

S11:通过系统业务人员,利用管理中心客户端向业务管理中心进行用户身份注册认证;

S12:利用业务管理中心通过用户身份注册认证,并下发业务系统授权和数据库操作授权;

S13:通过用户进行身份认证登录,利用业务系统授权进入业务管理中心;并通过单点登录,利用数据库操作授权进入业务系统数据库。

上述进一步方案的有益效果是:在本发明中,对用户的身份进行校验,防止其对业务系统数据库进行违规越权操作。

进一步地,步骤S2包括以下子步骤:

S21:通过系统业务人员和用户,利用业务管理中心客户端自动连接业务管理中心的数据库权限控制器;

S22:通过数据库权限控制器连接业务系统数据库,完成用户身份认证登录。

进一步地,步骤S3包括以下子步骤:

S31:利用数据库权限控制器校验用户权限;

S32:判断数据库权限控制器的SQL操作模式;

S33:通过权限通过的用户执行SQL操作。

上述进一步方案的有益效果是:在本发明中,允许用户自主设置SQL执行的权限标准,且适用于当前主流的各种类型的数据库,兼容性较强,适用灵活方便。

进一步地,步骤S32包括以下子步骤:

S321:利用Vertx技术自动连接业务管理中心的地址数据和端口数据;

S322:利用Vertx技术捕获地址数据和端口数据,并得到数据流;

S323:通过业务系统数据库的对应协议,利用SQL解析器解析数据流,得到SQL命令;

S324:根据SQL命令判断SQL操作模式。

上述进一步方案的有益效果是:在本发明中,数据库权限控制器应用了代理技术,通过解析数据库客户端与数据库服务端的连接协议,实现SQL语句权限控制,用以保障业务数据的安全性。

进一步地,步骤S324中,若SQL操作为学习模式,则执行选择动作,并将其传递给业务管理中心。

上述进一步方案的有益效果是:在本发明中,学习模式中,用户的操作行为将被记录,不被拦截;权限列表的自动生成依赖学习模式的创建;同时为指定运维用户开启学习模式,数据库权限控制器将会自动学习该运维用户精确到数据表操作级别的日常运维动作,依此完成权限建模,并自动创建符合该运维用户操作习惯的权限列表。

进一步地,步骤S324中,若SQL操作为控制模式,则判断业务管理中心客户端是否含有选择动作;

若有则将其直接传递给业务系统数据库的服务器字节流,否则自定义提示信息,再将其传递给业务系统数据库的服务器字节流。

上述进一步方案的有益效果是:在本发明中,控制模式中,不符合权限列表规定的操作,将被拦截,并返回权限被拒绝,避免违规操作。

附图说明

图1为SQL权限控制方法的流程图。

具体实施方式

下面结合附图对本发明的实施例作进一步的说明。

在描述本发明的具体实施例之前,为使本发明的方案更加清楚完整,首先对本发明中出现的缩略语和关键术语定义进行说明:

SQL:SQL数据库是具有数据操纵和数据定义等多种功能的数据库语言,这种语言具有交互性特点,能为用户提供极大的便利,数据库管理系统可以充分利用SQL语言提高计算机应用系统的工作质量与效率。

身份认证:也称为“身份验证”或“身份鉴别”,是指在计算机及计算机网络系统中确认操作者身份的过程,从而确定该用户是否具有对某种资源的访问和使用权限。

如图1所示,本发明提供了一种基于业务系统数据库的SQL权限控制方法,包括以下步骤:

S1:通过系统业务人员进行用户身份认证登录,进入业务管理中心和业务系统数据库;

S2:通过系统业务人员和用户,利用业务管理中心客户端自动连接业务系统数据库,完成用户身份认证登录;

S3:利用数据库权限控制器,通过身份认证登录后的用户执行SQL操作;

S4:利用数据库权限控制器返回SQL操作的执行结果,并生成审计信息上传至业务管理中心,完成SQL权限控制。

在本发明实施例中,如图1所示,步骤S1包括以下子步骤:

S11:通过系统业务人员,利用管理中心客户端向业务管理中心进行用户身份注册认证;

S12:利用业务管理中心通过用户身份注册认证,并下发业务系统授权和数据库操作授权;

S13:通过用户进行身份认证登录,利用业务系统授权进入业务管理中心;并通过单点登录,利用数据库操作授权进入业务系统数据库。

在本发明中,对用户的身份进行校验,防止其对业务系统数据库进行违规越权操作。

在本发明实施例中,如图1所示,步骤S2包括以下子步骤:

S21:通过系统业务人员和用户,利用业务管理中心客户端自动连接业务管理中心的数据库权限控制器;

S22:通过数据库权限控制器连接业务系统数据库,完成用户身份认证登录。

进一步地,步骤S3包括以下子步骤:

S31:利用数据库权限控制器校验用户权限;

S32:判断数据库权限控制器的SQL操作模式;

S33:通过权限通过的用户执行SQL操作。

在本发明中,允许用户自主设置SQL执行的权限标准,且适用于当前主流的各种类型的数据库,兼容性较强,适用灵活方便。

在本发明实施例中,如图1所示,步骤S32包括以下子步骤:

S321:利用Vertx技术自动连接业务管理中心的地址数据和端口数据;

S322:利用Vertx技术捕获地址数据和端口数据,并得到数据流;

S323:通过业务系统数据库的对应协议,利用SQL解析器解析数据流,

得到SQL命令;

S324:根据SQL命令判断SQL操作模式。

在本发明中,数据库权限控制器应用了代理技术,通过解析数据库客户端与数据库服务端的连接协议,实现SQL语句权限控制,用以保障业务数据的安全性。

在本发明实施例中,如图1所示,步骤S324中,若SQL操作为学习模式,则执行选择动作,并将其传递给业务管理中心。

在本发明中,学习模式中,用户的操作行为将被记录,不被拦截;权限列表的自动生成依赖学习模式的创建;同时为指定运维用户开启学习模式,数据库权限控制器将会自动学习该运维用户精确到数据表操作级别的日常运维动作,依此完成权限建模,并自动创建符合该运维用户操作习惯的权限列表。

在本发明实施例中,如图1所示,步骤S324中,若SQL操作为控制模式,则判断业务管理中心客户端是否含有选择动作;

若有则将其直接传递给业务系统数据库的服务器字节流,否则自定义提示信息,再将其传递给业务系统数据库的服务器字节流。

在本发明中,控制模式中,不符合权限列表规定的操作,将被拦截,并返回权限被拒绝,避免违规操作。

在本发明实施例中,数据库权限控制器应用了代理技术,通过解析数据库客户端与数据库服务端的连接协议,实现SQL语句权限控制,用以保障业务数据的安全性。

其代理技术功能原理是:通过Vertx技术,实现端口转发功能。例如mysql数据库服务,数据库IP(192.168.11.2)地址及其端口3306;管理中心实现代理,业务管理中心192.168.11.88及其端口4567。

当数据库客户端连接工具访问管理中心IP(192.168.11.88)地址和端口4567的时候,利用Vertx技术自动将去连接数据库IP(192.168.11.2)数据库和端口3306的数据,同时转发网络数据,利用Vertx技术能捕获客户端请求的数据和服务器返回的数据流;根据数据库的对应协议,去解析数据流,比如oracle的TNS协议,sqlserver的TDS协议,mysql数据库协议等。

当数据库代理捕获客户端请求的数据流,经过协议分析,得到select*fromuser,再通过数据库SQL解析器,分析数据库语句的对象和动作。

代理服务器根据请求的业务管理中心的4567端口,判断是学习模式还是控制模式。若是学习模式,则上传审计,进行select动作,传递给管理中心;若是控制模式,则去判断客户端执行的用户和请求的这个端口,是否含有user表的select动作,若含有则通过,直接传递给数据库服务器字节流,否则自己给予提示(自定义提示信息),然后再传递给服务器字节流。

本申请提出的SQL权限控制方法,主要目的是对业务系统数据库访问者的SQL权限进行执行鉴别,同时对访问者的身份进行校验,防止其对业务数据库进行违规越权操作。此外,该技术方案允许用户自主设置SQL执行的权限标准,且适用于当前主流的各种类型的数据库,兼容性较强,适用灵活方便。除非能够完全实现上述技术目标,否则无法完全替代本方案。

本发明的工作原理及过程为:该技术方案采用了B/S架构,建立了一整套完善的数据库访问控制与权限控制机制,该机制主要包含:业务管理中心、管理中心客户端、数据库权限控制器和业务系统数据库。通过解析数据库客户端与数据库服务端的连接协议,实现了对不同角色用户执行数据库SQL命令的权限控制,进一步加强业务系统数据库的安全。

本发明的有益效果为:

(1)能够有效地对各类角色用户进行身份认证、授权以及SQL命令权限校验,维护数据库的安全。

(2)支持当前主流的各种类型数据库,包括的数据库类型有Oraches、SQLSever、MySql、PostgreSQL和DB2等,兼容性和适用性较强。

(3)采用了数据库权限控制应用代理技术,对数据库访问者进行身份认证,动态授权,对用户的身份以及权限进行多重校验。

(4)用户可通过数据库权限控制器中的学习模式,自主根据角色设置构建权限列表,方便灵活。

(5)采用了客户端-管理中心模式,设置数据库权限控制器的监听模式以及学习模式,对越权违规的SQL进行拦截,使用灵活方便。

本领域的普通技术人员将会意识到,这里所述的实施例是为了帮助读者理解本发明的原理,应被理解为本发明的保护范围并不局限于这样的特别陈述和实施例。本领域的普通技术人员可以根据本发明公开的这些技术启示做出各种不脱离本发明实质的其它各种具体变形和组合,这些变形和组合仍然在本发明的保护范围内。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号