CN115203670A - 业务访问处理方法、装置、计算机可读介质及电子设备 - Google Patents
业务访问处理方法、装置、计算机可读介质及电子设备 Download PDFInfo
- Publication number
- CN115203670A CN115203670A CN202110377882.3A CN202110377882A CN115203670A CN 115203670 A CN115203670 A CN 115203670A CN 202110377882 A CN202110377882 A CN 202110377882A CN 115203670 A CN115203670 A CN 115203670A
- Authority
- CN
- China
- Prior art keywords
- access
- information
- database
- account information
- service
- 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
Images
Classifications
-
- 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/30—Authentication, i.e. establishing the identity or authorisation of security principals
- G06F21/45—Structures or tools for the administration of authentication
-
- 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/242—Query formulation
- G06F16/2433—Query languages
-
- 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/602—Providing cryptographic facilities or services
-
- 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/604—Tools and structures for managing or administering access control systems
-
- 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2221/00—Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F2221/21—Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F2221/2141—Access rights, e.g. capability lists, access control lists, access tables, access matrices
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Hardware Design (AREA)
- Software Systems (AREA)
- General Health & Medical Sciences (AREA)
- Bioethics (AREA)
- Health & Medical Sciences (AREA)
- Databases & Information Systems (AREA)
- Automation & Control Theory (AREA)
- Mathematical Physics (AREA)
- Computational Linguistics (AREA)
- Data Mining & Analysis (AREA)
- Storage Device Security (AREA)
Abstract
本申请的实施例提供了一种业务访问处理方法、装置、计算机可读介质及电子设备。该业务访问处理方法包括:对接收到的业务访问请求中所包含的访问账号信息进行授权认证;在对所述访问账号信息授权认证通过之后,根据所述访问账号信息查询与所述访问账号信息相对应的加密信息,所述加密信息中包含有所述访问账号信息对应的数据库账号信息和待访问的目标数据库的信息;对所述加密信息进行解密处理,得到所述数据库账号信息和所述目标数据库的信息;基于所述数据库账号信息和针对所述目标数据库配置的访问策略,响应所述业务访问请求。本申请实施例的技术方案可以提高数据库权限管理的灵活性。
Description
技术领域
本申请涉及计算机及通信技术领域,具体而言,涉及一种业务访问处理方法、装置、计算机可读介质及电子设备。
背景技术
数据库是按照数据结构来组织、存储和管理数据的仓库,其是一个长期存储在计算机内的、有组织的、可共享的、统一管理的大量数据的集合。在相关技术中,数据库的访问管理主要依赖于数据库自身的权限控制,而依赖数据库自身的权限控制的方案存在灵活性较差的问题。
发明内容
本申请的实施例提供了一种业务访问处理方法、装置、计算机可读介质及电子设备,进而至少在一定程度上可以提高数据库权限管理的灵活性。
本申请的其他特性和优点将通过下面的详细描述变得显然,或部分地通过本申请的实践而习得。
根据本申请实施例的一个方面,提供了一种业务访问处理方法,包括:对接收到的业务访问请求中所包含的访问账号信息进行授权认证;在对所述访问账号信息授权认证通过之后,根据所述访问账号信息查询与所述访问账号信息相对应的加密信息,所述加密信息中包含有所述访问账号信息对应的数据库账号信息和待访问的目标数据库的信息;对所述加密信息进行解密处理,得到所述数据库账号信息和所述目标数据库的信息;基于所述数据库账号信息和针对所述目标数据库配置的访问策略,响应所述业务访问请求。
根据本申请实施例的一个方面,提供了一种业务访问处理装置,包括:授权认证单元,配置为对接收到的业务访问请求中所包含的访问账号信息进行授权认证;查询单元,配置为在对所述访问账号信息授权认证通过之后,根据所述访问账号信息查询与所述访问账号信息相对应的加密信息,所述加密信息中包含有所述访问账号信息对应的数据库账号信息和待访问的目标数据库的信息;解密单元,配置为对所述加密信息进行解密处理,得到所述数据库账号信息和所述目标数据库的信息;处理单元,配置为基于所述数据库账号信息和针对所述目标数据库配置的访问策略,响应所述业务访问请求。
在本申请的一些实施例中,基于前述方案,所述解密单元配置为:基于加密信息与密钥标识之间的对应关系,获取与所述加密信息相对应的密钥标识;根据所述密钥标识调用密钥管理服务对所述加密信息进行解密处理。
在本申请的一些实施例中,基于前述方案,所述业务访问处理装置还包括:接收单元,配置为接收账号注册请求,所述账号注册请求中包含有所述数据库账号信息和所述目标数据库的信息;分配单元,配置为根据所述账号注册请求,分配与所述数据库账号信息对应的访问账号信息;加密单元,配置为将所述数据库账号信息和所述目标数据库的信息进行加密处理,得到加密信息;存储单元,配置为将所述加密信息和所述访问账号信号进行对应存储。
在本申请的一些实施例中,基于前述方案,所述加密单元配置为:根据所述数据库账号信息和所述目标数据库的信息,调用所述密钥管理服务对所述数据库账号信息和所述目标数据库的信息进行加密,得到加密信息和所述密钥管理服务返回的密钥标识;将所述密钥标识和所述加密信息进行对应存储。
在本申请的一些实施例中,基于前述方案,所述处理单元配置为:从所述业务访问请求中解析出需要执行的SQL(Structured Query Language,结构化查询语言)语句;根据所述数据库账号信息和针对所述目标数据库配置的访问策略,确定所述SQL语句是否具有访问所述目标数据库的权限;若所述SQL语句具有访问所述目标数据库的权限,则在所述目标数据库中执行所述SQL语句,以生成针对所述业务访问请求的响应结果。
在本申请的一些实施例中,基于前述方案,所述处理单元还配置为:若所述SQL语句不具有访问所述目标数据库的权限,则执行所述访问策略中包含的数据库防御操作;其中,所述数据库防御操作包括以下至少一种:记录访问日志、生成报警信息、拒绝访问。
在本申请的一些实施例中,基于前述方案,所述处理单元配置为:在基于所述数据库账号信息和针对所述目标数据库配置的访问策略,响应所述业务访问请求之前,根据所述目标数据库的信息,与所述目标数据库建立连接,所述目标数据库的信息包括所述目标数据库的网络地址和端口号。
在本申请的一些实施例中,基于前述方案,所述授权认证单元配置为:将所述业务访问请求中包含的访问账号信息发送至访问管理服务,以使所述访问管理服务对所述访问账号信息进行授权认证,所述访问管理服务中存储有多个访问账号信息对应的权限信息。
在本申请的一些实施例中,基于前述方案,所述处理单元还配置为:在基于所述数据库账号信息和针对所述目标数据库配置的访问策略,响应所述业务访问请求之前,接收针对所述目标数据库的访问策略配置信息,所述访问策略配置信息中包含有以下至少一种信息:用于表示访问策略控制内容的策略字段信息、针对访问策略控制内容的判断比较方式、访问策略控制内容对应的判断比较设定值、符合访问策略后的响应操作;根据所述访问策略配置信息,获取并存储所述目标数据库对应的访问策略。
在本申请的一些实施例中,基于前述方案,针对所述目标数据库配置的访问策略包括以下任一或多个的组合:
若对查询类服务所在服务器的单次数据查询操作是查询全部数据,则将所述数据查询操作确定为异常操作;
若对查询类服务所在服务器进行数据库表的编辑操作,则将所述编辑操作确定为异常操作;
若对定时类服务所在服务器的非定时周期内进行访问操作,则将所述访问操作确定为异常操作;
若访问请求的来源网络地址不是设定的网络地址,则将所述访问请求确定为异常请求;
若访问请求是访问未授权数据,则将所述访问请求确定为异常请求。
在本申请的一些实施例中,基于前述方案,所述业务访问处理装置设置在代理网关内,所述代理网关连接至密钥管理服务和访问管理服务;所述访问管理服务用于根据所述代理网关的调用请求对所述代理网关接收到的业务访问请求中所包含的访问账号信息进行授权认证;所述密钥管理服务用于根据所述代理网关的调用请求进行加解密处理。
在本申请的一些实施例中,基于前述方案,所述代理网关还连接至数据仓库,所述数据仓库用于存储所述加密信息和与所述加密信息相对应的密钥标识;所述查询单元配置为:根据所述访问账号信息从所述数据仓库中查询所述加密信息;所述解密单元配置为:从所述数据仓库中获取与所述加密信息相对应的密钥标识,根据所述密钥标识调用密钥管理服务对所述加密信息进行解密处理。
根据本申请实施例的一个方面,提供了一种计算机可读介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现如上述实施例中所述的业务访问处理方法。
根据本申请实施例的一个方面,提供了一种电子设备,包括:一个或多个处理器;存储装置,用于存储一个或多个程序,当所述一个或多个程序被所述一个或多个处理器执行时,使得所述一个或多个处理器实现如上述实施例中所述的业务访问处理方法。
根据本申请实施例的一个方面,提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行上述各种可选实施例中提供的业务访问处理方法。
在本申请的一些实施例所提供的技术方案中,(代理网关)在接收到业务访问请求之后,可以对接收到的业务访问请求中所包含的访问账号信息进行授权认证,在对访问账号信息授权认证通过之后,根据访问账号信息查询与该访问账号信息相对应的加密信息,然后对该加密信息进行解密处理,得到数据库账号信息和目标数据库的信息,进而基于该数据库账号信息和针对目标数据库配置的访问策略,响应业务访问请求。可见,本申请实施例的技术方案通过引入代理网关来实现对数据库的业务访问管理,不仅能够通过加解密来提供访问过程的安全性,而且能够通过对访问账号信息进行授权认证,以及针对目标数据库配置的访问策略来实现数据库的访问权限管理,有效提高了数据库权限管理的灵活性。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本申请。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本申请的实施例,并与说明书一起用于解释本申请的原理。显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。在附图中:
图1示出了可以应用本申请实施例的技术方案的示例性系统架构的示意图;
图2示出了根据本申请的一个实施例的业务访问处理方法的流程图;
图3示出了根据本申请的一个实施例的基于数据库账号信息和针对目标数据库配置的访问策略,响应业务访问请求的流程图;
图4示出了根据本申请的一个实施例的用户在代理网关中进行注册的流程图;
图5示出了根据本申请的一个实施例的业务访问处理装置的框图;
图6示出了根据本申请的一个实施例的业务访问处理方法的流程图;
图7示出了根据本申请的一个实施例的业务访问处理装置的框图;
图8示出了适于用来实现本申请实施例的电子设备的计算机系统的结构示意图。
具体实施方式
现在将参考附图更全面地描述示例实施方式。然而,示例实施方式能够以多种形式实施,且不应被理解为限于在此阐述的范例;相反,提供这些实施方式使得本申请将更加全面和完整,并将示例实施方式的构思全面地传达给本领域的技术人员。
此外,所描述的特征、结构或特性可以以任何合适的方式结合在一个或更多实施例中。在下面的描述中,提供许多具体细节从而给出对本申请的实施例的充分理解。然而,本领域技术人员将意识到,可以实践本申请的技术方案而没有特定细节中的一个或更多,或者可以采用其它的方法、组元、装置、步骤等。在其它情况下,不详细示出或描述公知方法、装置、实现或者操作以避免模糊本申请的各方面。
附图中所示的方框图仅仅是功能实体,不一定必须与物理上独立的实体相对应。即,可以采用软件形式来实现这些功能实体,或在一个或多个硬件模块或集成电路中实现这些功能实体,或在不同网络和/或处理器装置和/或微控制器装置中实现这些功能实体。
附图中所示的流程图仅是示例性说明,不是必须包括所有的内容和操作/步骤,也不是必须按所描述的顺序执行。例如,有的操作/步骤还可以分解,而有的操作/步骤可以合并或部分合并,因此实际执行的顺序有可能根据实际情况改变。
需要说明的是:在本文中提及的“多个”是指两个或两个以上。“和/或”描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。字符“/”一般表示前后关联对象是一种“或”的关系。
图1示出了可以应用本申请实施例的技术方案的示例性系统架构的示意图。
如图1所示,系统架构可以包括终端设备101、代理网关102和多个待管理的数据库。其中,终端设备101可以是图1中所示的便携式计算机,或者也可以是智能手机、平板电脑、台式计算机等。终端设备101与代理网关102之间通过有线通信链路或者无线通信链路进行通信连接。
可选地,代理网关可以是运行在服务器上,服务器可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式系统,还可以是采用云技术的服务器,比如可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、CDN(Content Delivery Network,内容分发网络)、以及大数据和人工智能平台等基础云计算服务的云服务器。
云技术(Cloud technology)是指在广域网或局域网内将硬件、软件、网络等系列资源统一起来,实现数据的计算、储存、处理和共享的一种托管技术。云技术基于云计算商业模式应用的网络技术、信息技术、整合技术、管理平台技术、应用技术等的总称,可以组成资源池,按需所用,灵活便利。云计算技术将变成重要支撑。技术网络系统的后台服务需要大量的计算、存储资源,如视频网站、图片类网站和更多的门户网站。伴随着互联网行业的高度发展和应用,将来每个物品都有可能存在自己的识别标志,都需要传输到后台系统进行逻辑处理,不同程度级别的数据将会分开处理,各类行业数据皆需要强大的系统支撑,只能通过云计算来实现。
数据库(Database)简而言之可视为电子化的文件柜——存储电子文件的处所,用户可以对文件中的数据进行新增、查询、更新、删除等操作。所谓“数据库”是以一定方式储存在一起、能与多个用户共享、具有尽可能小的冗余度、与应用程序彼此独立的数据集合。
数据库管理系统(Database Management System,简称DBMS)是为管理数据库而设计的电脑软件系统,一般具有存储、截取、安全保障、备份等基础功能。数据库管理系统可以依据它所支持的数据库模型进行分类,例如关系式、XML(Extensible Markup Language,可扩展标记语言);或依据所支持的计算机类型进行分类,例如服务器群集、移动电话;或依据所用查询语言进行分类,例如SQL;或依据性能冲量重点进行分类,例如最大规模、最高运行速度;亦或其他的分类方式。不论使用哪种分类方式,一些DBMS能够跨类别,例如,同时支持多种查询语言。
在本申请的一个实施例中,图1中所示的代理网关可以是CASB(Cloud AccessSecurity Broker,云访问安全代理),CASB是一种部署在云上的用于细粒度数据加密、数据管理和数据访问控制的软件集合。
在本申请的一个实施例中,用户可以使用终端设备101向代理网关发送业务访问请求,该业务访问请求中包含有访问账号信息,该访问账号信息是用户在代理网关中的账号信息。代理网关102在接收到该业务访问请求之后,可以对该业务访问请求中所包含的访问账号信息进行授权认证。当代理网关102对该访问账号信息授权认证通过之后,可以根据该访问账号信息查询与访问账号信息相对应的加密信息,该加密信息中包含有访问账号信息对应的数据库账号信息和待访问的目标数据库(比如可以是图1中所示的数据库1或者数据库2等)的信息。之后代理网关102可以对该加密信息进行解密处理,得到数据库账号信息和目标数据库的信息,进而可以基于数据库账号信息和针对目标数据库配置的访问策略,响应业务访问请求。
具体而言,如果根据终端设备101发送的业务访问请求中所包含的访问账号信息确定终端设备101是访问数据库1的,并获取到了针对数据库1的数据库账号信息,那么若根据该数据库账号信息和针对数据库1配置的访问策略确定该业务访问请求为正常的访问请求且允许访问,则可以在数据库1中执行相应的SQL查询语句,并基于查询结果生成响应结果,之后可以将生成的响应结果返回给终端设备101。可见,本申请实施例的技术方案通过引入代理网关102来实现对数据库的业务访问管理,不仅能够通过加解密来提供访问过程的安全性,而且能够通过对访问账号信息进行授权认证,以及针对目标数据库配置的访问策略来实现数据库的访问权限管理,有效提高了数据库权限管理的灵活性。
以下对本申请实施例的技术方案的实现细节进行详细阐述:
图2示出了根据本申请的一个实施例的业务访问处理方法的流程图,该业务访问处理方法可以由代理网关来执行,该代理网关可以是图1中所示的代理网关102。参照图2所示,该业务访问处理方法至少包括步骤S210至步骤S240,详细介绍如下:
在步骤S210中,对接收到的业务访问请求中所包含的访问账号信息进行授权认证。
在本申请的一个实施例中,业务访问请求可以是由应用程序发送的,比如用户通过应用程序向代理网关发起业务访问请求,该应用访问请求中所包含的访问账号信息是用户在代理网关侧的账号信息,比如包含了该用户在代理网关侧的账号和密码信息。
代理网关对接收到的业务访问请求中所包含的访问账号信息进行授权认证的过程可以是将业务访问请求中包含的访问账号信息发送至访问管理服务,该访问管理服务中存储有多个访问账号信息对应的权限信息,进而可以由该访问管理服务对该访问账号信息进行授权认证。
在步骤S220中,在对访问账号信息授权认证通过之后,根据访问账号信息查询与访问账号信息相对应的加密信息,该加密信息中包含有访问账号信息对应的数据库账号信息和待访问的目标数据库的信息。
可选地,目标数据库的信息可以包括目标数据库的网络地址和端口号。数据库账号信息是用于访问目标数据库的账号信息。
在本申请的一个实施例中,代理网关维护有用户的访问账号信息与该用户实际的数据库账号信息及待访问的目标数据库的信息之间的对应关系,但是实际的数据库账号信息及待访问的目标数据库的信息是加密的,因此在对访问账号信息进行授权认证通过之后,可以基于该访问账号信息查询到与该访问账号信息相对应的加密信息,以便于根据该加密信息获取到用户实际需要访问的目标数据库的信息及数据库账号信息。
在步骤S230中,对加密信息进行解密处理,得到数据库账号信息和目标数据库的信息。
在本申请的一个实施例中,可以基于加密信息与密钥标识之间的对应关系,获取与加密信息相对应的密钥标识,然后根据该密钥标识调用密钥管理服务对加密信息进行解密处理。可选地,该加密信息可以是在进行账号注册时生成的,具体过程可以参照后续图4所示。
在步骤S240中,基于数据库账号信息和针对目标数据库配置的访问策略,响应业务访问请求。
在本申请的一个实施例中,在基于数据库账号信息和针对目标数据库配置的访问策略,响应业务访问请求之前,代理网关需要根据目标数据库的信息,与目标数据库建立连接。
在本申请的一个实施例中,如图3所示,步骤S240中基于数据库账号信息和针对目标数据库配置的访问策略,响应业务访问请求的过程,具体可以包括如下步骤:
步骤S310,从业务访问请求中解析出需要执行的SQL语句。
可选地,可以加载数据库解析器来解析业务访问请求,以获取到需要执行的SQL语句。数据库解析器可以是用于解析关系型数据库的解析器,关系型数据库比如可以是Mysql、Oracle、SQLServer等。
步骤S320,根据数据库账号信息和针对目标数据库配置的访问策略,确定SQL语句是否具有访问目标数据库的权限。
在本申请的一个实施例中,如果目标数据库是查询类服务中的数据库,且访问策略是对查询类服务所在服务器的单次数据查询操作仅允许查询部分数据,那么如果业务访问请求所请求查询的是全部数据,则可以确定该业务访问请求解析得到的SQL语句的查询操作异常,并且可以确定该SQL语句不具有访问目标数据库的权限。相反地,如果业务访问请求所请求查询的是部分数据,则可以确定该业务访问请求解析得到的SQL语句的查询操作正常,并且可以确定该SQL语句具有访问目标数据库的权限。
在本申请的一个实施例中,如果目标数据库是查询类服务中的数据库,且访问策略是不允许对查询类服务所在服务器进行数据库表的编辑操作,那么如果业务访问请求是请求对目标数据库中的数据库表进行编辑,则可以确定该业务访问请求解析得到的SQL语句的编辑操作异常,并且可以确定该SQL语句不具有访问目标数据库的权限。相反地,如果业务访问请求是请求对目标数据库中的数据库表进行查询,则可以确定该业务访问请求解析得到的SQL语句的查询操作正常(因为是非编辑请求),并且可以确定该SQL语句具有访问目标数据库的权限。
在本申请的一个实施例中,如果目标数据库是定时类服务所在服务器中的数据库,且访问策略是不允许对定时类服务所在服务器进行非定时周期内的访问操作,那么如果业务访问请求是对目标数据库进行的非定时周期内的访问操作,则可以确定该业务访问请求解析得到的SQL语句访问异常,并且可以确定该SQL语句不具有访问目标数据库的权限。相反地,如果业务访问请求是对目标数据库进行的定时周期内的访问操作,则可以确定该业务访问请求解析得到的SQL语句访问正常,并且可以确定该SQL语句具有访问目标数据库的权限。
在本申请的一个实施例中,如果访问策略是不允许设定网络地址之外的其它网络地址进行访问,那么如果针对目标数据库的业务访问请求的来源网络地址不是设定的网络地址,则可以确定该业务访问请求解析得到的SQL语句访问异常,并且可以确定该SQL语句不具有访问目标数据库的权限。相反地,如果针对目标数据库的业务访问请求的来源网络地址是设定的网络地址,则可以确定该业务访问请求解析得到的SQL语句访问正常,并且可以确定该SQL语句具有访问目标数据库的权限。
在本申请的一个实施例中,如果访问策略是不允许访问未授权数据,那么如果业务访问请求是访问目标数据库中的未授权数据,则可以确定该业务访问请求解析得到的SQL语句访问异常,并且可以确定该SQL语句不具有访问目标数据库的权限。相反地,如果业务访问请求是访问目标数据库中的授权数据,则可以确定该业务访问请求解析得到的SQL语句访问正常,并且可以确定该SQL语句具有访问目标数据库的权限。
步骤S330,若SQL语句具有访问目标数据库的权限,则在目标数据库中执行SQL语句,以生成针对业务访问请求的响应结果。
可选地,比如SQL语句是查询语句,那么执行SQL语句即为在目标数据库中查询相应的数据,并基于查询结果生成响应结果。如果SQL语句是对数据库表的编辑语句,那么执行SQL语句即为对目标数据库中的数据库表进行编辑操作,并基于编辑结果生成响应结果。
在本申请的一个实施例中,如图3所示,还可以包括步骤S340,若SQL语句不具有访问目标数据库的权限,则执行访问策略中包含的数据库防御操作;其中,数据库防御操作包括以下至少一种:记录访问日志、生成报警信息、拒绝访问。
在本申请的一个实施例中,前述实施例中的访问策略可以是数据库管理方根据实际需要进行配置的,比如代理网关可以接收针对目标数据库的访问策略配置信息,该访问策略配置信息中包含有以下至少一种信息:用于表示访问策略控制内容的策略字段信息、针对访问策略控制内容的判断比较方式、访问策略控制内容对应的判断比较设定值、符合访问策略后的响应操作,进而可以根据访问策略配置信息,获取并存储目标数据库对应的访问策略。
可选地,策略字段信息可以包括:业务访问请求的来源IP、业务访问请求的请求账号、业务访问请求对应的操作类型、业务访问请求解析得到的SQL语句的内容、业务访问请求所请求的数据量、业务访问请求对应的执行时长、业务访问请求的请求时间等;判断比较方式包括大于、小于、等于、字符查找匹配等;判断比较设定值可以视不同的策略字段信息有不同的定义;符合访问策略后的响应操作包括记录日志、告警、阻断等行为组成。
在本申请的一个实施例中,针对目标数据库配置的访问策略包括以下任一或多个的组合:
若对查询类服务所在服务器的单次数据查询操作是查询全部数据,则将数据查询操作确定为异常操作;
若对查询类服务所在服务器进行数据库表的编辑操作,则将编辑操作确定为异常操作;
若对定时类服务所在服务器的非定时周期内进行访问操作,则将访问操作确定为异常操作;
若访问请求的来源网络地址不是设定的网络地址,则将访问请求确定为异常请求;
若访问请求是访问未授权数据,则将访问请求确定为异常请求。
在本申请的一个实施例中,图2所示的业务访问处理方法可以由代理网关执行,该代理网关连接至密钥管理服务和访问管理服务;该访问管理服务用于根据代理网关的调用请求对代理网关接收到的业务访问请求中所包含的访问账号信息进行授权认证;该密钥管理服务用于根据代理网关的调用请求进行加解密处理。
可选地,代理网关还可以连接至数据仓库,该数据仓库用于存储加密信息和与加密信息相对应的密钥标识。在这种情况下,可以根据访问账号信息从数据仓库中查询与访问账号信息相对应的加密信息。而对加密信息进行解密处理的过程可以是从数据仓库中获取与加密信息相对应的密钥标识,根据密钥标识调用密钥管理服务对加密信息进行解密处理。
在本申请的一个实施例中,用户在代理网关中进行注册的流程可以如图4所示,包括如下步骤:
步骤S410,接收账号注册请求,该账号注册请求中包含有数据库账号信息和目标数据库的信息。
在本申请的一个实施例中,账号注册请求可以是用户通过应用程序发送的,比如用户通过应用程序向代理网关发起账号注册请求,该账号注册请求中包含的目标数据库的信息可以是目标数据库的网络地址和端口号,数据库账号信息是用于访问目标数据库的账号信息。
步骤S420,根据账号注册请求,分配与数据库账号信息对应的访问账号信息。
需要说明的是:分配的与数据库账号信息对应的访问账号信息是用于访问代理网关的,即用户通过访问账号信息来访问代理网关,代理网关可以基于该访问账号信息确定用户实际的数据库账号信息。
步骤S430,将数据库账号信息和目标数据库的信息进行加密处理,得到加密信息。
在本申请的一个实施例中,可以根据数据库账号信息和目标数据库的信息,调用密钥管理服务对数据库账号信息和目标数据库的信息进行加密,得到加密信息和密钥管理服务返回的密钥标识,然后将该密钥标识和加密信息进行对应存储。比如可以将该密钥标识和该加密信息对应存储至数据仓库中,进而在需要进行解密时,可以从数据仓库中获取到该密钥标识,并基于该密钥标识调用密钥管理服务器进行解密处理。
步骤S440,将加密信息和访问账号信号进行对应存储。
可选地,可以将加密信息和访问账号信息对应存储至数据仓库中,进而使得代理网关在接收到访问账号信息之后,可以根据该访问账号信息从数据仓库中获取到对应的加密信息,以通过对该加密信息进行解密处理得到数据库账号信息和目标数据库的信息。
以下结合图5和图6对本申请实施例的技术方案的实现细节进行详细阐述:
如图5所示,在本申请的一个实施例中,系统架构可以包括应用程序501、云数据加密代理网关502、策略控制台503和数据库504。其中,数据库504是应用程序501所实际需要访问的数据库,云数据加密代理网关502连接至KMS(Key Management Service,密钥管理服务)、CAM(Cloud Access Management,云访问管理)服务及数据仓库,数据仓库与用户需要访问的数据库504不同,数据仓库是云数据加密代理网关存储数据的仓库。
可选地,应用程序501可以部署在OverLay网络中,云数据加密代理网关502、KMS和CAM服务可以部署于UnderLay网络中。
在本申请的一个实施例中,应用程序501可以是用户需要进行数据库操作时所使用的服务程序;策略控制台503用于配置、保存和管理检测防御策略。云数据加密代理网关502用于实现数据库访问代理,其中可以预置各类元数据类型的解析器(用于实现图5中所示的协议解析功能)和处理插件(比如策略管理装置和检测引擎),检测引擎用于执行SQL语句异常行为检测逻辑,策略管理装置用于实现检测防御策略的管理。
在本申请的一个实施例中,云数据加密代理网关502可以实现根据用户配置,依据数据库访问的来源IP、执行的SQL语句、数据查询量等信息,检测被执行的SQL语句是否存在异常行为,并能根据配置记录日志或进行防御阻断。管理人员可以在策略控制台503配置相应的策略后,即可通过云数据加密代理网关502实现检测防御,无需进行任何业务改造,提高了数据库异常SQL语句的检测、防御能力。同时,可以通过KMS密钥管理系统实现密钥的可靠管理和分发,并使用CAM系统实现用户身份、访问权限的管理和控制。
在本申请的一个具体示例中,管理人员可以在策略控制台503上配置数据库信息。比如在策略控制台上配置KMS安全密钥,被代理的数据库的信息(如IP地址和端口等),被代理的数据库的账号信息(如登录账号、密码信息等)。其中,被代理数据库的信息用于在云数据加密代理网关502接收到用户的访问请求后连接到对应的目的数据库,比如连接到数据库504来响应用户的访问请求。
此外,管理人员还可以在策略控制台503上配置检测的行为规则集。可选地,行为规则集由一条或者多条行为规则组成。行为规则由规则字段、比较方式、规则值、命中规则后的防御行为四部分组成。具体地,规则字段包括请求来源IP、请求账号、操作类型、SQL语句内容、请求的数据量、执行时长、请求时间等。比较方式包括大于、小于、等于、字符查找匹配等。规则值可以根据不同的规则字段有不同的定义,比如规则字段是执行时长时,规则值是一个时间长度值;规则字段是请求的数据量时,规则值是一个数据量值。命中规则后的防御行为包括记录日志、告警、阻断等行为。
可选地,管理人员可以根据业务的实际情况设置不同的规则,例如:
规则1:对于查询类服务所在的服务器,执行单次查询则会根据条件限定查询部分数据,一次性查询所有数据可以视为异常情况。
比如,假定服务器是serverA,数据库是databaseB,那么可以设置规则为:在服务器serverA上执行数据库databaseB的查询操作时,如果没有查询条件,则视为异常情况。
规则2:对于查询类服务所在的服务器,更新或删除数据库表的操作可以视为异常情况。
比如:假定服务器是serverA,数据库是databaseB,那么可以设置规则为:在服务器serverA上执行数据库databaseB的更新、删除操作时,视为异常情况。
规则3:对于定时类服务所在的服务器,在非定时周期时间段执行操作可以视为异常情况。
比如,假定服务器是serverB,定时服务执行时间是12:00,执行时长为1小时,那么可以设置规则为:在服务器serverB上执行不在12:00-13:00的任何请求时,视为异常情况。
规则4:所有非预期的登录来源IP可以视为异常情况。
比如,假定服务器是serverC,可设置规则为:来源IP非serverC的任何请求,视为异常情况。
规则5:账号仅能访问授权数据,尝试访问未授权数据可以视为异常情况。
比如,假定账号userA授权操作数据库databaseC,那么可以设置规则为:使用账号userA认证后,操作非databaseC的数据,视为异常情况。
在配置完数据库信息和行为检测规则集之后,若应用程序需要访问数据库,则应用程序可以向云数据加密代理网关502发送请求数据,该请求数据中包含有用户的访问账号信息和认证信息(比如登录密码等)。云数据加密代理网关502在收到请求数据后,解析请求数据中包含的访问账号信息和认证信息,并访问CAM系统进行账号认证处理,并且可以进行资源授权认证,以检查用户是否有访问权限。
在授权认证通过后,云数据加密代理网关502解析请求数据对应的密钥相关信息,并根据该密钥相关信息访问KMS系统获取安全密钥信息。在获取到安全密钥信息之后,使用该安全密钥信息对访问账号信息所对应的加密信息进行解密处理,得到应用程序实际所要访问的数据库信息(如数据库IP地址、端口等)和数据库账号信息(数据库账号、访问密码信息等),之后云数据加密代理网关502根据解密后的数据库信息和数据库账号信息连接到被代理的数据库(比如图5中所示的数据库504)。
需要说明的是:当用户在云数据加密代理网关502中进行注册时,可以向云数据加密代理网关502提供数据库信息和数据库账号信息,进而云数据加密代理网关502可以向用户分配访问账号信息,同时云数据加密代理网关502对该数据库信息和数据库账号信息进行加密得到加密信息,将该加密信息和向用户分配的访问账号信息进行对应存储,比如可以存储至图5中所示的数据仓库中。
在云数据加密代理网关502连接至被代理的数据库之后,云数据加密代理网关502可以解析请求数据中的明文数据,根据数据格式加载内置的关系数据库(如Mysql、Oracle、SQLServer等)的解析器来解析明文数据,获取将要执行的SQL语句。
云数据加密代理网关502根据策略控制台503上配置的规则集,以SQL语句、登录来源IP、登录账号、当前时间等(也可以是这些参数中的部分)作为输入信息,判断是否命中用户配置的规则集中的规则。具体以前述示例中所述设置的规则为例进行说明:
对于上述规则1,如果在serverA上查询数据库databaseB的部分数据,则视为正常情况;如果在serverA上查询数据库databaseB上的全部数据,则视为异常情况。由于规则1并不涉及serverB上的操作,因此在serverB上的任何操作均视为正常情况;并且在serverA上查询数据库databaseA上的全部数据,由于规则1也不涉及,因此也视为正常情况。
对于上述规则2,如果在serverA上查询数据库databaseB上的数据,则视为正常情况;如果在serverA上更新、删除数据库databaseB上的数据,则视为异常情况;如果在serverA上查询、更新、删除数据库databaseA上的数据,由于规则2不涉及,因此视为正常情况;如果在serverB上查询、更新、删除数据库databaseA上的数据,由于规则2不涉及,因此也可以视为正常情况。
对于上述规则3,如果在12:00-13:00之间访问serverB,则视为正常情况;如果在非12:00-13:00之间访问serverB,则视为异常情况;如果在任意时间段对serverA执行数据库操作,由于规则3不涉及,因此可以视为正常情况。
对于上述规则4,如果从serverC发起验证请求,则视为正常情况;如果从serverA发起验证请求,则可以视为异常情况。
对于上述规则5,如果从任意服务器上使用账号userA验证后,操作数据库databaseC,则视为正常情况;如果从任意服务器上使用账号userA验证后,操作数据库databaseB,则视为异常情况;如果从任意服务器上使用账号userB验证后,操作数据库databaseC,由于规则5不涉及,因此可以视为正常情况;如果从任意服务器上使用账号userB验证后,操作数据库databaseB,由于规则5不涉及,因此可以视为正常情况。
如果云数据加密代理网关502检测到对数据库的访问操作命中了配置的规则,则可以根据规则中定义的防御行为执行对应的防御操作,如记录日志、告警,若定义了阻断,则可以阻止继续执行。
当然,如果云数据加密代理网关502根据检测结果判断为正常的SQL语句或不需要阻止执行的SQL语句,则可以执行SQL语句,并将执行结果数据返回给应用程序。
以上过程可以参照图6所示的流程图,具体包括如下步骤:
步骤S601,在策略控制台上配置数据库信息和检测行为规则集。
其中,配置的数据库信息和检测行为规则集具体参照前述实施例的技术方案,不在赘述。
步骤S602,应用程序需要读取数据库中的数据。比如用户需要通过应用程序读取某个数据库中的数据。
步骤S603,应用程序发起请求,传输数据到云数据加密代理网关。
步骤S604,云数据加密代理网关接收请求。
步骤S605,云数据加密代理网关判断是否是异常登录,如果是,则结束;如果不是异常登录,则执行步骤S606。
可选地,云数据加密代理网关可以根据应用程序发起的请求中所包含的账户常用登录地址、登录频繁情况等信息来确定是否是异常登陆。
步骤S606,解析连接请求的认证信息,访问CAM服务进行账号认证和资源授权认证。
步骤S607,判断认证是否通过,如果认证通过,则执行步骤S608;否则,结束。
步骤S608,云数据加密代理网关解析请求数据的密钥管理相关信息,访问KMS获取安全密钥信息。
具体而言,当用户通过应用程序在云数据加密代理网关中进行注册时,可以向云数据加密代理网关提供数据库信息和数据库账号信息,进而云数据加密代理网关可以向用户分配访问账号信息,同时云数据加密代理网关对该数据库信息和数据库账号信息进行加密得到加密信息,将该加密信息和向用户分配的访问账号信息进行对应存储,并且可以对应存储加密时所采用的密钥标识信息等。在这种情况下,当应用程序发送的请求数据中的访问账号信息认证通过之后,云数据加密代理网关可以获取到与该访问账号信息对应的密钥标识信息和加密信息,进而可以根据该密钥标识信息访问KMS获取安全密钥信息,并通过该安全密钥信息对该加密信息进行解密处理。
步骤S609,云数据加密代理网关根据数据格式加载预定义的解析器。
步骤S610,解析器解析数据,获取将要执行的SQL语句。具体地,解析器可以解析请求数据中的明文数据,获取将要执行的SQL语句。
步骤S611,云数据加密代理网关获取规则集。
步骤S612,判断将要执行的SQL语句是否为异常SQL语句,若是,则执行步骤S614;否则,执行步骤S613。具体判断过程可以参照前述实施例的技术方案。
步骤S613,如果将要执行的SQL语句不是异常SQL语句,则可以执行SQL语句,并且可以将执行结果数据返回给应用程序。
步骤S614,如果将要执行的SQL语句是异常SQL语句,则可以根据防御阻断规则进行阻断处理。
本申请实施例的技术方案使得用户可以根据自身业务需求,配置细粒度、灵活的规则策略集,无需禁止所有操作,并能满足数据库自身权限管理无法满足的场景。同时,应用程序也无需底层驱动改造,只需连接云数据加密代理网关即可。此外,通过策略控制台集中管理,在控制台配置后,无需将策略下发到各个应用程序,有效提高了数据库权限管理的灵活性。
以下介绍本申请的装置实施例,可以用于执行本申请上述实施例中的业务访问处理方法。对于本申请装置实施例中未披露的细节,请参照本申请上述的业务访问处理方法的实施例。
图7示出了根据本申请的一个实施例的业务访问处理装置的框图,该业务访问处理装置可以设置在代理网关内,该代理网关可以是图1中所示的代理网关102。
参照图7所示,根据本申请的一个实施例的业务访问处理装置700,包括:授权认证单元702、查询单元704、解密单元706和处理单元708。
其中,授权认证单元702配置为对接收到的业务访问请求中所包含的访问账号信息进行授权认证;查询单元704配置为在对所述访问账号信息授权认证通过之后,根据所述访问账号信息查询与所述访问账号信息相对应的加密信息,所述加密信息中包含有所述访问账号信息对应的数据库账号信息和待访问的目标数据库的信息;解密单元706配置为对所述加密信息进行解密处理,得到所述数据库账号信息和所述目标数据库的信息;处理单元708配置为基于所述数据库账号信息和针对所述目标数据库配置的访问策略,响应所述业务访问请求。
在本申请的一些实施例中,基于前述方案,解密单元706配置为:基于加密信息与密钥标识之间的对应关系,获取与所述加密信息相对应的密钥标识;根据所述密钥标识调用密钥管理服务对所述加密信息进行解密处理。
在本申请的一些实施例中,基于前述方案,所述业务访问处理装置700还包括:接收单元,配置为接收账号注册请求,所述账号注册请求中包含有所述数据库账号信息和所述目标数据库的信息;分配单元,配置为根据所述账号注册请求,分配与所述数据库账号信息对应的访问账号信息;加密单元,配置为将所述数据库账号信息和所述目标数据库的信息进行加密处理,得到加密信息;存储单元,配置为将所述加密信息和所述访问账号信号进行对应存储。
在本申请的一些实施例中,基于前述方案,解密单元706配置为:根据所述数据库账号信息和所述目标数据库的信息,调用所述密钥管理服务对所述数据库账号信息和所述目标数据库的信息进行加密,得到加密信息和所述密钥管理服务返回的密钥标识;将所述密钥标识和所述加密信息进行对应存储。
在本申请的一些实施例中,基于前述方案,所述处理单元708配置为:从所述业务访问请求中解析出需要执行的SQL语句;根据所述数据库账号信息和针对所述目标数据库配置的访问策略,确定所述SQL语句是否具有访问所述目标数据库的权限;若所述SQL语句具有访问所述目标数据库的权限,则在所述目标数据库中执行所述SQL语句,以生成针对所述业务访问请求的响应结果。
在本申请的一些实施例中,基于前述方案,所述处理单元708还配置为:若所述SQL语句不具有访问所述目标数据库的权限,则执行所述访问策略中包含的数据库防御操作;其中,所述数据库防御操作包括以下至少一种:记录访问日志、生成报警信息、拒绝访问。
在本申请的一些实施例中,基于前述方案,所述处理单元708配置为:在基于所述数据库账号信息和针对所述目标数据库配置的访问策略,响应所述业务访问请求之前,根据所述目标数据库的信息,与所述目标数据库建立连接,所述目标数据库的信息包括所述目标数据库的网络地址和端口号。
在本申请的一些实施例中,基于前述方案,所述授权认证单元702配置为:将所述业务访问请求中包含的访问账号信息发送至访问管理服务,以使所述访问管理服务对所述访问账号信息进行授权认证,所述访问管理服务中存储有多个访问账号信息对应的权限信息。
在本申请的一些实施例中,基于前述方案,所述处理单元708还配置为:在基于所述数据库账号信息和针对所述目标数据库配置的访问策略,响应所述业务访问请求之前,接收针对所述目标数据库的访问策略配置信息,所述访问策略配置信息中包含有以下至少一种信息:用于表示访问策略控制内容的策略字段信息、针对访问策略控制内容的判断比较方式、访问策略控制内容对应的判断比较设定值、符合访问策略后的响应操作;根据所述访问策略配置信息,获取并存储所述目标数据库对应的访问策略。
在本申请的一些实施例中,基于前述方案,针对所述目标数据库配置的访问策略包括以下任一或多个的组合:
若对查询类服务所在服务器的单次数据查询操作是查询全部数据,则将所述数据查询操作确定为异常操作;
若对查询类服务所在服务器进行数据库表的编辑操作,则将所述编辑操作确定为异常操作;
若对定时类服务所在服务器的非定时周期内进行访问操作,则将所述访问操作确定为异常操作;
若访问请求的来源网络地址不是设定的网络地址,则将所述访问请求确定为异常请求;
若访问请求是访问未授权数据,则将所述访问请求确定为异常请求。
在本申请的一些实施例中,基于前述方案,所述业务访问处理装置设置在代理网关内,所述代理网关连接至密钥管理服务和访问管理服务;所述访问管理服务用于根据所述代理网关的调用请求对所述代理网关接收到的业务访问请求中所包含的访问账号信息进行授权认证;所述密钥管理服务用于根据所述代理网关的调用请求进行加解密处理。
在本申请的一些实施例中,基于前述方案,所述代理网关还连接至数据仓库,所述数据仓库用于存储所述加密信息和与所述加密信息相对应的密钥标识;所述查询单元704配置为:根据所述访问账号信息从所述数据仓库中查询所述加密信息;所述解密单元706配置为:从所述数据仓库中获取与所述加密信息相对应的密钥标识,根据所述密钥标识调用密钥管理服务对所述加密信息进行解密处理。
图8示出了适于用来实现本申请实施例的电子设备的计算机系统的结构示意图。
需要说明的是,图8示出的电子设备的计算机系统800仅是一个示例,不应对本申请实施例的功能和使用范围带来任何限制。
如图8所示,计算机系统800包括中央处理单元(Central Processing Unit,CPU)801,其可以根据存储在只读存储器(Read-Only Memory,ROM)802中的程序或者从存储部分808加载到随机访问存储器(Random Access Memory,RAM)803中的程序而执行各种适当的动作和处理,例如执行上述实施例中所述的方法。在RAM 803中,还存储有系统操作所需的各种程序和数据。CPU 801、ROM 802以及RAM 803通过总线804彼此相连。输入/输出(Input/Output,I/O)接口805也连接至总线804。
以下部件连接至I/O接口805:包括键盘、鼠标等的输入部分806;包括诸如阴极射线管(Cathode Ray Tube,CRT)、液晶显示器(Liquid Crystal Display,LCD)等以及扬声器等的输出部分807;包括硬盘等的存储部分808;以及包括诸如LAN(Local Area Network,局域网)卡、调制解调器等的网络接口卡的通信部分809。通信部分809经由诸如因特网的网络执行通信处理。驱动器810也根据需要连接至I/O接口805。可拆卸介质811,诸如磁盘、光盘、磁光盘、半导体存储器等等,根据需要安装在驱动器810上,以便于从其上读出的计算机程序根据需要被安装入存储部分808。
特别地,根据本申请的实施例,上文参考流程图描述的过程可以被实现为计算机软件程序。例如,本申请的实施例包括一种计算机程序产品,其包括承载在计算机可读介质上的计算机程序,该计算机程序包含用于执行流程图所示的方法的计算机程序。在这样的实施例中,该计算机程序可以通过通信部分809从网络上被下载和安装,和/或从可拆卸介质811被安装。在该计算机程序被中央处理单元(CPU)801执行时,执行本申请的系统中限定的各种功能。
需要说明的是,本申请实施例所示的计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质或者是上述两者的任意组合。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子可以包括但不限于:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机访问存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(Erasable Programmable Read Only Memory,EPROM)、闪存、光纤、便携式紧凑磁盘只读存储器(Compact Disc Read-Only Memory,CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本申请中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。而在本申请中,计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的计算机程序。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。计算机可读介质上包含的计算机程序可以用任何适当的介质传输,包括但不限于:无线、有线等等,或者上述的任意合适的组合。
附图中的流程图和框图,图示了按照本申请各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。其中,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,上述模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图或流程图中的每个方框、以及框图或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
描述于本申请实施例中所涉及到的单元可以通过软件的方式实现,也可以通过硬件的方式来实现,所描述的单元也可以设置在处理器中。其中,这些单元的名称在某种情况下并不构成对该单元本身的限定。
作为另一方面,本申请还提供了一种计算机可读介质,该计算机可读介质可以是上述实施例中描述的电子设备中所包含的;也可以是单独存在,而未装配入该电子设备中。上述计算机可读介质承载有一个或者多个程序,当上述一个或者多个程序被一个该电子设备执行时,使得该电子设备实现上述实施例中所述的方法。
应当注意,尽管在上文详细描述中提及了用于动作执行的设备的若干模块或者单元,但是这种划分并非强制性的。实际上,根据本申请的实施方式,上文描述的两个或更多模块或者单元的特征和功能可以在一个模块或者单元中具体化。反之,上文描述的一个模块或者单元的特征和功能可以进一步划分为由多个模块或者单元来具体化。
通过以上的实施方式的描述,本领域的技术人员易于理解,这里描述的示例实施方式可以通过软件实现,也可以通过软件结合必要的硬件的方式来实现。因此,根据本申请实施方式的技术方案可以以软件产品的形式体现出来,该软件产品可以存储在一个非易失性存储介质(可以是CD-ROM,U盘,移动硬盘等)中或网络上,包括若干指令以使得一台计算设备(可以是个人计算机、服务器、触控终端、或者网络设备等)执行根据本申请实施方式的方法。
本领域技术人员在考虑说明书及实践这里公开的实施方式后,将容易想到本申请的其它实施方案。本申请旨在涵盖本申请的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本申请的一般性原理并包括本申请未公开的本技术领域中的公知常识或惯用技术手段。
应当理解的是,本申请并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本申请的范围仅由所附的权利要求来限制。
Claims (15)
1.一种业务访问处理方法,其特征在于,包括:
对接收到的业务访问请求中所包含的访问账号信息进行授权认证;
在对所述访问账号信息授权认证通过之后,根据所述访问账号信息查询与所述访问账号信息相对应的加密信息,所述加密信息中包含有所述访问账号信息对应的数据库账号信息和待访问的目标数据库的信息;
对所述加密信息进行解密处理,得到所述数据库账号信息和所述目标数据库的信息;
基于所述数据库账号信息和针对所述目标数据库配置的访问策略,响应所述业务访问请求。
2.根据权利要求1所述的业务访问处理方法,其特征在于,所述对所述加密信息进行解密处理,包括:
基于加密信息与密钥标识之间的对应关系,获取与所述加密信息相对应的密钥标识;
根据与所述加密信息相对应的密钥标识调用密钥管理服务对所述加密信息进行解密处理。
3.根据权利要求2所述的业务访问处理方法,其特征在于,在对接收到的业务访问请求中所包含的访问账号信息进行授权认证之前,所述业务访问处理方法还包括:
接收账号注册请求,所述账号注册请求中包含有所述数据库账号信息和所述目标数据库的信息;
根据所述账号注册请求,分配与所述数据库账号信息对应的访问账号信息;
将所述数据库账号信息和所述目标数据库的信息进行加密处理,得到加密信息;
将所述加密信息和所述访问账号信号进行对应存储。
4.根据权利要求3所述的业务访问处理方法,其特征在于,将所述数据库账号信息和所述目标数据库的信息进行加密处理,包括:
根据所述数据库账号信息和所述目标数据库的信息,调用所述密钥管理服务对所述数据库账号信息和所述目标数据库的信息进行加密,得到加密信息和所述密钥管理服务返回的密钥标识;
将所述密钥标识和所述加密信息进行对应存储。
5.根据权利要求1所述的业务访问处理方法,其特征在于,基于所述数据库账号信息和针对所述目标数据库配置的访问策略,响应所述业务访问请求,包括:
从所述业务访问请求中解析出需要执行的结构化查询语言SQL语句;
根据所述数据库账号信息和针对所述目标数据库配置的访问策略,确定所述SQL语句是否具有访问所述目标数据库的权限;
若所述SQL语句具有访问所述目标数据库的权限,则在所述目标数据库中执行所述SQL语句,以生成针对所述业务访问请求的响应结果。
6.根据权利要求5所述的业务访问处理方法,其特征在于,所述业务访问处理方法还包括:
若所述SQL语句不具有访问所述目标数据库的权限,则执行所述访问策略中包含的数据库防御操作;其中,所述数据库防御操作包括以下至少一种:记录访问日志、生成报警信息、拒绝访问。
7.根据权利要求1所述的业务访问处理方法,其特征在于,在基于所述数据库账号信息和针对所述目标数据库配置的访问策略,响应所述业务访问请求之前,所述业务访问处理方法还包括:
根据所述目标数据库的信息,与所述目标数据库建立连接,所述目标数据库的信息包括所述目标数据库的网络地址和端口号。
8.根据权利要求1所述的业务访问处理方法,其特征在于,对接收到的业务访问请求中所包含的访问账号信息进行授权认证,包括:
将所述业务访问请求中包含的访问账号信息发送至访问管理服务,以使所述访问管理服务对所述访问账号信息进行授权认证,所述访问管理服务中存储有多个访问账号信息对应的权限信息。
9.根据权利要求1所述的业务访问处理方法,其特征在于,在基于所述数据库账号信息和针对所述目标数据库配置的访问策略,响应所述业务访问请求之前,所述业务访问处理方法还包括:
接收针对所述目标数据库的访问策略配置信息,所述访问策略配置信息中包含有以下至少一种信息:用于表示访问策略控制内容的策略字段信息、针对访问策略控制内容的判断比较方式、访问策略控制内容对应的判断比较设定值、符合访问策略后的响应操作;
根据所述访问策略配置信息,获取并存储所述目标数据库对应的访问策略。
10.根据权利要求1所述的业务访问处理方法,其特征在于,针对所述目标数据库配置的访问策略包括以下任一或多个的组合:
若对查询类服务所在服务器的单次数据查询操作是查询全部数据,则将所述数据查询操作确定为异常操作;
若对查询类服务所在服务器进行数据库表的编辑操作,则将所述编辑操作确定为异常操作;
若对定时类服务所在服务器的非定时周期内进行访问操作,则将所述访问操作确定为异常操作;
若访问请求的来源网络地址不是设定的网络地址,则将所述访问请求确定为异常请求;
若访问请求是访问未授权数据,则将所述访问请求确定为异常请求。
11.根据权利要求1至10中任一项所述的业务访问处理方法,其特征在于,所述业务访问处理方法应用于代理网关,所述代理网关连接至密钥管理服务和访问管理服务;所述访问管理服务用于根据所述代理网关的调用请求对所述代理网关接收到的业务访问请求中所包含的访问账号信息进行授权认证;所述密钥管理服务用于根据所述代理网关的调用请求进行加解密处理。
12.根据权利要求11所述的业务访问处理方法,其特征在于,所述代理网关还连接至数据仓库,所述数据仓库用于存储所述加密信息和与所述加密信息相对应的密钥标识;
根据所述访问账号信息查询与所述访问账号信息相对应的加密信息,包括:根据所述访问账号信息从所述数据仓库中查询所述加密信息;
对所述加密信息进行解密处理,包括:从所述数据仓库中获取与所述加密信息相对应的密钥标识,根据所述密钥标识调用密钥管理服务对所述加密信息进行解密处理。
13.一种业务访问处理装置,其特征在于,包括:
授权认证单元,配置为对接收到的业务访问请求中所包含的访问账号信息进行授权认证;
查询单元,配置为在对所述访问账号信息授权认证通过之后,根据所述访问账号信息查询与所述访问账号信息相对应的加密信息,所述加密信息中包含有所述访问账号信息对应的数据库账号信息和待访问的目标数据库的信息;
解密单元,配置为对所述加密信息进行解密处理,得到所述数据库账号信息和所述目标数据库的信息;
处理单元,配置为基于所述数据库账号信息和针对所述目标数据库配置的访问策略,响应所述业务访问请求。
14.一种计算机可读介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至12中任一项所述的业务访问处理方法。
15.一种电子设备,其特征在于,包括:
一个或多个处理器;
存储装置,用于存储一个或多个程序,当所述一个或多个程序被所述一个或多个处理器执行时,使得所述一个或多个处理器实现如权利要求1至12中任一项所述的业务访问处理方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110377882.3A CN115203670A (zh) | 2021-04-08 | 2021-04-08 | 业务访问处理方法、装置、计算机可读介质及电子设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110377882.3A CN115203670A (zh) | 2021-04-08 | 2021-04-08 | 业务访问处理方法、装置、计算机可读介质及电子设备 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115203670A true CN115203670A (zh) | 2022-10-18 |
Family
ID=83571127
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110377882.3A Pending CN115203670A (zh) | 2021-04-08 | 2021-04-08 | 业务访问处理方法、装置、计算机可读介质及电子设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115203670A (zh) |
-
2021
- 2021-04-08 CN CN202110377882.3A patent/CN115203670A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR102514325B1 (ko) | 모델 훈련 시스템 및 방법과, 저장 매체 | |
CN108810006B (zh) | 资源访问方法、装置、设备及存储介质 | |
US10055561B2 (en) | Identity risk score generation and implementation | |
US10002152B2 (en) | Client computer for updating a database stored on a server via a network | |
CN108289098B (zh) | 分布式文件系统的权限管理方法和装置、服务器、介质 | |
US20150271267A1 (en) | Content-oriented federated object store | |
US9336256B2 (en) | Method, apparatus, and computer-readable medium for data tokenization | |
US10666647B2 (en) | Access to data stored in a cloud | |
US11870882B2 (en) | Data processing permits system with keys | |
US10911538B2 (en) | Management of and persistent storage for nodes in a secure cluster | |
CN109657492B (zh) | 数据库管理方法、介质及电子设备 | |
Sicari et al. | Security&privacy issues and challenges in NoSQL databases | |
US11038835B2 (en) | Systems and methods for managing domain name information | |
CN113392415A (zh) | 数据仓库的访问控制方法、系统和电子设备 | |
CN113609531B (zh) | 基于区块链的信息交互方法、装置、设备、介质和产品 | |
CN115145973A (zh) | 数据操作方法、程序产品、存储介质及电子设备 | |
CN115203670A (zh) | 业务访问处理方法、装置、计算机可读介质及电子设备 | |
CN116842546A (zh) | 分布式数据访问授权及数据服务方法及装置、设备、介质 | |
Guo et al. | A Data Security Exchange and Sharing System Construction Method and Perfomance Evaluation | |
CN114707128A (zh) | 一种数据库访问方法、相关设备、存储介质及程序产品 | |
WO2022071946A1 (en) | Data transformations based on policies | |
CN117272279A (zh) | 用户权限数据处理方法、系统、设备及存储介质 | |
CN116662373A (zh) | 一种数据访问控制方法、装置、设备及介质 | |
Muthurajan et al. | DKSM‐DHT: privacy‐preserving dynamic key sharing model in distributed cloud computing environment | |
CN115941324A (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 |