CN106469282A - 数据访问权限控制方法及装置 - Google Patents
数据访问权限控制方法及装置 Download PDFInfo
- Publication number
- CN106469282A CN106469282A CN201610682076.6A CN201610682076A CN106469282A CN 106469282 A CN106469282 A CN 106469282A CN 201610682076 A CN201610682076 A CN 201610682076A CN 106469282 A CN106469282 A CN 106469282A
- Authority
- CN
- China
- Prior art keywords
- conditional statements
- sql statement
- additional
- sentence
- data
- 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
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/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/2107—File encryption
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Bioethics (AREA)
- General Health & Medical Sciences (AREA)
- Computer Hardware Design (AREA)
- Health & Medical Sciences (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Databases & Information Systems (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Storage Device Security (AREA)
Abstract
本申请公开了一种数据访问权限控制方法及装置。其中,该方法包括:获取待执行的结构化查询语言SQL语句,所述SQL语句对应的账户定义为当前账户;从预设的访问权限控制集获取与所述当前账户匹配的附加条件语句;依据所述SQL语句和查找到的与所述当前账户匹配的附加条件语句,生成待查询语句。本申请解决了由于现有的数据级权限管理技术适应性差造成的数据访问权限局限性较大的技术问题。
Description
技术领域
本申请涉及数据权限管理领域,具体而言,涉及一种数据访问权限控制方法及装置。
背景技术
访问权限管理,一般指根据系统设置的安全规则或者安全策略,用户可以访问且只能访问自己被授权的资源,访问权限管理几乎出现在任何系统里面。
现有的访问权限管理分为两大类:功能级权限管理和数据级权限管理。对于数据级权限管理而言,一直没有统一的技术。大部分软件开发人员采用如下两种技术:一种为硬编码,也就是将这种逻辑以if/else等形式与业务代码耦合在一起;另一种为使用第三方专业软件,如一些开源中间件、开源框架等。
然而,对于第一种现有技术而言,采用硬编码的方式导致权限控制跟业务逻辑耦合性强,难以测试,且系统组件复用率低,系统后期改动代价非常大,牵一发而动全身,适应性较差;对于第二种现有技术而言,大多第三方专业软件仅限于已定义好的策略,不能适应安全策略变化,当需求发生变化时,这种依赖于第三方专业软件的数据级权限管理方法就无法实现了,必须修改已有的软件才能达到目标,成本也非常高、适应性差,这导致数据级权限管理技术局限性较大,发展停滞不前。
针对上述的问题,目前尚未提出有效的解决方案。
发明内容
本申请实施例提供了一种数据访问权限控制方法及装置,以至少解决由于现有的数据级权限管理技术适应性差造成的数据访问权限局限性较大的技术问题。
根据本申请实施例的一个方面,提供了一种数据访问权限控制方法,包括:获取待执行的结构化查询语言SQL语句,其中,所述SQL语句至少包括条件语句,所述SQL语句对应的账户定义为当前账户;从预设的访问权限控制集获取与所述当前账户匹配的附加条件语句,其中,所述访问权限控制集包括:至少一个账户和任意一个账户对应的附加条件语句;依据所述SQL语句和查找到的与所述当前账户匹配的附加条件语句,生成待查询语句。
根据本申请实施例的另一方面,还提供了一种数据访问权限控制装置,包括:调用单元,用于获取待执行的结构化查询语言SQL语句;查找单元,用于从预设的访问权限控制集获取与所述当前账户匹配的附加条件语句;生成单元,用于依据所述SQL语句和查找到的与所述当前账户匹配的附加条件语句,生成待查询语句。
可选地,所述SQL语句至少包括条件语句,所述访问权限控制集包括:至少一个账户和任意一个账户对应的附加条件语句。
可选地,所述查找单元包括:第一提取模块,用于提取所述访问权限控制集;查找模块,用于从所述访问权限控制集中,查找是否存在与所述当前账户的账户信息对应的第一条件子句;第一确定模块,用于若存在,则将所述第一条件子句确定为所述附加条件语句;若不存在,则从所述访问权限控制集中,根据第二条件子句确定所述附加条件语句,其中,所述第二条件子句是指账户信息为空对应的语句。
可选地,所述第一确定模块用于执行以下步骤从所述访问权限控制集中,根据第二条件子句确定所述附加条件语句:从所述访问权限控制集中,查找是否包含有所述第二条件子句;若包含,则将所述第二条件子句确定为所述附加条件语句;若不包含,则将预设附加条件确定为所述附加条件语句,其中,所述预设附加条件为永远为否的表达式。
可选地,所述访问权限控制集还包括任意一个账户对应的授权操作,其中,所述授权操作用于指示允许所述任意一个账户执行的操作。
可选地,所述查找单元包括:第二提取模块,用于提取所述访问权限控制集;判断模块,用于从所述访问权限控制集中,判断所述SQL语句指示的操作是否为所述当前账户对应的授权操作;第二确定模块,用于若是,则将所述当前账户的账户信息对应的第三条件子句确定为所述附加条件语句;若否,则将预设附加条件确定为所述附加条件语句,其中,所述预设附加条件为永远为否的表达式。
可选地,所述生成单元用于执行以下步骤依据所述SQL语句和查找到的与所述当前账户匹配的附加条件语句,生成待查询语句:将所述附加条件语句拼接到所述SQL语句之后,得到所述待查询语句。
可选地,上述装置,还包括:执行单元,用于执行所述待查询语句,确定是否存在符合所述待查询语句的数据;若存在,则将所述符合所述待查询语句的数据作为数据查询结果;若不存在,则所述数据查询结果为空。
可选地,所述SQL语句为结构化查询语言SQL,所述访问权限控制集为访问控制列表ACL。
在本申请实施例中,采用获取待执行的结构化查询语言SQL语句,拼接到SQL语句之后SQL语句对应的账户定义为当前账户;从预设的访问权限控制集获取与拼接到SQL语句之后当前账户匹配的附加条件语句;依据拼接到SQL语句之后SQL语句和查找到的与拼接到SQL语句之后当前账户匹配的附加条件语句,生成待查询语句的方式,通过将SQL(Structured Query Language,结构化查询语言)语句与预设的访问权限控制集结合起来,其中,访问权限控制集所囊括的附加条件语句也是基于SQL语句设置的,其可以使用各种运算符、函数、范围,并且可以随时定义新的附加条件语句,达到了从任意粒度实现数据级权限控制的目的,从而实现了增加数据访问权限控制的适应性的技术效果,进而解决了由于现有的数据级权限管理技术适应性差造成的数据访问权限局限性较大的技术问题。
附图说明
此处所说明的附图用来提供对本申请的进一步理解,构成本申请的一部分,本申请的示意性实施例及其说明用于解释本申请,并不构成对本申请的不当限定。在附图中:
图1是根据本申请实施例的一种运行数据访问权限控制方法的计算机终端的硬件结构框图;
图2是根据本申请实施例的一种可选的数据访问权限控制方法的流程示意图;
图3是根据本申请实施例的另一种可选的数据访问权限控制方法的流程示意图;
图4是根据本申请实施例的又一种可选的数据访问权限控制方法的流程示意图;
图5是根据本申请实施例的又一种可选的数据访问权限控制方法的流程示意图;
图6(a)是根据本申请实施例的又一种可选的数据访问权限控制方法的流程示意图;
图6(b)是根据本申请实施例的又一种可选的数据访问权限控制方法的流程示意图;
图7是根据本申请实施例的一种可选的数据访问权限控制装置的结构示意图;
图8是根据本申请实施例的一种可选的查找单元的结构示意图;
图9是根据本申请实施例的另一种可选的查找单元的结构示意图。
具体实施方式
为了使本技术领域的人员更好地理解本申请方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分的实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本申请保护的范围。
需要说明的是,本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本申请的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
首先将本申请实施例涉及的术语解释如下:
条件语句:一个表达式的返回值都可以用来判断真假,除非没有任何返回值的void型和返回无法判断真假的结构。当表达式的值不等于0时,它就是“真”,否则就是假。一个表达式可以包含其他表达式和运算符,并且基于整个表达式的运算结果可以得到一个真/假的条件值。因此,当一个表达式在程序中被用于检验其真/假的值时,就称为一个条件。
附加条件语句:即为SQL的条件子句,每一个附加条件语句,可以认为就是一个类似的规则。
实施例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是根据本申请实施例一的数据访问权限控制方法的流程图。
步骤S202,获取待执行的结构化查询语言SQL语句,SQL语句对应的账户定义为当前账户。
本申请上述步骤S202中,数据访问权限控制方法的执行主体可以为数据访问权限控制装置。SQL语句是一种数据库查询和程序设计语言,用于存取数据以及查询、更新和管理数据库系统。SQL语句至少包括条件语句。
在当前账户登录之后,为了获取数据库中的数据,例如,读取收件箱中的邮件,用户会执行某些操作,例如,点击页面中的收件箱按钮,响应于当前账户的操作,数据访问权限控制装置会调用SQL语句,以获取当前账户想要的数据。
以当前账户的账户信息为Tom为例,假设有一个数据表,名称为table_vul,具体内容如表1所示:
表1
编号 | 职员 | 类型 | 等级 | 部门 |
1 | Tom | SQL注入 | 1 | 电力事业部 |
2 | Mike | XSS | 3 | 云计算事业部 |
3 | Jerry | CSRF | 3 | 政府事业部 |
4 | John | XSS | 2 | 政府事业部 |
当Tom想要读取table_vul中的内容时,数据访问权限控制装置会调用SQL语句,例如,SELECT*FROM talbe_vul WHERE 1=1,该SQL语句表示读取talbe_vul的全部数据。
步骤S204,从预设的访问权限控制集获取与当前账户匹配的附加条件语句。
本申请上述步骤S204中,为了实现数据访问权限控制,数据访问权限控制装置继而需从预设的访问权限控制集中,查找与当前账户匹配的附加条件语句。
现在,几乎所有的数据都是存放在数据库之中的,对于数据库中数据的访问和提取,都是通过SQL语句来实现的。因此,为了在应用系统中对数据的访问权限进行控制,本申请通过设置数据访问SQL语句加上附加条件语句的方式来实现,其中附加条件语句即为SQL的条件子句,每一个附加条件语句,可以认为就是一个类似的规则。这就将规则和SQL语句结合起来了。一种特定的规则系统,无论简单还是复杂,都是有门槛的,是有学习成本的。但对于SQL语句来说,几乎所有的技术人员都了解或者熟悉甚至精通,它的语法在大学教科书中被反复说明。所以几乎可以认为没有什么门槛,属于通用的基础知识。因此,基于SQL语句的规则设置,就变得容易理解、便于掌握了。而且,SQL语句的附加条件语句中可以使用各种运算符、函数、范围,所以基于SQL语句的规则可以囊括任意粒度的数据控制,可以认为这是一种全粒度的数据访问权限控制方法。
可选地,访问权限控制集包括:至少一个账户和任意一个账户对应的附加条件语句,访问权限控制集为ACL(Access Control List,访问控制列表)。ACL一般是指访问控制的规则列表,就是用来进行权限控制的规则,ACL可以包括:
(1)账户信息
账户信息具体可以为用户名,表示本条规则所适用的用户,账户信息可以为空。如果账户信息为空,表示这条规则适用于所有的用户;反之如果账户信息不为空,则表示这条规则仅适用于这个指定的用户。
(2)附加条件语句
附加条件语句表示本条规则的控制条件,这个条件在形式上可以是任意SQL语句,比如AND create_time>’2015/5/19’或者AND 1=1之类。
需要说明的是,附加条件语句是整个ACL中最核心的部分,直接决定了SQL语句影响的数据集的范围。附加条件语句中可以使用各种运算符,如表2所示:
表2
操作符 | 描述 |
= | 等于 |
<> | 不等于,也写作!= |
> | 大于 |
< | 小于 |
>= | 大于等于 |
<= | 小于等于 |
BETWEEN | 在某个范围内 |
LIKE | 搜索某种模式 |
与此同时,为了方便的实现针对个人、角色、部门的权限控制,附加条件语句中还可以支持下列几个宏,如表3所示:
表3
有了这些宏,附加条件语句例如可以为:
AND staff LIKE"%[USER]%"//而且staff这个字段的值跟当前用户的账号能模糊匹配
AND author="%[NAME]%"//而且author这个字段等于当前用户的名称
那么,根据以上所述,一个实际应用中的访问权限控制集可以如表4所示:
表4
序号 | 账户信息 | 附加条件语句 |
1 | AND staff LIKE"%[USER]%" | |
2 | Mike | AND vul_type IN("XSS","CSRF") |
3 | Tom | AND level>2 |
4 | John | AND department LIKE"政府事业部" |
当Tom登录系统之后,数据访问权限控制装置从表格4中查找账户信息为Tom,附加条件语句为:AND level>2,表示且等级大于2。
本申请的数据访问权限控制方法,以数据库的存储能力以及支持SQL语句的查询能力为支撑,利用业务逻辑+业务层的访问权限控制集,来实现数据访问权限控制。本申请的数据访问权限控制方法对数据库底层不会形成任何性能压力,没有任何性能问题。
步骤S206,依据SQL语句和查找到的与当前账户匹配的附加条件语句,生成待查询语句。
本申请上述步骤S206中,依据SQL语句和查找到的与当前账户匹配的附加条件语句,生成待查询语句包括:将附加条件语句拼接到SQL语句之后,得到待查询语句。
本申请的数据访问权限控制方法,将实际的SQL语句与附加条件语句进行拼接,形成一个带有权限控制条件的新的SQL语句,然后执行这个新的SQL语句,获得查询结果,这个查询结果就是符合访问权限控制集的数据集合。
需要补充说明的是,如果没有找到指定的附加条件语句,也没有找到默认的附加条件语句,就会得到AND 1=0这个附加条件语句,这是一个永远为否的逻辑表达式,因此当这个附加条件语句被拼接到SQL语句之后,SQL语句的条件永远为假,所以查不出任何数据,后续实施例中会进行详细描述。
在将条件语句以及附加条件语句整合得到待查询语句之后,执行待查询语句,查询得到对应的数据查询结果。
仍以当前账户为Tom为例,当Tom登录系统之后,数据访问权限控制装置从表格4中查找账户信息为Tom,附加条件语句为:AND level>2,因此最终整合得到的待查询语句为:
SELECT*FROM talbe_vul WHERE 1=1AND level>2。
因此,最终从talbe_vul中查询出来的level大于2的数据查询结果如表5所示:
表5
编号 | 职员 | 类型 | 等级 | 部门 |
2 | Mike | XSS | 3 | 云计算事业部 |
3 | Jerry | CSRF | 3 | 政府事业部 |
又例如,当账户Mike登录系统之后,数据访问权限控制装置从表4中查找账户信息为Mike,附加条件语句为:AND vul_type IN("XSS","CSRF"),因此最终整合得到的待查询语句为:
SELECT*FROM talbe_vul WHERE 1=1AND vul_type IN("XSS","CSRF")
因此,最终从talbe_vul中查询出来的数据查询结果如表6所示:
表6
编号 | 职员 | 类型 | 等级 | 部门 |
2 | Mike | XSS | 3 | 云计算事业部 |
3 | Jerry | CSRF | 3 | 政府事业部 |
4 | John | XSS | 2 | 政府事业部 |
通过上述实施例可以看出,本申请提出的数据访问权限控制方法,可以通过设置访问权限控制集,实现任意粒度、任意维度的数据级的权限控制,所需要的前提仅仅是对SQL语句比较熟悉而已,达到了无特定门槛的、全粒度的、基于规则的数据级权限控制的目标。
由上可知,本申请上述实施例一所提供的方案,通过将SQL语句与预设的访问权限控制集结合起来,其中,访问权限控制集所囊括的附加条件语句也是基于SQL语句设置的,其可以使用各种运算符、函数、范围,并且可以随时定义新的附加条件语句,达到了从任意粒度实现数据级权限控制的目的,从而实现了增加数据访问权限控制的适应性的技术效果,进而解决了由于现有的数据级权限管理技术适应性差造成的数据访问权限局限性较大的技术问题。
本申请上述实施例提供的一种可选方案中,如图3所示,上述步骤S206,从预设的访问权限控制集获取与当前账户匹配的附加条件语句的步骤可以包括:
步骤S302,提取访问权限控制集。
本申请上述步骤S302中,在从预设的访问权限控制集获取与当前账户匹配的附加条件语句的过程中,首先可以根据SQL语句中包含的目标数据源的标识信息提取访问权限控制集。
目标数据源与其对应的访问权限控制集的对应关系为预先设定好的,数据访问权限控制装置可以根据目标数据源的标识信息提取对应的访问权限控制集。
以SQL语句为SELECT*FROM talbe_vul WHERE 1=1为例,目标数据源是指上述的表1,目标数据源的标识信息可以为该表的名称,即talbe_vul。
那么,ACL还可以包括:
(3)权限标签名
权限标签名用于标识访问权限控制集对应的数据源,一般为了易于理解,常常用数据源的标识信息(例如名称)来表示。
那么,根据以上所述,一个实际应用中的访问权限控制集可以如表7所示:
表7
步骤S304,从访问权限控制集中,查找是否存在与当前账户的账户信息对应的第一条件子句。
本申请上述步骤S304中,在提取到访问权限控制集之后,从访问权限控制集中查找是否存在与当前账户的账户信息对应的第一条件子句。
以表7为例,若当前账户的账户信息为Tom,那么从表7中查找到存在与Tom对应的第一条件子句为AND level>2;若当前账户的账户信息为Jack,那么表7中不存在与Jack对应的第一条件子句。
步骤S306,若存在,则将第一条件子句确定为附加条件语句。
本申请上述步骤S306中,基于步骤S304,若存在,将第一条件子句确定为附加条件语句,即若当前账户的账户信息为Tom,将AND level>2确定为附加条件语句。
步骤S308,若不存在,则从访问权限控制集中,根据第二条件子句确定附加条件语句,其中,第二条件子句是指账户信息为空对应的语句。
本申请上述步骤S306中,与步骤S307并列的一种情况,基于步骤S304,若不存在则从访问权限控制集中查找账户信息为空对应的语句。
本申请的数据访问权限控制方法,基于一种通用的技术基础,没有额外的学习成本,几乎可以认为是零门槛的,可以实现任意粒度和任意维度的数据访问权限控制,而且可以随时定义新的访问控制规则,非常方便,非常简洁。
本申请上述实施例提供的一种可选方案中,如图4所示,上述步骤S308,从访问权限控制集中,根据第二条件子句确定附加条件语句的步骤可以包括:
步骤S402,从访问权限控制集中,查找是否包含有第二条件子句。
本申请上述步骤S402中,若访问权限控制集中不存在与当前账户的账户信息对应的第一条件子句,则从访问权限控制集中查找是否包含有第二条件子句。
上述实施例中已指出,在ACL中,如果账户信息为空,表示这条规则适用于所有的用户;反之如果账户信息不为空,则表示这条规则仅适用于这个指定的用户。
因此,当访问权限控制集中不包含与当前账户的账户信息对应的附加条件语句时,数据访问权限控制装置则查找账户信息为空对应的附加条件语句。
步骤S404,若包含,则将第二条件子句确定为附加条件语句。
本申请上述步骤S404中,若访问权限控制集中包含有第二条件子句,则将第二条件子句确定为附加条件语句。
例如,当用户Jerry登录系统之后,数据访问权限控制装置从表格7中查找账户信息为Jerry,权限标签名为talbe_vul的附加条件语句时没有查到。因此接下来继续查账户信息为空,权限标签名为talbe_vul的附加条件语句,查到了的附加条件语句为:AND staffLIKE"%[USER]%",因此整合得到待查询语句为:
SELECT*FROM talbe_vul WHERE 1=1AND staff LIKE"%[USER]%"
其中,%[USER]%是一个宏,会被自动替换为当前账户,也就是Jerry,因此最终的待查询语句为:
SELECT*FROM talbe_vul WHERE 1=1AND staff LIKE"Jerry"
因此,最终从talbe_vul中查询出来的数据查询结果如表8所示:
表8
编号 | 职员 | 类型 | 等级 | 部门 |
3 | Jerry | CSRF | 3 | 政府事业部 |
步骤S406,若不包含,则将预设附加条件确定为附加条件语句,其中,预设附加条件为永远为否的表达式。
本申请步骤S406中,若访问权限控制集中仍不包含第二条件子句,数据访问权限控制装置则将预设附加条件确定为附加条件语句,预设附加条件为永远为否的表达式,例如,AND 1=0,当这个预设附加条件被拼接到SQL语句之后,SQL语句的条件永远为假,所以查不出任何数据。
例如,当用户Andy登录系统之后,数据访问权限控制装置从表格7中查找账户信息为Andy,权限标签名为talbe_vul的附加条件语句时没有查到。因此接下来继续查账户信息为空,权限标签名为talbe_vul的附加条件语句,查到了条件为:AND staffLIKE"%[USER]%",因此整合得到待查询语句为:
SELECT*FROM talbe_vul WHERE 1=1AND staff LIKE"%[USER]%"
其中%[USER]%是一个宏,会被自动替换为当前的用户,也就是Andy,因此最终的SQL语句为:
SELECT*FROM talbe_vul WHERE 1=1AND staff LIKE"Andy"
最终查询出来的数据查询集合为空(即没有符合条件的数据)。
可选地,访问权限控制集还包括任意一个账户对应的授权操作,其中,授权操作用于指示允许任意一个账户执行的操作。
本申请上述实施例提供的一种可选方案中,如图5所示,上述步骤S206,从预设的访问权限控制集获取与当前账户匹配的附加条件语句的步骤可以包括:
步骤S502,提取访问权限控制集。
本申请上述步骤S502中,在从预设的访问权限控制集获取与当前账户匹配的附加条件语句的过程中,首先可以根据SQL语句中包含的目标数据源的标识信息提取访问权限控制集。
ACL还可以包括:
(4)授权操作
授权操作用于指示允许任意一个账户执行的操作,表示本条规则如果被触发,而且符合条件的时候,会被允许的操作。基本的授权操作有四种,分别是R(可读)、W(可写)、D(可删除)、E(可导出),具体含义如表9所示:
表9
序号 | 授权操作 | 含义 |
1 | R | 可读 |
2 | W | 可写 |
3 | D | 可删除 |
4 | E | 可导出 |
在表9的基础上,实际使用的时候,授权操作可以是这四种动作的任意组合,共计15种情形,如表10所示:
那么,根据以上所述,一个实际应用中的访问权限控制集可以如表12所示:
表12
步骤S504,从访问权限控制集中,判断SQL语句指示的操作是否为当前账户对应的授权操作。
本申请上述步骤S504中,在提取到访问权限控制集之后,从访问权限控制集中,判断SQL语句指示的操作是否为当前账户对应的授权操作。
例如,在John登录系统之后,SQL语句为:SELECT*FROM talbe_vul WHERE 1=1,该SQL语句指示当前账户John要读取talbe_vul的全部数据。那么首先,John当前的操作是否为授权操作,从表12中可以发现,John对应的授权操作为RE,即可读且可导出,说明允许John读取talbe_vul中的数据。
步骤S506,若是,则将当前账户的账户信息对应的第三条件子句确定为附加条件语句。
本申请上述步骤S506中,若SQL语句指示的操作是当前账户对应的授权操作,则将当前账户的账户信息对应的第三条件子句确定为附加条件语句。
仍以当前账户John为例,若发现允许John读取talbe_vul中的数据,则将John对应的AND department LIKE"政府事业部"确定为附加条件语句。
步骤S508,若否,则将预设附加条件确定为附加条件语句,其中,预设附加条件为永远为否的表达式。
本申请上述步骤S508中,若SQL语句指示的操作不是当前账户对应的授权操作,则将预设附加条件确定为附加条件语句,其中,预设附加条件为永远为否的表达式。
仍以当前账户John为例,若John的SQL语句指示的操作为删除操作,从表12中查找John的授权操作不包含D(可删除),即不允许John执行删除操作,数据访问权限控制装置则将预设附加条件确定为附加条件语句,预设附加条件为永远为否的表达式,例如,AND 1=0,当这个预设附加条件被拼接到SQL语句之后,SQL语句的条件永远为假,所以查不出任何数据。
本申请上述实施例提供的一种可选方案中,如图6(a)所示,在上述步骤S206之后还可以包括:
步骤S602,执行待查询语句,确定是否存在符合待查询语句的数据。
本申请上述步骤S602中,在得到待查询语句之后,执行待查询语句,在待查询语句所指示的目标数据源中对数据进行筛选,确定是否存在符合待查询语句的数据。
步骤S604,若存在,则将符合待查询语句的数据作为数据查询结果。
本申请上述步骤S604中,若存在符合待查询语句的数据,则将符合待查询语句的数据作为数据查询结果。
例如,当用户Jerry登录系统之后,数据访问权限控制装置从表格7中查找账户信息为Jerry,权限标签名为talbe_vul的附加条件语句时没有查到。因此接下来继续查账户信息为空,权限标签名为talbe_vul的附加条件语句,查到了的附加条件语句为:AND staffLIKE"%[USER]%",因此整合得到待查询语句为:
SELECT*FROM talbe_vul WHERE 1=1AND staff LIKE"%[USER]%"
其中,%[USER]%是一个宏,会被自动替换为当前账户,也就是Jerry,因此最终的待查询语句为:
SELECT*FROM talbe_vul WHERE 1=1AND staff LIKE"Jerry"
因此,最终从talbe_vul中查询出来的数据查询结果如表13所示:
表13
编号 | 职员 | 类型 | 等级 | 部门 |
3 | Jerry | CSRF | 3 | 政府事业部 |
步骤S606,若不存在,则数据查询结果为空。
本申请上述步骤S604中,若存在符合待查询语句的数据,则数据查询结果为空(即没有符合条件的数据)。
例如,当用户Andy登录系统之后,数据访问权限控制装置从表格7中查找账户信息为Andy,权限标签名为talbe_vul的附加条件语句时没有查到。因此接下来继续查账户信息为空,权限标签名为talbe_vul的附加条件语句,查到了条件为:AND staffLIKE"%[USER]%",因此整合得到待查询语句为:
SELECT*FROM talbe_vul WHERE 1=1AND staff LIKE"%[USER]%"
其中%[USER]%是一个宏,会被自动替换为当前的用户,也就是Andy,因此最终的SQL语句为:
SELECT*FROM talbe_vul WHERE 1=1AND staff LIKE"Andy"
最终查询出来的数据查询结果为空(即没有符合条件的数据)。
本申请提出了一种基于SQL语句的规则式的数据访问权限控制方法,只要具备SQL语言基础的人,都可以轻松的掌握这种方法。而对于一般的IT技术人员来说,SQL语句属于计算机的通用基础,这就解决了学习新的规则体系的成本和门槛问题。
进一步地,一般的基于规则的数据访问权限控制方法,有很多局限性,其中之一就是无法做到任意粒度、任意维度的权限控制。本申请借助了SQL语句本身的强大功能,将规则和SQL语句结合起来,并在ACL的条件中扩展了某些特定的宏,实现了运算符+条件+宏的组合,可以完成任意粒度和层次的数据级的权限控制。
本申请实施例的数据访问权限控制方法,没有额外的学习成本,几乎可以认为是零门槛的。该方法可以实现任意粒度和任意维度的数据权限控制,而且可以随时定义新的访问控制规则,非常方便,非常简洁。
本申请上述实施例提供的一种可选方案中,如图6(b)所示,本申请实施例的数据访问权限控制方法可以包括以下步骤:
步骤a,用户登录当前账户以获取数据库中的数据。
例如,读取收件箱中的邮件,用户会执行某些操作,例如,点击页面中的收件箱按钮。
步骤b,数据访问权限控制装置调用SQL语句。
步骤c,数据访问权限控制装置从预设的访问权限控制集获取与当前账户匹配的附加条件语句。
其中,访问权限控制集包括:至少一个账户和任意一个账户对应的附加条件语句。
步骤d,数据访问权限控制装置依据SQL语句和查找到的与当前账户匹配的附加条件语句,生成待查询语句。
步骤e,执行待查询语句,查询得到对应的数据查询结果。
由此可知,现有技术存在的数据级权限管理适应性较差,当需求发生变化时修改成本高、发展局限性较大的问题,本申请提出一种基于SQL语句的数据访问权限控制方法,从而将SQL语句与预设的访问权限控制集结合起来,其中,访问权限控制集所囊括的附加条件语句也是基于SQL语句设置的,其可以使用各种运算符、函数、范围,并且可以随时定义新的附加条件语句,达到了从任意粒度实现数据级权限控制的目的,从而实现了增加数据访问权限控制的适应性的技术效果。
需要说明的是,对于前述的各方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本申请并不受所描述的动作顺序的限制,因为依据本申请,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定是本申请所必须的。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到根据上述实施例的方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,或者网络设备等)执行本申请各个实施例所述的方法。
实施例2
根据本申请实施例,还提供了一种用于实施上述方法实施例的装置实施例,本申请上述实施例所提供的装置可以在计算机终端上运行。
图7是根据本申请实施例的数据访问权限控制装置的结构示意图。
如图7所示,该数据访问权限控制装置可以包括调用单元702、查找单元704以及生成单元706。
其中,调用单元702,用于获取待执行的结构化查询语言SQL语句;查找单元704,用于从预设的访问权限控制集获取与所述当前账户匹配的附加条件语句;生成单元706,用于依据所述SQL语句和查找到的与所述当前账户匹配的附加条件语句,生成待查询语句。
由上可知,本申请上述实施例二所提供的方案,通过将SQL语句与预设的访问权限控制集结合起来,其中,访问权限控制集所囊括的附加条件语句也是基于SQL语句设置的,其可以使用各种运算符、函数、范围,并且可以随时定义新的附加条件语句,达到了从任意粒度实现数据级权限控制的目的,从而实现了增加数据访问权限控制的适应性的技术效果,进而解决了由于现有的数据级权限管理技术适应性差造成的数据访问权限局限性较大的技术问题。
此处需要说明的是,上述调用单元702、查找单元704以及生成单元706对应于实施例一中的步骤S202至步骤S206,三个模块与对应的步骤所实现的示例和应用场景相同,但不限于上述实施例一所公开的内容。需要说明的是,上述模块作为装置的一部分可以运行在实施例一提供的计算机终端10中,可以通过软件实现,也可以通过硬件实现。
可选地,所述SQL语句至少包括条件语句,所述访问权限控制集包括:至少一个账户和任意一个账户对应的附加条件语句。
可选地,如图8所示,所述查找单元704包括:第一提取模块802、查找模块804以及第一确定模块806。
其中,第一提取模块802,用于提取所述访问权限控制集;查找模块804,用于从所述访问权限控制集中,查找是否存在与所述当前账户的账户信息对应的第一条件子句;第一确定模块806,用于若存在,则将所述第一条件子句确定为所述附加条件语句;若不存在,则从所述访问权限控制集中,根据第二条件子句确定所述附加条件语句,其中,所述第二条件子句是指账户信息为空对应的语句。
此处需要说明的是,上述第一提取模块802、查找模块804以及第一确定模块806对应于实施例一中的步骤S302至步骤S308,该模块与对应的步骤所实现的示例和应用场景相同,但不限于上述实施例一所公开的内容。需要说明的是,上述模块作为装置的一部分可以运行在实施例一提供的计算机终端10中,可以通过软件实现,也可以通过硬件实现。
可选地,所述第一确定模块806用于执行以下步骤从所述访问权限控制集中,根据第二条件子句确定所述附加条件语句:从所述访问权限控制集中,查找是否包含有所述第二条件子句;若包含,则将所述第二条件子句确定为所述附加条件语句;若不包含,则将预设附加条件确定为所述附加条件语句,其中,所述预设附加条件为永远为否的表达式。
可选地,所述访问权限控制集还包括任意一个账户对应的授权操作,其中,所述授权操作用于指示允许所述任意一个账户执行的操作。
可选地,如图9所示,所述查找单元704包括:第二提取模块902、判断模块904以及第二确定模块906。
其中,第二提取模块902,用于提取所述访问权限控制集;判断模块904,用于从所述访问权限控制集中,判断所述SQL语句指示的操作是否为所述当前账户对应的授权操作;第二确定模块906,用于若是,则将所述当前账户的账户信息对应的第三条件子句确定为所述附加条件语句;若否,则将预设附加条件确定为所述附加条件语句,其中,所述预设附加条件为永远为否的表达式。
此处需要说明的是,上述第二提取模块902、判断模块904以及第二确定模块906对应于实施例一中的步骤S502至步骤S508,该模块与对应的步骤所实现的示例和应用场景相同,但不限于上述实施例一所公开的内容。需要说明的是,上述模块作为装置的一部分可以运行在实施例一提供的计算机终端10中,可以通过软件实现,也可以通过硬件实现。
可选地,所述生成单元706用于执行以下步骤依据所述SQL语句和查找到的与所述当前账户匹配的附加条件语句,生成待查询语句:将所述附加条件语句拼接到所述SQL语句之后,得到所述待查询语句。
可选地,数据访问权限控制装置还包括执行单元,用于执行所述待查询语句,确定是否存在符合所述待查询语句的数据;若存在,则将所述符合所述待查询语句的数据作为所述数据查询结果;若不存在,则所述数据查询结果为空。
可选地,所述SQL语句为结构化查询语言SQL,所述访问权限控制集为访问控制列表ACL。
由此可知,现有技术存在的数据级权限管理适应性较差,当需求发生变化时修改成本高、发展局限性较大的问题,本申请提出一种基于SQL语句的数据访问权限控制方法,从而将SQL语句与预设的访问权限控制集结合起来,其中,访问权限控制集所囊括的附加条件语句也是基于SQL语句设置的,其可以使用各种运算符、函数、范围,并且可以随时定义新的附加条件语句,达到了从任意粒度实现数据级权限控制的目的,从而实现了增加数据访问权限控制的适应性的技术效果。
实施例3
本申请的实施例还提供了一种存储介质。可选地,在本实施例中,上述存储介质可以用于保存上述实施例一所提供的数据访问权限控制方法所执行的程序代码。
可选地,在本实施例中,上述存储介质可以位于计算机网络中计算机终端群中的任意一个计算机终端中,或者位于移动终端群中的任意一个移动终端中。
可选地,在本实施例中,存储介质被设置为存储用于执行以下步骤的程序代码:获取待执行的结构化查询语言SQL语句;从预设的访问权限控制集获取与所述当前账户匹配的附加条件语句;依据所述SQL语句和查找到的与所述当前账户匹配的附加条件语句,生成待查询语句。
可选地,存储介质还被设置为存储用于执行以下步骤的程序代码:提取所述访问权限控制集;从所述访问权限控制集中,查找是否存在与所述当前账户的账户信息对应的第一条件子句;若存在,则将所述第一条件子句确定为所述附加条件语句;若不存在,则从所述访问权限控制集中,根据第二条件子句确定所述附加条件语句,其中,所述第二条件子句是指账户信息为空对应的语句。
可选地,存储介质还被设置为存储用于执行以下步骤的程序代码:从所述访问权限控制集中,查找是否包含有所述第二条件子句;若包含,则将所述第二条件子句确定为所述附加条件语句;若不包含,则将预设附加条件确定为所述附加条件语句,其中,所述预设附加条件为永远为否的表达式。
可选地,存储介质还被设置为存储用于执行以下步骤的程序代码:提取所述访问权限控制集;从所述访问权限控制集中,判断所述SQL语句指示的操作是否为所述当前账户对应的授权操作;若是,则将所述当前账户的账户信息对应的第三条件子句确定为所述附加条件语句;若否,则将预设附加条件确定为所述附加条件语句,其中,所述预设附加条件为永远为否的表达式。
可选地,存储介质还被设置为存储用于执行以下步骤的程序代码:将所述附加条件语句拼接到所述SQL语句之后,得到所述待查询语句。
可选地,存储介质还被设置为存储用于执行以下步骤的程序代码:执行所述待查询语句,确定是否存在符合所述待查询语句的数据;若存在,则将所述符合所述待查询语句的数据作为所述数据查询结果;若不存在,则所述数据查询结果为空。
可选地,在本实施例中,上述存储介质可以包括但不限于:U盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。
可选地,本实施例中的具体示例可以参考上述实施例1中所描述的示例,本实施例在此不再赘述。
上述本申请实施例序号仅仅为了描述,不代表实施例的优劣。
在本申请的上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
在本申请所提供的几个实施例中,应该理解到,所揭露的订单信息的处理装置,可通过其它的方式实现。其中,以上所描述的装置实施例仅仅是示意性的,例如所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,单元或模块的间接耦合或通信连接,可以是电性或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可为个人计算机、服务器或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述仅是本申请的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本申请原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本申请的保护范围。
Claims (10)
1.一种数据访问权限控制方法,其特征在于,包括:
获取待执行的结构化查询语言SQL语句,所述SQL语句对应的账户定义为当前账户;
从预设的访问权限控制集获取与所述当前账户匹配的附加条件语句;
依据所述SQL语句和查找到的与所述当前账户匹配的附加条件语句,生成待查询语句。
2.根据权利要求1所述的方法,其特征在于,所述SQL语句至少包括条件语句,所述访问权限控制集包括:至少一个账户和任意一个账户对应的附加条件语句。
3.根据权利要求1所述的方法,其特征在于,所述从预设的访问权限控制集获取与所述当前账户匹配的附加条件语句包括:
提取所述访问权限控制集;
从所述访问权限控制集中,查找是否存在与所述当前账户的账户信息对应的第一条件子句;
若存在,则将所述第一条件子句确定为所述附加条件语句;
若不存在,则从所述访问权限控制集中,根据第二条件子句确定所述附加条件语句,其中,所述第二条件子句是指账户信息为空对应的语句。
4.根据权利要求3所述的方法,其特征在于,所述从所述访问权限控制集中,根据第二条件子句确定所述附加条件语句包括:
从所述访问权限控制集中,查找是否包含有所述第二条件子句;
若包含,则将所述第二条件子句确定为所述附加条件语句;
若不包含,则将预设附加条件确定为所述附加条件语句,其中,所述预设附加条件为永远为否的表达式。
5.根据权利要求2所述的方法,其特征在于,所述访问权限控制集还包括任意一个账户对应的授权操作,其中,所述授权操作用于指示允许所述任意一个账户执行的操作。
6.根据权利要求5所述的方法,其特征在于,所述从预设的访问权限控制集获取与所述当前账户匹配的附加条件语句包括:
提取所述访问权限控制集;
从所述访问权限控制集中,判断所述SQL语句指示的操作是否为所述当前账户对应的授权操作;
若是,则将所述当前账户的账户信息对应的第三条件子句确定为所述附加条件语句;
若否,则将预设附加条件确定为所述附加条件语句,其中,所述预设附加条件为永远为否的表达式。
7.根据权利要求1所述的方法,其特征在于,所述依据所述SQL语句和查找到的与所述当前账户匹配的附加条件语句,生成待查询语句包括:
将所述附加条件语句拼接到所述SQL语句之后,得到所述待查询语句。
8.根据权利要求1所述的方法,其特征在于,在所述生成待查询语句之后,所述方法还包括:
执行所述待查询语句,确定是否存在符合所述待查询语句的数据;
若存在,则将所述符合所述待查询语句的数据作为数据查询结果;
若不存在,则所述数据查询结果为空。
9.根据权利要求1至8中任一项所述的方法,其特征在于,所述访问权限控制集为访问控制列表ACL。
10.一种数据访问权限控制装置,其特征在于,包括:
调用单元,用于获取待执行的结构化查询语言SQL语句,所述SQL语句对应的账户定义为当前账户;
查找单元,用于从预设的访问权限控制集获取与所述当前账户匹配的附加条件语句;
生成单元,用于依据所述SQL语句和查找到的与所述当前账户匹配的附加条件语句,生成待查询语句。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2015105187042 | 2015-08-21 | ||
CN201510518704 | 2015-08-21 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN106469282A true CN106469282A (zh) | 2017-03-01 |
Family
ID=58229928
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201610682076.6A Pending CN106469282A (zh) | 2015-08-21 | 2016-08-17 | 数据访问权限控制方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN106469282A (zh) |
Cited By (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107679414A (zh) * | 2017-09-25 | 2018-02-09 | 用友网络科技股份有限公司 | 数据权限管理方法、装置、计算机设备和可读存储介质 |
CN107832462A (zh) * | 2017-11-28 | 2018-03-23 | 北京恒华伟业科技股份有限公司 | 一种数据请求方法及装置 |
CN107832618A (zh) * | 2017-09-20 | 2018-03-23 | 武汉虹旭信息技术有限责任公司 | 一种基于细粒度权限控制的sql注入检测系统及其方法 |
CN108509807A (zh) * | 2018-04-13 | 2018-09-07 | 南京新贝金服科技有限公司 | 一种基于角色的列表数据权限控制系统和方法 |
CN108874863A (zh) * | 2018-04-19 | 2018-11-23 | 华为技术有限公司 | 一种数据访问的控制方法及数据库访问装置 |
CN109726213A (zh) * | 2018-12-10 | 2019-05-07 | 网易无尾熊(杭州)科技有限公司 | 一种程序代码转换方法、装置、介质和计算设备 |
CN109872114A (zh) * | 2018-12-25 | 2019-06-11 | 北京奇安信科技有限公司 | 基于软件对终端进行动态管控的方法、终端及服务器 |
CN110532279A (zh) * | 2019-07-12 | 2019-12-03 | 平安普惠企业管理有限公司 | 大数据平台权限控制方法、装置、计算机设备及存储介质 |
CN110895537A (zh) * | 2019-11-29 | 2020-03-20 | 中国银行股份有限公司 | 自由查询权限控制的方法及装置 |
CN111209592A (zh) * | 2020-01-02 | 2020-05-29 | 广东金赋科技股份有限公司 | 基于拼接sql语句控制数据权限的方法和系统 |
CN111444543A (zh) * | 2020-04-02 | 2020-07-24 | 深圳市康拓普信息技术有限公司 | 数据权限的管理方法及系统 |
CN112115122A (zh) * | 2020-09-18 | 2020-12-22 | 北京金山云网络技术有限公司 | 一种数据访问方法、装置及电子设备 |
CN113157781A (zh) * | 2021-01-28 | 2021-07-23 | 绿瘦健康产业集团有限公司 | 一种数据可视化方法、装置、终端设备以及存储介质 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20090043775A1 (en) * | 2002-09-04 | 2009-02-12 | International Business Machines Corporation | Row-level security in a relational database management system |
CN101976316A (zh) * | 2010-10-27 | 2011-02-16 | 杭州新中大软件股份有限公司 | 一种信息访问权限控制方法 |
CN103377336A (zh) * | 2013-01-21 | 2013-10-30 | 航天数联信息技术(深圳)有限公司 | 一种计算机系统用户权限的控制方法和系统 |
CN104679792A (zh) * | 2013-12-03 | 2015-06-03 | 航天信息软件技术有限公司 | 一种数据权限的实现方法 |
-
2016
- 2016-08-17 CN CN201610682076.6A patent/CN106469282A/zh active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20090043775A1 (en) * | 2002-09-04 | 2009-02-12 | International Business Machines Corporation | Row-level security in a relational database management system |
CN101976316A (zh) * | 2010-10-27 | 2011-02-16 | 杭州新中大软件股份有限公司 | 一种信息访问权限控制方法 |
CN103377336A (zh) * | 2013-01-21 | 2013-10-30 | 航天数联信息技术(深圳)有限公司 | 一种计算机系统用户权限的控制方法和系统 |
CN104679792A (zh) * | 2013-12-03 | 2015-06-03 | 航天信息软件技术有限公司 | 一种数据权限的实现方法 |
Cited By (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107832618B (zh) * | 2017-09-20 | 2019-12-24 | 武汉虹旭信息技术有限责任公司 | 一种基于细粒度权限控制的sql注入检测系统及其方法 |
CN107832618A (zh) * | 2017-09-20 | 2018-03-23 | 武汉虹旭信息技术有限责任公司 | 一种基于细粒度权限控制的sql注入检测系统及其方法 |
CN107679414A (zh) * | 2017-09-25 | 2018-02-09 | 用友网络科技股份有限公司 | 数据权限管理方法、装置、计算机设备和可读存储介质 |
CN107832462A (zh) * | 2017-11-28 | 2018-03-23 | 北京恒华伟业科技股份有限公司 | 一种数据请求方法及装置 |
CN108509807A (zh) * | 2018-04-13 | 2018-09-07 | 南京新贝金服科技有限公司 | 一种基于角色的列表数据权限控制系统和方法 |
CN108874863A (zh) * | 2018-04-19 | 2018-11-23 | 华为技术有限公司 | 一种数据访问的控制方法及数据库访问装置 |
US11947700B2 (en) | 2018-04-19 | 2024-04-02 | Huawei Technologies Co., Ltd. | Data access control method and database access apparatus |
CN109726213A (zh) * | 2018-12-10 | 2019-05-07 | 网易无尾熊(杭州)科技有限公司 | 一种程序代码转换方法、装置、介质和计算设备 |
CN109872114A (zh) * | 2018-12-25 | 2019-06-11 | 北京奇安信科技有限公司 | 基于软件对终端进行动态管控的方法、终端及服务器 |
CN110532279A (zh) * | 2019-07-12 | 2019-12-03 | 平安普惠企业管理有限公司 | 大数据平台权限控制方法、装置、计算机设备及存储介质 |
CN110895537A (zh) * | 2019-11-29 | 2020-03-20 | 中国银行股份有限公司 | 自由查询权限控制的方法及装置 |
CN111209592A (zh) * | 2020-01-02 | 2020-05-29 | 广东金赋科技股份有限公司 | 基于拼接sql语句控制数据权限的方法和系统 |
CN111444543A (zh) * | 2020-04-02 | 2020-07-24 | 深圳市康拓普信息技术有限公司 | 数据权限的管理方法及系统 |
CN111444543B (zh) * | 2020-04-02 | 2023-02-28 | 南方电网数字平台科技(广东)有限公司 | 数据权限的管理方法及系统 |
CN112115122A (zh) * | 2020-09-18 | 2020-12-22 | 北京金山云网络技术有限公司 | 一种数据访问方法、装置及电子设备 |
CN113157781A (zh) * | 2021-01-28 | 2021-07-23 | 绿瘦健康产业集团有限公司 | 一种数据可视化方法、装置、终端设备以及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106469282A (zh) | 数据访问权限控制方法及装置 | |
CN107067157A (zh) | 业务风险评估方法、装置及风控系统 | |
Ning et al. | Future internet of things architecture: like mankind neural system or social organization framework? | |
Jansen et al. | Mitigating risks of digitalization through managed industrial security services | |
CN103218398B (zh) | 智能变电站scl文件差异性比较方法 | |
CN104066088A (zh) | 移动终端无线上网策略方法、系统及定义方法 | |
CN108366045A (zh) | 一种风控评分卡的设置方法和装置 | |
Tedeschi et al. | A cost estimation approach for IoT modular architectures implementation in legacy systems | |
Hamm et al. | Edge computing: A comprehensive survey of current initiatives and a roadmap for a sustainable edge computing development | |
CN106713004A (zh) | 一种路由器适配方法及系统 | |
CN106952081A (zh) | 一种权限分级业务的流程实例化方法及设备 | |
CN106713045A (zh) | 一种部署终端设备的驱动组件的方法及设备 | |
CN107562428A (zh) | 基于规则的自适应软件界面布局方法及系统 | |
CN116866865B (zh) | 一种整车控制器数据共享方法及系统 | |
CN106126011A (zh) | 一种应用程序的资源占用信息显示方法及移动终端 | |
CN107484151A (zh) | 一种sim卡联网控制方法 | |
Kumar et al. | IIoT-IDS Network using Inception CNN Model | |
CN103854230A (zh) | 电力安全风险管控系统和方法 | |
CN103713583B (zh) | 一种自动采集并配置授权信息的方法及装置 | |
CN103984540A (zh) | 生成硬件接口运行程序的方法及装置 | |
CN109670339A (zh) | 基于本体的面向隐私保护的访问控制方法及装置 | |
CN109685129A (zh) | 一种基于智能手机的多类社交应用主题信息聚类关联方法 | |
CN113596812B (zh) | 基于安卓平台的一种apn自动配置和切换方法 | |
CN107220262A (zh) | 信息处理方法和装置 | |
CN110826867A (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 | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20170301 |
|
RJ01 | Rejection of invention patent application after publication |