CN106407757B - 数据库的访问权限处理方法、装置及系统 - Google Patents

数据库的访问权限处理方法、装置及系统 Download PDF

Info

Publication number
CN106407757B
CN106407757B CN201510486696.8A CN201510486696A CN106407757B CN 106407757 B CN106407757 B CN 106407757B CN 201510486696 A CN201510486696 A CN 201510486696A CN 106407757 B CN106407757 B CN 106407757B
Authority
CN
China
Prior art keywords
data
tables
reconstructed
user
deleting
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.)
Active
Application number
CN201510486696.8A
Other languages
English (en)
Other versions
CN106407757A (zh
Inventor
胡南杰
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Alibaba Group Holding Ltd
Original Assignee
Alibaba Group Holding Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Alibaba Group Holding Ltd filed Critical Alibaba Group Holding Ltd
Priority to CN201510486696.8A priority Critical patent/CN106407757B/zh
Priority to PCT/CN2016/092672 priority patent/WO2017024956A1/zh
Publication of CN106407757A publication Critical patent/CN106407757A/zh
Application granted granted Critical
Publication of CN106407757B publication Critical patent/CN106407757B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/30Authentication, i.e. establishing the identity or authorisation of security principals
    • G06F21/31User authentication

Abstract

本申请公开了一种数据库的访问权限处理方法、装置及系统。其中,该方法包括:接收用于自动继承访问权限的权限继承请求,其中,权限继承请求为数据库中的任意一个数据表被重建或删除后触发生成的请求;解析权限继承请求,获取被重建或删除的数据表的表信息;根据被重建或删除的数据表的表信息查询得到被重建或删除的数据表所对应的用户权限;将用户权限重新赋权给数据库中被重建或删除的数据表。本申请解决了由于数据仓库中的表被删除或重建后用户权限丢失,而造成的重新对用户进行授权流程繁琐且效率低的技术问题。

Description

数据库的访问权限处理方法、装置及系统
技术领域
本申请涉及数据处理领域,具体而言,涉及一种数据库的访问权限处理方法、装置及系统。
背景技术
为了存储于数据库中的数据表的安全,会通过用户访问权限来实现对用户访问数据表的控制。然而,当数据库中的数据表发生重建或删除后,数据表的用户权限发生丢失,导致用户对数据表的访问异常。
以数据仓库为例,按照预先设置的模型,将汇集整理后的数据存储于数据仓库中。然而,随着数据仓库数据量越来越庞大,业务越来越复杂,之前的模型设计会因为各种业务不断的发生变化,而使得需要对数据仓库中的数据表不断的进行重构,导致外围系统依赖账号失去权限影响外围系统正常工作。
相关技术中,可以通过如下两种方案来解决数据表被删除重建后权限丢失的问题,其一是等待直到用户发现自己失去权限,然后由用户再次发起一遍对数据表的申请,走一次预设申请流程;其二是在数据表重建之前,先从元数据中查询待重建或删除的数据表的用户权限情况,然后再重新批量的执行一次授权;
然而,在相关技术的解决方案中,如果等待直到用户自己发现失去权限,而被动等待用户自主重新申请,可能会导致依赖该数据表的所有作业执行出错,重复的申请也导致资源浪费耗时、耗力;另一方面,如果采用从元数据中获取待重建或删除的数据表的用户权限的方案,在数据表已经重建后将无法正确获取到原始数据表的用户权限,而且,根据每个用户所对应的用户权限去赋权,会增加数据表拥有者的工作量。
针对上述由于数据仓库中的表被删除或重建后用户权限丢失,而造成的重新对用户进行授权流程繁琐且效率低的问题,目前尚未提出有效的解决方案。
发明内容
本申请实施例提供了一种数据库的访问权限处理方法、装置及系统,以至少解决由于数据仓库中的表被删除或重建后用户权限丢失,而造成的重新对用户进行授权流程繁琐且效率低的技术问题。
根据本申请实施例的一个方面,提供了一种数据库的访问权限处理方法,包括:接收用于自动继承访问权限的权限继承请求,其中,权限继承请求为数据库中的任意一个数据表被重建或删除后触发生成的请求;解析权限继承请求,获取被重建或删除的数据表的表信息;根据被重建或删除的数据表的表信息查询得到被重建或删除的数据表所对应的用户权限;将用户权限重新赋权给数据库中被重建或删除的数据表。
根据本申请实施例的另一个方面,还提供了一种数据库的访问权限处理装置,包括:接收模块,用于接收用于自动继承访问权限的权限继承请求,其中,权限继承请求为数据库中的任意一个数据表被重建或删除后触发生成的请求;解析模块,用于解析权限继承请求,获取被重建或删除的数据表的表信息;查询模块,用于根据被重建或删除的数据表的表信息查询得到被重建或删除的数据表所对应的用户权限;赋权模块,用于将用户权限重新赋权给数据库中被重建或删除的数据表。
根据本申请实施例的又一个方面,还提供了一种数据库的访问权限处理系统,包括:数据库服务器,用于保存数据库,在数据库中的任意一个数据表被重建或删除后,触发生成用于自动继承访问权限的权限继承请求;权限处理系统,用于接收并解析权限继承请求,获取被重建或删除的数据表的表信息,在根据被重建或删除的数据表的表信息查询得到被重建或删除的数据表所对应的用户权限之后,将用户权限重新赋权给数据库中被重建或删除的数据表。
在本申请实施例中,采用接收用于自动继承访问权限的权限继承请求,其中,权限继承请求为数据库中的任意一个数据表被重建或删除后触发生成的请求的方式,通过解析权限继承请求,获取被重建或删除的数据表的表信息,达到了根据被重建或删除的数据表的表信息查询得到被重建或删除的数据表所对应的用户权限的目的,从而实现了将用户权限重新赋权给数据库中被重建或删除的数据表的技术效果,进而解决了由于数据仓库中的表被删除或重建后用户权限丢失,而造成的重新对用户进行授权流程繁琐且效率低的技术问题。
附图说明
此处所说明的附图用来提供对本申请的进一步理解,构成本申请的一部分,本申请的示意性实施例及其说明用于解释本申请,并不构成对本申请的不当限定。在附图中:
图1是根据本申请实施例的一种数据库的访问权限处理方法的计算机终端的硬件结构框图;
图2是根据本申请实施例一的数据库的访问权限处理方法的流程示意图;
图3是根据本申请实施例一的一种可选的数据库的访问权限处理方法的交互示意图;
图4是根据本申请实施例一的一种可选的数据库的访问权限处理方法的流程图;
图5是根据本申请实施例二的数据库的访问权限处理装置的结构示意图;
图6是根据本申请实施例二的一种可选的解析模块的结构示意图;
图7是根据本申请实施例二的一种可选的查询模块的结构示意图;
图8是根据本申请实施例二的一种可选的数据库的访问权限处理装置的结构示意图;
图9是根据本申请实施例二的一种可选的赋权模块的结构示意图;
图10是根据本申请实施例二的另一种可选的数据库的访问权限处理装置的结构示意图;
图11是根据本申请实施例三的数据库的访问权限处理系统的结构示意图;以及
图12是根据本申请实施例的一种计算机终端的结构框图。
具体实施方式
为了使本技术领域的人员更好地理解本申请方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分的实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本申请保护的范围。
需要说明的是,本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本申请的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
下面对本申请涉及到的术语进行解释如下:
开放数据处理服务(Open Data Processing Service,简称ODPS),是阿里云自主研发,提供TB/PB级数据的分布式处理能力,适用于连线数据的处理、数据分析、数据挖掘和商业智能等领域。
实施例1
根据本申请实施例,还提供了一种数据库的访问权限处理方法的方法实施例,需要说明的是,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
本申请实施例一所提供的方法实施例可以在移动终端、计算机终端或者类似的运算装置中执行。以运行在计算机终端上为例,图1是本申请实施例的一种数据库的访问权限处理方法的计算机终端的硬件结构框图。如图1所示,计算机终端10可以包括一个或多个(图中仅示出一个)处理器102(处理器102可以包括但不限于微处理器MCU或可编程逻辑器件FPGA等的处理装置)、用于存储数据的存储器104、以及用于通信功能的传输模块106。本领域普通技术人员可以理解,图1所示的结构仅为示意,其并不对上述电子装置的结构造成限定。例如,计算机终端10还可包括比图1中所示更多或者更少的组件,或者具有与图1所示不同的配置。
存储器104可用于存储应用软件的软件程序以及模块,如本申请实施例中的数据库的访问权限处理方法对应的程序指令/模块,处理器102通过运行存储在存储器104内的软件程序以及模块,从而执行各种功能应用以及数据处理,即实现上述的应用程序的漏洞检测方法。存储器104可包括高速随机存储器,还可包括非易失性存储器,如一个或者多个磁性存储装置、闪存、或者其他非易失性固态存储器。在一些实例中,存储器104可进一步包括相对于处理器102远程设置的存储器,这些远程存储器可以通过网络连接至计算机终端10。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
传输装置106用于经由一个网络接收或者发送数据。上述的网络具体实例可包括计算机终端10的通信供应商提供的无线网络。在一个实例中,传输装置106包括一个网络适配器(Network Interface Controller,NIC),其可通过基站与其他网络设备相连从而可与互联网进行通讯。在一个实例中,传输装置106可以为射频(Radio Frequency,RF)模块,其用于通过无线方式与互联网进行通讯。
在上述运行环境下,本申请提供了如图2所示的数据库的访问权限处理方法。图2是根据本申请实施例一的数据库的访问权限处理方法的流程图。此处需要说明的是,在本申请实施例中,图1所示的计算机终端10可以为权限服务器。
如图2所示,一种可选的数据库的访问权限处理方法包括如下实施步骤;
步骤S202:可以通过权限服务器来接收用于自动继承访问权限的权限继承请求,其中,权限继承请求为数据库中的任意一个数据表被重建或删除后触发生成的请求;
本申请上述步骤S202中,数据库可以为数据库服务器中的任意一个数据库。数据库中的任意一个数据表都可以具有预先设置的访问权限属性,其中,访问权限的属性可以包括如下任意一种或多种权限:读权限、写权限、删除权限或修改权限等。重建、删除为对数据库中包含的数据表进行的修改操作,在进行数据表的重建或删除后,数据库中该数据表之前被设置的访问权限可能丢失,使得用户下一次对被修改或删除的数据表的访问遭到拒绝,影响用户的正常使用。
此处需要说明的是,权限继承请求旨在自动发起获取被重建或删除的数据表的访问权限的功能,目的在于利用被重建之前或被删除之前的数据表的访问权限来得到重建或删除的数据表的权限,使得用户不用重新访问申请权限也可以正常访问被重建或删除的数据表,也就是说,权限继承请求用于启动被重建或删除后的数据表自动继承被重建或删除前的数据表的访问权限。
此处还需要说明的是,权限继承请求可以由用于存储数据库的数据库服务器发出,数据库服务器与图1所示的计算机终端10具有通信关系,在对数据库中的数据表进行操作时可以触发数据库中的触发器,使得触发器发出携带有具体操作内容的信息。通过对数据库中针对数据表的创建、修改、或删除等操作进行监听,使得在数据库中的任意一个数据表被重建或删除后,自动生成用于启动被重建或删除的数据表的访问权限继承的请求。
此处还需要说明的是,本申请实施例中的数据库,既可以包含通常意义上的事务型数据库,如Oracle、SQL Server,也可以包含主题型的数据仓库;既可以包含本地存储型数据库,也可以包含云数据库。
例如,以阿里云的开放数据处理服务为例,说明如下一种可能的应用场景:假设从淘宝的数据库中获取七月份淘宝网站中每一笔交易数据,然后将交易数据加工整理后得到销售事实表,包括订单号、产品键、卖家键和买家键、销售量和销售时间;还得到产品维表、卖家维表和买家维表,分别通过产品键、卖家键和买家键与销售事实表关联;将上述事实表和维表上传至ODPS存储,假设被重建或删除的是产品维表(以下记为数据表A)。用户开通ODPS服务后向数据表A的拥有者申请访问数据表A,在用户对数据表A的申请通过后,采用设置数据表A内容的方式允许该用户对数据表A的访问权限。用户可以通过ODPS客户端发起查询请求来访问数据库中的数据表A。当数据库中的原始数据表A被重建后,得到被重建的数据表A(以下记为新数据表A’),新数据表A’中关于所有用户(包括上述用户)的访问权限信息也可能随着重建操作而丢失。此时,可以使数据表A的重建操作触发生成一个权限继承请求,来触发新数据表A’继承数据表A中关于所有用户的访问权限信息的操作。
步骤S204:可以通过权限服务器来解析权限继承请求,获取被重建或删除的数据表的表信息;
本申请上述步骤S204中,权限继承请求可以由数据库服务器按照预定格式发出,携带有针对数据表A的具体操作内容,在确认权限继承请求中携带的操作内容是重建数据表或删除数据表时,则从权限继承请求中读取被重建或删除的数据表的表信息;在权限继承请求中携带的操作内容不是重建也不是删除时,则不执行继承数据表访问权限的步骤。
可选地,上述表信息可以包括:数据表的名称、数据表的创建时间和数据表的创建者等,在数据表被重建或删除后,保证至少有一项表信息不发生变化即可。
仍旧以阿里云的开放数据处理服务为例,当重建数据表A得到新数据表A’后,数据访问请求中携带了新数据表A’的表信息,例如新数据表A’的名称。权限服务器对权限继承请求进行解析,获取权限继承请求中包含的新数据表A’的表名称。
步骤S206:可以通过权限服务器来实现根据被重建或删除的数据表的表信息查询得到被重建或删除的数据表所对应的用户权限;
本申请上述步骤S206中,权限服务器中可以访问预先存储的访问权限数据库,访问权限数据库用于保存数据库服务器中被触发申请的数据表所预先设置的用户权限,即在数据库服务器中的任意一个数据表被用户申请之后,就会将该数据表的表信息及对应的用户权限保存至访问权限数据库。
由此,一种可选方案中,访问权限数据库中创建并更新数据表所对应的用户权限的方式可以为:在用户申请访问数据库服务器中的数据表之后,将被申请的数据表的表信息及该数据表已经设置的访问权限打包发送至访问权限数据库进行保存。
基于上述汇集整理数据库已经保存的权限信息,当权限服务器接收到被重建或删除的数据表的表信息之后,会基于表信息从该访问权限数据库中进行遍历查询,得到该表信息的所对应的用户权限。
仍旧以阿里云的开放数据处理服务为例,表A存储于云数据库中,将设置的每个用户的用户权限记录在访问权限数据库中,即在ODPS中用户申请表A后,就将用户对表A的用户权限存储在访问权限数据库中。当数据表A被重建得到新数据表A’后,从权限继承请求中解析出被重建或删除的数据表的表信息,例如,新数据表A’的表名称。在一种应用场景中,由于表名称在数据表重建的过程中不发生变化,则可以根据新数据表A’的表名称,从访问权限数据库查询记录的新数据表A’的所有用户权限。可选的,访问权限数据库可以存储于权限服务器本地,也可以存储于阿里云端。
步骤S208:可以通过权限服务器来实现将用户权限重新赋权给数据库中被重建或删除的数据表。
本申请上述步骤S208中,对被重建或删除的数据表继续重新赋权,即,权限服务器将从访问权限数据库中查询得到的被重建或删除的数据表的用户权限,返回至数据库服务器中,使得被重建或删除的数据表具有与被重建或删除前的原始数据表相同的用户权限记录。
仍旧以阿里云的开放数据处理服务为例,将从访问权限数据库中查询得到的新数据表A’的所有用户权限发送至数据库服务器中,例如阿里云数据库服务器中,来实现利用查询得到的新数据表A’的所有用户权限,对新数据表A’进行重新设置,使新数据表A’具有与数据表A相同的用户权限设置的效果。当用户访问新数据表A’时,由于经过上述操作,新数据表A’中更新或重设了用户权限,则可以根据数据表A中记录的用户权限,对该用户的访问进行控制。
由上可知,本申请上述实施例一提供的方案中,采用预存或备份数据库中每一个数据表的用户权限的方式,使得在数据库中的数据表被重建或删除后,即便被重建或删除的数据表的用户访问权限丢失,也能实现通过在重建或删除后触发生成权限继承请求的方式,在解析权限继承请求,获取被重建或删除的数据表的表信息后,从预存的每一个数据表的用户权限中,查询得到被重建或删除的数据表所对应的用户权限的目的;使得将用户权限重新赋权给数据库中被重建或删除的数据表,达到了使被重建或删除的数据表中的用户权限同步恢复的技术效果,进而解决了由于数据仓库中的表被删除或重建后用户权限丢失,而造成的重新对用户进行授权流程繁琐且效率低的技术问题。最终,一方面,实现了将数据表的拥有者从数据表被重建、删除操作后重新赋权的繁琐工作中解放出来,极大的减少了数据表拥有者工作量;另一方面,也使得用户在访问被重建或删除的数据表时,不再需要重复申请权限,保证了良好的用户体验;又一方面,也实现了及时、高效的被重建或删除的数据表的权限继承,保证了数据表中数据的安全性。
本申请上述实施例提供的一种可选方案中,权限继承请求中包括DDL事件,其中,步骤S204:解析权限继承请求,获取被重建或删除的数据表的表信息的步骤还可以包括如下具体的实施步骤:
步骤S2042:可以通过权限服务器来实现解析DDL事件,得到数据库中被重建或删除的数据表的表信息。
本申请上述步骤S2042中,数据库中可能创建有触发器,在创建触发器时指定了触发该触发器的事件。在一种可选方式中,触发器的触发事件通常分为三类,分别是数据操纵语言(DML)事件、数据定义语言(DDL)事件和数据库事件。其中,DDL事件对应DDL触发器,用于在对数据库中的数据对象进行修改时触发。具体的,在数据库中创建数据表、重建数据表和删除数据表时,会触发DDL事件。
基于上述触发DDL事件的操作,当权限服务器接收到包括DDL事件的权限继承请求后,判断触发DDL事件的操作是否为重建数据表或删除数据表的操作,在判断为是的情况下,从DDL事件中读取被重建或删除的数据表的表信息。
仍旧以阿里云的开放数据处理服务为例,权限服务器订阅ODPS中的DDL事件,并通过权限服务器对外提供的HTTP接口接收ODPS中的DDL事件。当ODPS执行对数据表A被重建或删除时,ODPS向权限服务器发出包含DDL事件的用于自动继承用户权限的权限继承请求,在权限服务器解析该权限继承请求并解析DDL事件,得到DDL事件中包含的对数据表A的具体操作后,进一步判断出具体操作为对数据表A的重建或删除操作时,从权限继承请求中读取数据表A的表信息。此处需要说明的是,当数据表A为新建的一个维表的情况下,则对于表A的用户权限尚未设置,表A不需要自动继承用户权限。
由上可知,本申请上述步骤S2042提供了一种获取被重建或删除的数据表的表信息的可选方案。采用解析包含DDL事件的权限继承请求的方式,实现了从权限继承请求读取被重建或删除的数据表的表信息。
本申请上述实施例提供的一种可选方案中,步骤S206:根据被重建或删除的数据表的表信息查询得到被重建或删除的数据表所对应的用户权限,又可以包括如下具体的实施步骤:
步骤S2062:可以通过权限服务器来实现根据被重建或删除的数据表的表信息判断数据表是否为用户之前申请过的数据表;
本申请上述步骤S2062中,可以通过给用户之前申请过的数据表添加申请标识,来表征该数据表被用户申请过;还可以通过将所有被用户申请过的数据表的表信息进行汇集,使得可以通过查询表信息的方式来判断。
步骤S2064:可以通过权限服务器来实现如果被重建或删除的数据表为用户之前申请过的数据表,则从本地关系数据库中查询得到用户之前为数据表设置的历史用户权限;
本申请上述步骤S2064中,历史用户权限为历史设置的用户对数据表的访问权限。本地关系数据库可以为访问权限数据库,存储于权限服务器本地。可以通过相应的设置,使得用户申请数据表的操作去触发将设置的用户对该数据表的权限存储于访问权限数据库中,即访问权限数据库记录了之前用户申请的所有权限记录。
步骤S2066:可以通过权限服务器来实现将用户之前为数据表设置的历史用户权限赋值给被重建或删除的数据表,得到为被重建或删除的数据表重新赋权的用户权限。
本申请上述步骤S2066中,在从访问权限数据库中查询得到历史用户权限后,权限服务器将历史用户权限赋值给数据表,即权限服务器将查询到的数据表的历史用户权限与该数据表关联,得到对被重建或删除的数据表进行重新赋权时需要使用的用户权限。
由上可知,本申请上述步骤S2062至步骤S2066提供了一种获取被重建或删除的数据表所对应的用户权限,采用首先判断被重建或删除的数据表是否为用户之前申请过的数据表的方式,在判断出没有用户申请过该数据表时则不执行权限继承的操作;在判断出有用户申请过该数据表时,则从预先存储的访问权限数据库中进行历史用户权限查询,将查询到的历史用户权限赋值给被重建或删除的数据表,实现了获得被重建或删除的数据表对应的用户权限。
本申请上述实施例提供的一种可选方案中,在执行步骤S206:根据数据表的表信息判断数据表是否为用户之前申请过的数据表之前,本申请实施例的数据库的访问权限处理方法还可以执行如下实施步骤:
步骤S2052:如果数据库中已经保存的任意一个数据表被用户申请,且申请成功,则生成并存储被用户申请过的数据表的表信息集合;
其中,如果被重建或删除的数据表的表信息在已经存储的用户申请过的数据表的表信息集合中匹配成功,则确定被重建或删除的数据表为用户之前申请过的数据表。
本申请上述步骤S2052中,在数据库中的任意一个数据表被用户申请成功后,可以将用户对该表所具有的访问权限、用户标识以及表信息进行存储,通过至少一次用户成功申请的操作,得到被用户申请过的数据表的表信息的集合。上述用户申请过的数据表的表信息的集合可以存储于上述访问权限数据库中。
基于得到的用户申请过的数据表的表信息的集合,判断数据表是否为用户之前申请过的数据表的一种可选的方式包括:根据获取到的被重建或删除的数据表的表信息,从用户申请过的数据表的表信息的中,通过遍历查询的方式,判断是否存在与被重建或删除的数据表的表信息相一致的信息,在判断为是的情况下,可以确定该被重建或删除的数据表为被用户之前申请过的数据表。
仍旧以阿里云的开放数据处理服务为例,当用户在ODPS中成功申请数据表A后,将数据表A的表信息、用户标识、以及上述用户对数据表A的访问权限存储至访问权限数据库中。例如,当数据表A被重建后,权限服务器接收通过在ODPS订阅事件而接收到包含DDL事件的权限继承请求,权限服务器解析出新数据表A’的表信息,并从访问权限数据库中记录的表信息中遍历查询,在判断出访问权限数据库中具有与新数据表A’的表信息相匹配的内容时,则可以确定数据表A为用户之前申请过的数据表。
在另一种可能的应用场景中,当数据库中的数据表B被重建,得到新数据表B’时,若用户未申请过数据表B,则访问权限数据库中没有记录数据表B的历史用户权限。此时,即便接收到ODPS发来的包含DDL事件的权限继承请求,并解析出新数据表B’的表信息,也无法从访问权限数据库中记录的表信息中查询到与新数据表B’的表信息相匹配的内容时,则可以确定数据表B之前未被用户申请过。
由上可知,本申请上述步骤S2052提供了一种预先存储用户申请过的数据表的表信息的方案,使得可以通过查询比对的方式,判断被重建或删除的数据表是否在之前被用户申请过,以方便读取之前被用户申请过的、如今被重建或删除的数据表的历史用户权限。
本申请上述实施例提供的一种可选方案中,步骤S208:将用户权限重新赋权给数据库中被重建或删除的数据表,又可以包括如下具体的实施步骤:
步骤S2082:可以通过权限服务器来实现将被重建或删除的数据表的表信息及获取到的被重建或删除的数据表所对应的用户权限进行封装,得到允许数据库识别的权限重置语句;
本申请上述步骤S2082中,权限重置语句可以为赋予权限语句,授予用户权限语句。基于不同的数据库,可能支持不同类型的权限重置语句。以SQL为例,可以通过grant语句来实现权限重置。权限服务器根据获取到的被重建或删除的数据表所对应的用户权限和表信息,生成权限重置语句。
步骤S2084:可以通过权限服务器来实现将权限重置语句返回至数据库所在的服务器,使得用户权限重新赋权给数据库中被重建或删除的数据表。
本申请上述步骤S2084中,权限重置语句的作用对象为被重建或删除的数据表,因此权限服务器需要首先将权限重置语句发送至被重建或删除的数据表所在的数据库服务器;在数据库服务器接收到权限重置语句后,对应执行权限重置语句,实现对被重建或删除的数据表的重新赋权的操作。
由上可知,本申请上述步骤S2082至步骤S2084提供了一种对被重建或删除的数据表重新赋权的方案,采用权限服务器将获取到的权限信息、数据表的表信息按照数据库能够识别的方式,生成权限重置语句,并将权限重置语句发送至数据库服务器,进而在执行了权限重置语句所对应的功能后,实现了对被重建或删除的数据表的重新赋权。
本申请上述实施例提供的一种可选方案中,在执行步骤S202:接收用于自动继承访问权限的权限继承请求之前,本申请实施例的数据库的访问权限处理方法还可以执行如下实施步骤:
步骤S201:可以通过数据库服务器来实现在数据库中的任意一个数据表被重建或删除之后,触发系统自动生成权限继承请求。
本申请上述步骤S201中,在对数据库中的数据表进行操作时可以触发数据库中的触发器,使得触发器发出携带有具体操作内容的信息。通过对数据库中针对数据表的创建、修改、或删除等操作进行监听,使得在数据库中的任意一个数据表被重建或删除后,用于存储数据库的数据库服务器发出用于启动被重建或删除的数据表的访问权限继承的请求。
由上可知,本申请上述步骤S201提供了一种数据库服务器生成权限继承请求的可选方案,采用对数据库中的数据表的操作进行监听,实现在数据表被重建或删除时,触发系统自动生成权限继承请求。
图3是根据本申请实施例一的一种可选的数据库的访问权限处理方法的交互示意图;下面就结合图3,将本申请的方案应用在具体系统中所实现的功能进行详细描述:
如图3所示,数据库服务器301包含多个数据库,如图3中所示的数据库3011、数据库3012和数据库3013,数据库服务器301中的任意一个数据库中的数据表均有可能发生重建或删除。
权限服务器302用于在接收到权限继承请求后,解析时间,并在本地数据库中查询到对应的用户权限后,重新组装赋权语句,得到权限重置语句,然后将返回至数据库服务器执行。
本地数据库303可以为上述的访问权限数据库,用于存储用户之前申请过的所有数据表的用户权限。
图4是根据本申请实施例一的一种可选的数据库的访问权限处理方法的流程图;下面就结合图3和图4,对本申请在一种可选的应用场景中的方法流程,尤其是以重建数据表为例,权限服务器302所执行的方法流程进行详细描述:
当权限服务器通过对外提供的HTTP协议接口来接收权限继承请求,以ODPS为例,只要在ODPS中订阅事件,当ODPS执行DDL变更时,就会发送事件通知权限服务器;在判断权限继承请求中包含DDL事件后,开始如下流程:
步骤A:对接收到的收权限继承请求中携带的事件进行分析;
具体的,在上述步骤A中,在接收到请求后,首先判断请求中携带的事件进行分析,判断是否为DDL事件,
步骤B:解析事件,并判断是否为重建表的DDL事件;
具体的,在上述步骤B中,对DDL事件进行解析,判断触发DDL的事件是否为数据表重建的事件,在判断为是的情况下,确定该DDL事件为重建表的DDL。进一步的,在确定DDL事件为重建表的DDL事件后,从DDL事件中提取被重建的数据表的表信息;
步骤C:从本地数据库中查询表权项相关信息;
具体的,在上述步骤C中,本地数据库中记录有之前用户申请的所有记录。在解析判断出重建表为之前用户申请过的数据表时,可以从本地关系数据库中查询该表之前用户授权的情况,得到该表对应的用户权限;
步骤D:重新执行赋权语句;
具体的,在上述步骤D中,将该表之前设置的用户权限按照数据库服务器能够识别的语句进行封装,得到权限重置语句,并将权限重置语句返回数据库服务器,使得数据库服务器执行权限重置语句进行重新赋权。
在步骤B中判断出非重建表的DDL事件时,以及步骤D执行完成后,一次赋权流程结束。
综上所述,本申请实施例通过对外提供的http接口,接收DDL变更的事件,实现了保证数据仓库表重建之后之前申请的表的权限能继承下来,不影响用户及生产,达到了当表被重建后,默认之前的用户会恢复之前的表权限,对用户透明,也不需要重新申请的技术效果;同时表owner可以不用再关注该表下游依赖的作业,减少了owner工作量。
需要说明的是,对于前述的各方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本申请并不受所描述的动作顺序的限制,因为依据本申请,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定是本申请所必须的。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到根据上述实施例的方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,或者网络设备等)执行本申请各个实施例所述的方法。
实施例2
根据本申请实施例,还提供了一种用于实施上述数据库的访问权限处理方法的数据库的访问权限处理装置,本申请上述实施例所提供的装置可以在计算机终端上运行。
图5是根据本申请实施例二的数据库的访问权限处理装置的结构示意图;如图5所示,该数据库的访问权限处理装置包括:接收模块502、解析模块504、查询模块506以及赋权模块508,其中:
接收模块502,用于接收用于自动继承访问权限的权限继承请求,其中,权限继承请求为数据库中的任意一个数据表被重建或删除后触发生成的请求;
解析模块504,用于解析权限继承请求,获取被重建或删除的数据表的表信息;
查询模块506,用于根据被重建或删除的数据表的表信息查询得到被重建或删除的数据表所对应的用户权限;
赋权模块508,用于将用户权限重新赋权给数据库中被重建或删除的数据表。
由上可知,本申请上述接收模块502、解析模块504、查询模块506以及赋权模块508中,采用预存或备份数据库中每一个数据表的用户权限的方式,使得在数据库中的数据表被重建或删除后,即便被重建或删除的数据表的用户访问权限丢失,也能通过在重建或删除后触发生成权限继承请求的方式,在解析权限继承请求,获取被重建或删除的数据表的表信息后,从预存的每一个数据表的用户权限中,查询得到被重建或删除的数据表所对应的用户权限的目的;使得将用户权限重新赋权给数据库中被重建或删除的数据表,达到了使被重建或删除的数据表中的用户权限同步恢复的技术效果,进而解决了由于数据仓库中的表被删除或重建后用户权限丢失,而造成的重新对用户进行授权流程繁琐且效率低的技术问题。最终,一方面,实现了将数据表的拥有者从数据表被重建、删除操作后重新赋权的繁琐工作中解放出来,极大的减少了数据表拥有者工作量;另一方面,也使得用户在访问被重建或删除的数据表时,不再需要重复申请权限,保证了良好的用户体验;又一方面,也实现了及时、高效的被重建或删除的数据表的权限继承。
此处需要说明的是,上述接收模块502、解析模块504、查询模块506以及赋权模块508,对应于实施例一中的步骤S202至步骤S208,四个模块与对应的步骤所实现的示例和应用场景相同,但不限于上述实施例一所公开的内容。需要说明的是,上述模块作为装置的一部分可以运行在实施例一提供的计算机终端10中,可以通过软件实现,也可以通过硬件实现。
可选地,图6是根据本申请实施例二的一种可选的解析模块的结构示意图;如图6所示,当权限继承请求中包括DDL事件时,根据本申请实施例的解析模块504包括:解析单元602,其中:
解析单元602,用于解析DDL事件,得到数据库中被重建或删除的数据表的表信息。
由上可知,本申请上述解析单元602提供了一种获取被重建或删除的数据表的表信息的可选方案。采用解析包含DDL事件的权限继承请求的方式,实现了从权限继承请求读取被重建或删除的数据表的表信息。
此处需要说明的是,上述解析单元602,对应于实施例一中的步骤S2042,该模块与对应的步骤所实现的示例和应用场景相同,但不限于上述实施例一所公开的内容。需要说明的是,上述模块作为装置的一部分可以运行在实施例一提供的计算机终端10中,可以通过软件实现,也可以通过硬件实现。
可选地,图7是根据本申请实施例二的一种可选的查询模块的结构示意图;如图7所示,根据本申请实施例的查询模块506包括:判断单元702、查询单元704以及赋值单元706,其中:
判断单元702,用于根据被重建或删除的数据表的表信息判断数据表是否为用户之前申请过的数据表;
查询单元704,用于如果被重建或删除的数据表为用户之前申请过的数据表,则从本地关系数据库中查询得到用户之前为数据表设置的历史用户权限;
赋值单元706,用于将用户之前为数据表设置的历史用户权限赋值给被重建或删除的数据表,得到为被重建或删除的数据表重新赋权的用户权限。
由上可知,本申请上述判断单元702、查询单元704以及赋值单元706提供了一种获取被重建或删除的数据表所对应的用户权限,采用首先判断被重建或删除的数据表是否为用户之前申请过的数据表的方式,在判断出没有用户申请过该数据表时则不执行权限继承的操作;在判断出有用户申请过该数据表时,则从预先存储的访问权限数据库中进行历史用户权限查询,将查询到的历史用户权限赋值给被重建或删除的数据表,实现了获得被重建或删除的数据表对应的用户权限。
此处需要说明的是,上述判断单元702、查询单元704以及赋值单元706,对应于实施例一中的步骤S2062至步骤S2066,三个模块与对应的步骤所实现的示例和应用场景相同,但不限于上述实施例一所公开的内容。需要说明的是,上述模块作为装置的一部分可以运行在实施例一提供的计算机终端10中,可以通过软件实现,也可以通过硬件实现。
可选地,图8是根据本申请实施例二的一种可选的数据库的访问权限处理装置的结构示意图;如图8所示,根据本申请实施例的数据库的访问权限处理装置还包括:存储模块802,其中:
存储模块802,用于如果数据库中已经保存任意一个数据表被用户申请,且申请成功,则生成并存储被用户申请过的数据表的表信息集合;其中,如果被重建或删除的数据表的表信息在已经存储的用户申请过的数据表的表信息集合中匹配成功,则确定被重建或删除的数据表为用户之前申请过的数据表。
由上可知,本申请上述存储模块802提供了一种预先存储用户申请过的数据表的表信息的方案,使得可以通过查询比对的方式,判断被重建或删除的数据表是否在之前被用户申请过,以方便读取之前被用户申请过的、如今被重建或删除的数据表的历史用户权限。
此处需要说明的是,上述存储模块802,对应于实施例一中的步骤S2052,该模块与对应的步骤所实现的示例和应用场景相同,但不限于上述实施例一所公开的内容。需要说明的是,上述模块作为装置的一部分可以运行在实施例一提供的计算机终端10中,可以通过软件实现,也可以通过硬件实现。
可选地,图9是根据本申请实施例二的一种可选的赋权模块的结构示意图;如图9所示,根据本申请实施例的赋权模块508包括:封装单元902以及赋权单元904,其中:
封装单元902,用于将被重建或删除的数据表的表信息及获取到的被重建或删除的数据表所对应的用户权限进行封装,得到允许数据库识别的权限重置语句;
赋权单元904,用于将权限重置语句返回至数据库所在的服务器,使得用户权限重新赋权给数据库中被重建或删除的数据表。
由上可知,本申请上述封装单元902以及赋权单元904提供了一种对被重建或删除的数据表重新赋权的方案,采用权限服务器将获取到的权限信息、数据表的表信息按照数据库能够识别的方式,生成权限重置语句,并将权限重置语句发送至数据库服务器,进而在执行了权限重置语句所对应的功能后,实现了对被重建或删除的数据表的重新赋权。
此处需要说明的是,上述封装单元902以及赋权单元904,对应于实施例一中的步骤S2082至步骤S2084,两个模块与对应的步骤所实现的示例和应用场景相同,但不限于上述实施例一所公开的内容。需要说明的是,上述模块作为装置的一部分可以运行在实施例一提供的计算机终端10中,可以通过软件实现,也可以通过硬件实现。
可选地,图10是根据本申请实施例二的另一种可选的数据库的访问权限处理装置的结构示意图;如图10所示,根据本申请实施例的数据库的访问权限处理装置还包括:触发模块1002,其中:
触发模块1002,用于在数据库中的任意一个数据表被重建或删除之后,触发系统自动生成权限继承请求。
由上可知,本申请上述触发模块1002提供了一种数据库服务器生成权限继承请求的可选方案,采用对数据库中的数据表的操作进行监听,实现在数据表被重建或删除时,触发系统自动生成权限继承请求。
此处需要说明的是,上述触发模块1002,对应于实施例一中的步骤S201,该模块与对应的步骤所实现的示例和应用场景相同,但不限于上述实施例一所公开的内容。需要说明的是,上述模块作为装置的一部分可以运行在实施例一提供的计算机终端10中,可以通过软件实现,也可以通过硬件实现。
本申请上述实施例二所提供的优选实施方案与实施例一所提供的方法实施例的可选方案以及应用场景实施过程相同,但不限于实施例一所提供的方案。
实施例3
根据本申请实施例,还提供了一种数据库的访问权限处理系统,图11是根据本申请实施例三的数据库的访问权限处理系统的结构示意图。
如图11所示,该数据库的访问权限处理系统包括:数据库服务器111以及权限处理系统113,其中:
数据库服务器111,用于保存数据库,在数据库中的任意一个数据表被重建或删除后,触发生成用于自动继承访问权限的权限继承请求;
权限处理系统113,用于接收并解析权限继承请求,获取被重建或删除的数据表的表信息,在根据被重建或删除的数据表的表信息查询得到被重建或删除的数据表所对应的用户权限之后,将用户权限重新赋权给数据库中被重建或删除的数据表。
具体的,数据库中的任意一个数据表都可以具有预先设置的访问权限属性,其中,访问权限属性的可以包括如下任意一种或多种权限:读权限、写权限、删除权限或修改权限等。重建、删除为对数据库中包含的数据表进行的修改操作,在进行数据表的重建或删除后,数据库中该数据表之前被设置的访问权限可能丢失,使得用户下一次对被修改或删除的数据表的访问遭到拒绝,影响用户的正常使用。
具体的,数据库服务器111与图1所示的计算机终端10具有通信关系,在对数据库中的数据表进行操作时可以触发数据库中的触发器,使得触发器发出携带有具体操作内容的信息。通过对数据库中针对数据表的创建、修改、或删除等操作进行监听,使得在数据库中的任意一个数据表被重建或删除后,自动生成用于启动被重建或删除的数据表的访问权限继承的请求。
具体的,在权限处理系统113确认权限继承请求中携带的操作内容是重建数据表或删除数据表时,则从权限继承请求中读取被重建或删除的数据表的表信息;在权限继承请求中携带的操作内容不是重建也不是删除时,则不执行继承数据表访问权限的步骤。权限处理系统113通过访问预先存储的用户权限数据,会基于被重建或删除的数据表的表信息从预先存储的用户权限数据中进行遍历查询,得到该表信息的所对应的用户权限。
具体的,权限处理系统113将被重建或删除的数据表的表信息及获取到的被重建或删除的数据表所对应的用户权限进行封装,得到允许数据库识别的权限重置语句;将权限重置语句返回至数据库所在的服务器,使得用户权限重新赋权给数据库中被重建或删除的数据表。
此处需要说明的是,在一种可选的应用场景下,结合图3与图11,本申请实施例中图11所示的权限处理系统113可以包括图3所示的权限服务器302和本地数据库303。
由上可知,本申请上述实施例三提供的方案中,采用预存或备份数据库中每一个数据表的用户权限的方式,使得在数据库中的数据表被重建或删除后,即便被重建或删除的数据表的用户访问权限丢失,也能通过在重建或删除后触发生成权限继承请求的方式,在解析权限继承请求,获取被重建或删除的数据表的表信息后,从预存的每一个数据表的用户权限中,查询得到被重建或删除的数据表所对应的用户权限的目的;使得将用户权限重新赋权给数据库中被重建或删除的数据表,达到了使被重建或删除的数据表中的用户权限同步恢复的技术效果,进而解决了由于数据仓库中的表被删除或重建后用户权限丢失,而造成的重新对用户进行授权流程繁琐且效率低的技术问题。最终,一方面,实现了将数据表的拥有者从数据表被重建、删除操作后重新赋权的繁琐工作中解放出来,极大的减少了数据表拥有者工作量;另一方面,也使得用户在访问被重建或删除的数据表时,不再需要重复申请权限,保证了良好的用户体验;又一方面,也实现了及时、高效的被重建或删除的数据表的权限继承。
本申请上述实施例三所提供的优选实施方案与实施例一所提供的可选方案以及应用场景实施过程相同,但不限于实施例一所提供的方案。
实施例4
本申请的实施例可以提供一种计算机终端,该计算机终端可以是计算机终端群中的任意一个计算机终端设备。可选地,在本实施例中,上述计算机终端也可以替换为移动终端等终端设备。
可选地,在本实施例中,上述计算机终端可以位于计算机网络的多个网络设备中的至少一个网络设备。
在本实施例中,上述计算机终端可以执行应用程序的漏洞检测方法中以下步骤的程序代码:接收用于自动继承访问权限的权限继承请求,其中,权限继承请求为数据库中的任意一个数据表被重建或删除后触发生成的请求;解析权限继承请求,获取被重建或删除的数据表的表信息;根据被重建或删除的数据表的表信息查询得到被重建或删除的数据表所对应的用户权限;将用户权限重新赋权给数据库中被重建或删除的数据表。
可选地,图12是根据本申请实施例的一种计算机终端的结构框图。如图12所示,该计算机终端A可以包括:一个或多个(图中仅示出一个)处理器、存储器、以及传输装置。
其中,存储器可用于存储软件程序以及模块,如本申请实施例中的安全漏洞检测方法和装置对应的程序指令/模块,处理器通过运行存储在存储器内的软件程序以及模块,从而执行各种功能应用以及数据处理,即实现上述的系统漏洞攻击的检测方法。存储器可包括高速随机存储器,还可以包括非易失性存储器,如一个或者多个磁性存储装置、闪存、或者其他非易失性固态存储器。在一些实例中,存储器可进一步包括相对于处理器远程设置的存储器,这些远程存储器可以通过网络连接至终端A。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
处理器可以通过传输装置调用存储器存储的信息及应用程序,以执行下述步骤:接收用于自动继承访问权限的权限继承请求,其中,权限继承请求为数据库中的任意一个数据表被重建或删除后触发生成的请求;解析权限继承请求,获取被重建或删除的数据表的表信息;根据被重建或删除的数据表的表信息查询得到被重建或删除的数据表所对应的用户权限;将用户权限重新赋权给数据库中被重建或删除的数据表。
可选的,上述处理器还可以执行如下步骤的程序代码:解析DDL事件,得到数据库中被重建或删除的数据表的表信息。
可选的,上述处理器还可以执行如下步骤的程序代码:根据被重建或删除的数据表的表信息判断数据表是否为用户之前申请过的数据表;如果被重建或删除的数据表为用户之前申请过的数据表,则从本地关系数据库中查询得到用户之前为数据表设置的历史用户权限;将用户之前为数据表设置的历史用户权限赋值给被重建或删除的数据表,得到为被重建或删除的数据表重新赋权的用户权限。。
可选的,上述处理器还可以执行如下步骤的程序代码:如果数据库中已经保存任意一个数据表被用户申请,且申请成功,则生成并存储被用户申请过的数据表的表信息集合;其中,如果被重建或删除的数据表的表信息在已经存储的用户申请过的数据表的表信息集合中匹配成功,则确定被重建或删除的数据表为用户之前申请过的数据表。
可选的,上述处理器还可以执行如下步骤的程序代码:将被重建或删除的数据表的表信息及获取到的被重建或删除的数据表所对应的用户权限进行封装,得到允许数据库识别的权限重置语句;将权限重置语句返回至数据库所在的服务器,使得用户权限重新赋权给数据库中被重建或删除的数据表。
可选的,上述处理器还可以执行如下步骤的程序代码:在数据库中的任意一个数据表被重建或删除之后,触发系统自动生成权限继承请求。
采用本申请实施例,采用预存或备份数据库中每一个数据表的用户权限的方式,使得在数据库中的数据表被重建或删除后,即便被重建或删除的数据表的用户访问权限丢失,也能通过在重建或删除后触发生成权限继承请求的方式,在解析权限继承请求,获取被重建或删除的数据表的表信息后,从预存的每一个数据表的用户权限中,查询得到被重建或删除的数据表所对应的用户权限的目的;使得将用户权限重新赋权给数据库中被重建或删除的数据表,达到了使被重建或删除的数据表中的用户权限同步恢复的技术效果,进而解决了由于数据仓库中的表被删除或重建后用户权限丢失,而造成的重新对用户进行授权流程繁琐且效率低的技术问题。最终,一方面,实现了将数据表的拥有者从数据表被重建、删除操作后重新赋权的繁琐工作中解放出来,极大的减少了数据表拥有者工作量;另一方面,也使得用户在访问被重建或删除的数据表时,不再需要重复申请权限,保证了良好的用户体验;又一方面,也实现了及时、高效的被重建或删除的数据表的权限继承。
本领域普通技术人员可以理解,图12所示的结构仅为示意,计算机终端也可以是智能手机(如Android手机、iOS手机等)、平板电脑、掌声电脑以及移动互联网设备(MobileInternet Devices,MID)、PAD等终端设备。图12其并不对上述电子装置的结构造成限定。例如,计算机终端A还可包括比图12中所示更多或者更少的组件(如网络接口、显示装置等),或者具有与图12所示不同的配置。
本领域普通技术人员可以理解上述实施例的各种方法中的全部或部分步骤是可以通过程序来指令终端设备相关的硬件来完成,该程序可以存储于一计算机可读存储介质中,存储介质可以包括:闪存盘、只读存储器(Read-Only Memory,ROM)、随机存取器(RandomAccess Memory,RAM)、磁盘或光盘等。
实施例5
本申请的实施例还提供了一种存储介质。可选地,在本实施例中,上述存储介质可以用于保存上述实施例一所提供的数据库的访问权限处理方法所执行的程序代码。
可选地,在本实施例中,上述存储介质可以位于计算机网络中计算机终端群中的任意一个计算机终端中,或者位于移动终端群中的任意一个移动终端中。
可选地,在本实施例中,存储介质被设置为存储用于执行以下步骤的程序代码:接收用于自动继承访问权限的权限继承请求,其中,权限继承请求为数据库中的任意一个数据表被重建或删除后触发生成的请求;解析权限继承请求,获取被重建或删除的数据表的表信息;根据被重建或删除的数据表的表信息查询得到被重建或删除的数据表所对应的用户权限;将用户权限重新赋权给数据库中被重建或删除的数据表。
可选地,存储介质还被设置为存储用于执行以下步骤的程序代码:解析DDL事件,得到数据库中被重建或删除的数据表的表信息。
可选地,存储介质还被设置为存储用于执行以下步骤的程序代码:根据被重建或删除的数据表的表信息判断数据表是否为用户之前申请过的数据表;如果被重建或删除的数据表为用户之前申请过的数据表,则从本地关系数据库中查询得到用户之前为数据表设置的历史用户权限;将用户之前为数据表设置的历史用户权限赋值给被重建或删除的数据表,得到为被重建或删除的数据表重新赋权的用户权限。。
可选地,存储介质还被设置为存储用于执行以下步骤的程序代码:如果数据库中已经保存任意一个数据表被用户申请,且申请成功,则生成并存储被用户申请过的数据表的表信息集合;其中,如果被重建或删除的数据表的表信息在已经存储的用户申请过的数据表的表信息集合中匹配成功,则确定被重建或删除的数据表为用户之前申请过的数据表。
可选地,存储介质还被设置为存储用于执行以下步骤的程序代码:将被重建或删除的数据表的表信息及获取到的被重建或删除的数据表所对应的用户权限进行封装,得到允许数据库识别的权限重置语句;将权限重置语句返回至数据库所在的服务器,使得用户权限重新赋权给数据库中被重建或删除的数据表。
可选地,存储介质还被设置为存储用于执行以下步骤的程序代码:在数据库中的任意一个数据表被重建或删除之后,触发系统自动生成权限继承请求。
上述本申请实施例序号仅仅为了描述,不代表实施例的优劣。
在本申请的上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
在本申请所提供的几个实施例中,应该理解到,所揭露的技术内容,可通过其它的方式实现。其中,以上所描述的装置实施例仅仅是示意性的,例如所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,单元或模块的间接耦合或通信连接,可以是电性或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可为个人计算机、服务器或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述仅是本申请的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本申请原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本申请的保护范围。

Claims (11)

1.一种数据库的访问权限处理方法,其特征在于,包括:
接收用于自动继承访问权限的权限继承请求,其中,所述权限继承请求为数据库中的任意一个数据表被重建或删除后触发生成的请求;
解析所述权限继承请求,获取被重建或删除的数据表的表信息;
根据所述被重建或删除的数据表的表信息查询得到所述被重建或删除的数据表所对应的用户权限;
将所述用户权限重新赋权给所述数据库中所述被重建或删除的数据表;
其中,根据所述被重建或删除的数据表的表信息查询得到所述被重建或删除的数据表所对应的用户权限,包括:根据所述被重建或删除的数据表的表信息判断所述数据表是否为用户之前申请过的数据表;如果所述被重建或删除的数据表为所述用户之前申请过的数据表,则从本地关系数据库中查询得到所述用户之前为所述数据表设置的历史用户权限;将所述用户之前为所述数据表设置的历史用户权限赋值给所述被重建或删除的数据表,得到为所述被重建或删除的数据表重新赋权的所述用户权限。
2.根据权利要求1所述的方法,其特征在于,所述权限继承请求中包括数据定义语言DDL事件,其中,解析所述权限继承请求,获取被重建或删除的数据表的表信息的步骤包括:解析所述数据定义语言DDL事件,得到所述数据库中所述被重建或删除的数据表的表信息。
3.根据权利要求1所述的方法,其特征在于,在根据所述数据表的表信息判断所述数据表是否为用户之前申请过的数据表之前,所述方法还包括:
如果所述数据库中已经保存任意一个数据表被用户申请,且申请成功,则生成并存储被所述用户之前申请过的数据表的表信息集合;
其中,如果所述被重建或删除的数据表的表信息在已经存储的所述用户申请过的数据表的表信息集合中匹配成功,则确定所述被重建或删除的数据表为所述用户之前申请过的数据表。
4.根据权利要求1所述的方法,其特征在于,将所述用户权限重新赋权给所述数据库中所述被重建或删除的数据表,包括:
将所述被重建或删除的数据表的表信息及获取到的所述被重建或删除的数据表所对应的用户权限进行封装,得到允许所述数据库识别的权限重置语句;
将所述权限重置语句返回至所述数据库所在的服务器,使得所述用户权限重新赋权给所述数据库中所述被重建或删除的数据表。
5.根据权利要求1-4中任意一项所述的方法,其特征在于,在接收用于自动继承访问权限的权限继承请求之前,所述方法还包括:
在所述数据库中的任意一个数据表被重建或删除之后,触发系统自动生成所述权限继承请求。
6.一种数据库的访问权限处理装置,其特征在于,包括:
接收模块,用于接收用于自动继承访问权限的权限继承请求,其中,所述权限继承请求为数据库中的任意一个数据表被重建或删除后触发生成的请求;
解析模块,用于解析所述权限继承请求,获取被重建或删除的数据表的表信息;
查询模块,用于根据所述被重建或删除的数据表的表信息查询得到所述被重建或删除的数据表所对应的用户权限;
赋权模块,用于将所述用户权限重新赋权给所述数据库中所述被重建或删除的数据表;
其中,所述查询模块包括:判断单元,用于根据所述被重建或删除的数据表的表信息判断所述数据表是否为用户之前申请过的数据表;查询单元,用于如果所述被重建或删除的数据表为所述用户之前申请过的数据表,则从本地关系数据库中查询得到所述用户之前为所述数据表设置的历史用户权限;赋值单元,用于将所述用户之前为所述数据表设置的历史用户权限赋值给所述被重建或删除的数据表,得到为所述被重建或删除的数据表重新赋权的所述用户权限。
7.根据权利要求6所述的装置,其特征在于,所述权限继承请求中包括数据定义语言DDL事件,其中,所述解析模块包括:解析单元,用于解析所述数据定义语言DDL事件,得到所述数据库中所述被重建或删除的数据表的表信息。
8.根据权利要求6所述的装置,其特征在于,所述装置还包括:
存储模块,用于如果所述数据库中已经保存任意一个数据表被用户申请,且申请成功,则生成并存储被所述用户申请过的数据表的表信息集合;
其中,如果所述被重建或删除的数据表的表信息在已经存储的所述用户之前申请过的数据表的表信息集合中匹配成功,则确定所述被重建或删除的数据表为所述用户之前申请过的数据表。
9.根据权利要求6所述的装置,其特征在于,所述赋权模块包括:
封装单元,用于将所述被重建或删除的数据表的表信息及获取到的所述被重建或删除的数据表所对应的用户权限进行封装,得到允许所述数据库识别的权限重置语句;
赋权单元,用于将所述权限重置语句返回至所述数据库所在的服务器,使得所述用户权限重新赋权给所述数据库中所述被重建或删除的数据表。
10.根据权利要求6-9中任意一项所述的装置,其特征在于,所述装置还包括:
触发模块,用于在所述数据库中的任意一个数据表被重建或删除之后,触发系统自动生成所述权限继承请求。
11.一种数据库的访问权限处理系统,其特征在于,包括:
数据库服务器,用于保存数据库,在所述数据库中的任意一个数据表被重建或删除后,触发生成用于自动继承访问权限的权限继承请求;
权限处理系统,用于接收并解析所述权限继承请求,获取被重建或删除的数据表的表信息,在根据所述被重建或删除的数据表的表信息查询得到所述被重建或删除的数据表所对应的用户权限之后,将所述用户权限重新赋权给所述数据库中所述被重建或删除的数据表;
其中,根据所述被重建或删除的数据表的表信息查询得到所述被重建或删除的数据表所对应的用户权限,包括:根据所述被重建或删除的数据表的表信息判断所述数据表是否为用户之前申请过的数据表;如果所述被重建或删除的数据表为所述用户之前申请过的数据表,则从本地关系数据库中查询得到所述用户之前为所述数据表设置的历史用户权限;将所述用户之前为所述数据表设置的历史用户权限赋值给所述被重建或删除的数据表,得到为所述被重建或删除的数据表重新赋权的所述用户权限。
CN201510486696.8A 2015-08-10 2015-08-10 数据库的访问权限处理方法、装置及系统 Active CN106407757B (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN201510486696.8A CN106407757B (zh) 2015-08-10 2015-08-10 数据库的访问权限处理方法、装置及系统
PCT/CN2016/092672 WO2017024956A1 (zh) 2015-08-10 2016-08-01 数据库的访问权限处理方法、装置及系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201510486696.8A CN106407757B (zh) 2015-08-10 2015-08-10 数据库的访问权限处理方法、装置及系统

Publications (2)

Publication Number Publication Date
CN106407757A CN106407757A (zh) 2017-02-15
CN106407757B true CN106407757B (zh) 2019-08-13

Family

ID=57982979

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201510486696.8A Active CN106407757B (zh) 2015-08-10 2015-08-10 数据库的访问权限处理方法、装置及系统

Country Status (2)

Country Link
CN (1) CN106407757B (zh)
WO (1) WO2017024956A1 (zh)

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109299613B (zh) * 2018-09-03 2023-07-21 中国平安人寿保险股份有限公司 数据库分区权限的设置方法和终端设备
CN109522368A (zh) * 2018-09-28 2019-03-26 北京英视睿达科技有限公司 一种用户权限管理方法和系统
CN110717153B (zh) * 2019-09-30 2021-08-24 新华三大数据技术有限公司 一种权限验证方法和装置
CN110990380B (zh) * 2019-11-27 2023-11-03 杭州安恒信息技术股份有限公司 一种账户信息监控方法及系统
CN110868428A (zh) * 2019-12-06 2020-03-06 吉林建筑大学 一种计算机网络安全预警装置
CN111352922B (zh) * 2020-02-25 2021-02-12 帆软软件有限公司 Bi工具中多数据表的数据权限继承方法
CN112231681A (zh) * 2020-03-16 2021-01-15 沈寿娟 基于物联网的访问权限验证方法及系统
CN111767534A (zh) * 2020-06-23 2020-10-13 深圳市云智融科技有限公司 一种数据处理方法、计算设备及存储介质
CN115510121B (zh) * 2022-10-08 2024-01-05 上海数禾信息科技有限公司 一种名单数据管理方法、装置、设备及可读存储介质

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5878415A (en) * 1997-03-20 1999-03-02 Novell, Inc. Controlling access to objects in a hierarchical database
CN101373527A (zh) * 2007-08-24 2009-02-25 上海全成通信技术有限公司 系统参与人的权限控制方法
JP5772009B2 (ja) * 2011-01-26 2015-09-02 株式会社リコー 画像処理装置、機能利用制御方法、機能利用制御プログラム、及びそのプログラムを記録した記録媒体
CN102129539A (zh) * 2011-03-11 2011-07-20 清华大学 基于访问控制列表的数据资源权限管理方法
CN104156640B (zh) * 2014-08-01 2017-04-12 浪潮软件股份有限公司 一种数据访问权限控制方法
CN104573480A (zh) * 2015-02-10 2015-04-29 国家电网公司 一种权限处理方法和系统

Also Published As

Publication number Publication date
CN106407757A (zh) 2017-02-15
WO2017024956A1 (zh) 2017-02-16

Similar Documents

Publication Publication Date Title
CN106407757B (zh) 数据库的访问权限处理方法、装置及系统
AU2018374912B2 (en) Model training system and method, and storage medium
CN107220142B (zh) 执行数据恢复操作的方法及装置
CN103345790B (zh) 基于nfc智能电子设备的电子门锁管理方法及系统
CN100428168C (zh) 管理虚拟机的中央处理单元利用的方法及系统
CN107111519A (zh) 用于管理和调度容器的系统
CN103957248A (zh) 一种基于物联网的公共实时数据管理云服务平台
CN110134674A (zh) 一种货币信贷大数据监测分析系统
CN101883107B (zh) 实现上下文感知业务应用的方法和相关装置
CN104679717A (zh) 集群弹性部署的方法和管理系统
CN110011978A (zh) 一种修改区块链网络配置的方法及系统
CN105095103B (zh) 用于云环境下的存储设备管理方法和装置
CN109683911A (zh) 一种实现自动化应用部署及影响分析的系统
CN103745599A (zh) 一种基于云计算平台的车辆智能管理系统
CN110659261A (zh) 一种数据挖掘模型发布方法及模型和模型服务管理方法
CN110866265A (zh) 一种基于区块链的数据存储方法、设备及存储介质
CN109669976A (zh) 基于etl的数据服务方法及设备
CN110120970A (zh) 基于车联网的数据处理方法、装置及网关系统
CN110197064A (zh) 进程处理方法和装置、存储介质及电子装置
CN107547606A (zh) 数据处理方法、集群管理器、资源管理器、数据处理系统
CN105391774B (zh) 一种基于亚马逊网络服务器的资源请求方法及装置
CN105184495A (zh) 数字产品的使用权限的管理方法及服务器
CN103530538A (zh) 一种基于Schema的XML安全视图查询方法
CN108334547B (zh) 基于大数据的数据共享交换系统与方法
CN111427923A (zh) 一种基于区块链的车辆信息查询方法、设备及存储介质

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant