CN108874863B - 一种数据访问的控制方法及数据库访问装置 - Google Patents

一种数据访问的控制方法及数据库访问装置 Download PDF

Info

Publication number
CN108874863B
CN108874863B CN201810354338.5A CN201810354338A CN108874863B CN 108874863 B CN108874863 B CN 108874863B CN 201810354338 A CN201810354338 A CN 201810354338A CN 108874863 B CN108874863 B CN 108874863B
Authority
CN
China
Prior art keywords
data
user
target
operation instruction
permission
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
CN201810354338.5A
Other languages
English (en)
Other versions
CN108874863A (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.)
Huawei Technologies Co Ltd
Original Assignee
Huawei Technologies Co 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 Huawei Technologies Co Ltd filed Critical Huawei Technologies Co Ltd
Priority to CN201810354338.5A priority Critical patent/CN108874863B/zh
Publication of CN108874863A publication Critical patent/CN108874863A/zh
Priority to EP19788730.0A priority patent/EP3779721A4/en
Priority to PCT/CN2019/080813 priority patent/WO2019201082A1/zh
Priority to US17/072,794 priority patent/US11947700B2/en
Application granted granted Critical
Publication of CN108874863B publication Critical patent/CN108874863B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

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/45Structures or tools for the administration of authentication
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules
    • G06F21/6218Protecting 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
    • G06F21/6227Protecting 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 where protection concerns the structure of data, e.g. records, types, queries
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/245Query processing
    • G06F16/2455Query execution
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/21Design, administration or maintenance of databases
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/22Indexing; Data structures therefor; Storage structures
    • G06F16/221Column-oriented storage; Management thereof
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/70Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
    • G06F21/78Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure storage of data
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/21Indexing 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/2141Access rights, e.g. capability lists, access control lists, access tables, access matrices

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Computer Security & Cryptography (AREA)
  • Software Systems (AREA)
  • Computer Hardware Design (AREA)
  • Data Mining & Analysis (AREA)
  • Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • General Health & Medical Sciences (AREA)
  • Computational Linguistics (AREA)
  • Storage Device Security (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本申请实施例公开了一种数据访问的控制方法及数据库访问装置,涉及数据存储领域,能够为数据访问提供安全保障,在一定程度上避免了信息外漏的风险。包括:获取第一数据操作指令(携带目标数据体的标识),该指令是由第一用户触发的;根据目标数据体的标识查询权限设置信息,确定第一用户操作目标数据体的权限;权限设置信息包括至少一个数据体的标识以及至少一个用户操作(包括目标数据体)至少一个数据体(包括第一用户)的权限;根据第一用户操作目标数据体的权限以及第一数据操作指令生成第二数据操作指令;执行第二数据操作指令,操作目标数据体中在目标范围内的数据;目标范围为第一用户操作目标数据体的权限所允许的范围。

Description

一种数据访问的控制方法及数据库访问装置
技术领域
本申请实施例涉及数据存储领域,尤其涉及一种数据访问的控制方法及数据库访问装置。
背景技术
数据库(Database)是按照数据结构来组织、存储和管理数据的仓库,用户可以对Database中的数据进行新增、截取、更新、删除等操作。
通常,用户可以编写结构化查询语言(Structured Query Language,SQL)代码查询Database,从中导出报表数据等。数据库管理员(Database Administrator,DBA)往往只能针对用户进行权限设置,如:禁止用户A访问表1,现有技术并不能限制用户对某个表中数据的具体操作。如此,可能该用户A可以查看到除表1外的所有数据,对于一些高科技、信息、金融等行业,很容易造成极大的信息安全风险。
发明内容
本申请实施例提供一种数据访问的控制方法及数据库访问装置,能够为数据访问提供安全保障,在一定程度上避免了信息外漏的风险。
为达到上述目的,本申请实施例采用如下技术方案:
第一方面,公开了一种数据访问的控制方法,包括:数据库访问装置可以获取第一数据操作指令,其中,第一数据操作指令携带目标数据体的标识,第一数据操作指令是由第一用户触发的,也就是说,目标数据体即用户想要通过第一数据操作指令操作的数据体。数据库访问装置还预先存储了权限设置信息,包括至少一个数据体的标识以及至少一个用户操作至少一个数据体的权限。这里所述的至少一个数据体包括目标数据体,至少一个用户包括第一用户。进一步,数据库访问装置还可以根据目标数据体的标识查询权限设置信息,确定第一用户操作目标数据体的权限;接着,数据库访问装置还可以根据第一用户操作目标数据体的权限以及第一数据操作指令生成第二数据操作指令。最后,数据库访问装置执行第二数据操作指令,操作目标数据体中在目标范围内的数据;目标范围为第一用户操作目标数据体的权限所允许的范围。
本发明实施例提供的数据访问的控制方法,可以结合权限设置信息,自动修改用户输入的SQL语句,增加SQL语句的执行条件(即用户访问数据体的权限,如行权限或列权限),然后执行修改后的SQL语句,实现对用户表,行,列的权限控制。如此,可以对表中的敏感列或敏感行进行保护,能够为数据访问提供安全保障,在一定程度上避免了信息外漏的风险。
结合第一方面,在第一方面的第一种可能的实现方式中,若第一用户操作目标数据的权限为禁止第一用户操作目标数据体中的至少一个目标字段,则根据第一用户操作目标数据体的权限以及第一数据指令生成第二数据操作指令具体包括:数据库访问装置在第一数据操作指令中增加执行条件获得第二数据操作指令;在该执行条件中,第一用户操作的目标字段对应的值为空值。
也就是说,本发明实施例可以通过修改SQL语句,将目标字段对应的值置为空值来实现列权限的控制。
结合第一方面的第一种可能的实现方式,在第一方面的第二种可能的实现方式中,执行第二数据操作指令,操作目标数据体中在目标范围内的数据具体包括:数据库访问装置操作目标数据体中除目标字段外的其他字段下的N列数据,禁止操作目标数据体中目标字段下的M列数据;N为大于等于1的整数,M为大于等于1的整数。
也就是说,当SQL语句的执行条件中目标字段的值为空值(null),禁止用户操作该字段下的一列数据,因此用户查询到的此列数据永远为空,从而实现了对敏感列数据的保护。
结合第一方面,在第一方面的第三种可能的实现方式中,若第一用户操作目标数据体的权限为允许第一用户在目标字段满足预设条件时操作目标数据体中的数据,则根据第一用户操作目标数据体的权限以及第一数据指令生成第二数据操作指令具体包括:数据库访问装置在第一数据操作指令中增加执行条件获得第二数据操作指令;在该执行条件中目标字段满足预设条件,另外,第二数据操作指令用于指示允许第一用户在目标字段满足预设条件时操作目标数据体。
也就是说,本发明实施例可以通过修改SQL语句,增加目标字段需要满足的条件来实现列权限的控制。
结合第一方面的第三种可能的实现方式中,在第一方面的第四种可能的实现方式中,执行第二数据操作指令,操作目标数据体中在目标范围内的数据具体包括:数据库访问装置操作目标数据体中目标字段符合预设条件的Q行数据;Q为大于等于1的整数。
也就是说,当SQL语句的执行条件中目标字段的值需要满足预设条件,仅仅允许用户操作该字段下,在预设条件允许范围内的数据,从而实现了对敏感行数据的保护。
第二方面,公开了一种数据访问装置,包括:
获取单元,用于获取第一数据操作指令,第一数据操作指令携带目标数据体的标识,第一数据操作指令是由第一用户触发的;查询单元,用于根据目标数据体的标识查询权限设置信息,确定第一用户操作目标数据体的权限;权限设置信息包括至少一个数据体的标识以及至少一个用户操作至少一个数据体的权限,至少一个数据体包括目标数据体,至少一个用户包括第一用户;生成单元,用于根据第一用户操作目标数据体的权限以及第一数据操作指令生成第二数据操作指令;操作单元,执行第二数据操作指令,操作目标数据体中在目标范围内的数据;目标范围为第一用户操作目标数据体的权限所允许的范围。
本发明实施例提供的数据库访问装置,可以结合权限设置信息,自动修改用户输入的SQL语句,增加SQL语句的执行条件(即用户访问数据体的权限,如行权限或列权限),然后执行修改后的SQL语句,实现对用户表,行,列的权限控制。如此,可以对表中的敏感列或敏感行进行保护,能够为数据访问提供安全保障,在一定程度上避免了信息外漏的风险。
结合第二方面,在第二方面的第一种可能的实现方式中,若第一用户操作目标数据的权限为禁止第一用户操作目标数据体中的至少一个目标字段,则生成单元具体用于,在第一数据操作指令中增加执行条件获得第二数据操作指令;在执行条件中,第一用户操作的目标字段对应的值为空值。
结合第二方面的第一种可能的实现方式,在第二方面的第二种可能的实现方式中,操作单元具体用于,操作目标数据体中除目标字段外的其他字段下的N列数据,禁止操作目标数据体中目标字段下的M列数据;N为大于等于1的整数,M为大于等于1的整数。
结合第二方面,在第二方面的第三种可能的实现方式中,若第一用户操作目标数据体的权限为允许第一用户在目标字段满足预设条件时操作目标数据体中的数据,则生成单元具体用于,在第一数据操作指令中增加执行条件获得第二数据操作指令;在执行条件中目标字段满足预设条件,第二数据操作指令用于指示允许第一用户在目标字段满足预设条件时操作目标数据体。
结合第二方面的第三种可能的实现方式,在第二方面的第四种可能的实现方式中,操作单元具体用于,操作目标数据体中目标字段符合预设条件的Q行数据;Q为大于等于1的整数。
第三方面,公开了一种数据访问装置,包括:
收发器,用于获取第一数据操作指令,第一数据操作指令携带目标数据体的标识,第一数据操作指令是由第一用户触发的;处理器,用于根据目标数据体的标识查询权限设置信息,确定第一用户操作目标数据体的权限;权限设置信息包括至少一个数据体的标识以及至少一个用户操作至少一个数据体的权限,至少一个数据体包括目标数据体,至少一个用户包括第一用户;处理器还用于,根据第一用户操作目标数据体的权限以及第一数据操作指令生成第二数据操作指令;执行第二数据操作指令,操作目标数据体中在目标范围内的数据;目标范围为第一用户操作目标数据体的权限所允许的范围。
本发明实施例提供的数据库访问装置,可以结合权限设置信息,自动修改用户输入的SQL语句,增加SQL语句的执行条件(即用户访问数据体的权限,如行权限或列权限),然后执行修改后的SQL语句,实现对用户表,行,列的权限控制。如此,可以对表中的敏感列或敏感行进行保护,能够为数据访问提供安全保障,在一定程度上避免了信息外漏的风险。
结合第三方面,在第三方面的第一种可能的实现方式中,若第一用户操作目标数据的权限为禁止第一用户操作目标数据体中的至少一个目标字段,则处理器具体用于,在第一数据操作指令中增加执行条件获得第二数据操作指令;在执行条件中,第一用户操作的目标字段对应的值为空值。
结合第三方面的第一种可能的实现方式,在第三方面的第二种可能的实现方式中,处理器具体用于,操作目标数据体中除目标字段外的其他字段下的N列数据,禁止操作目标数据体中目标字段下的M列数据;N为大于等于1的整数,M为大于等于1的整数。
结合第三方面,在第三方面的第三种可能的实现方式中,若第一用户操作目标数据体的权限为允许第一用户在目标字段满足预设条件时操作目标数据体中的数据,则处理器具体用于,在第一数据操作指令中增加执行条件获得第二数据操作指令;在执行条件中目标字段满足预设条件,第二数据操作指令用于指示允许第一用户在目标字段满足预设条件时操作目标数据体。
结合第三方面的第三种可能的实现方式,在第三方面的第四种可能的实现方式中,处理器具体用于,操作目标数据体中目标字段符合预设条件的Q行数据;Q为大于等于1的整数。
附图说明
图1为本申请实施例提供的数据访问系统的架构图;
图2为本发明实施例提供的数据库访问装置的结构框图;
图3为本发明实施例提供的数据访问的控制方法的流程示意图;
图4为本发明实施例提供的数据访问的控制方法的另一流程示意图;
图5为本发明实施例提供的数据库访问装置的另一结构框图;
图6为本发明实施例提供的数据库访问装置的另一结构框图。
具体实施方式
首先,本发明实施例中的第一、第二仅仅是为了区别不同的对象,并不代表先后顺序。另外,对本发明实施例涉及的术语进行解释说明,具体地:
(1)数据库(Database)可以认为是按照数据结构来组织、存储数据的仓库,用户可以管理数据库中的数据,如:查询数据、删除数据、增加数据以及更新数据等。数据库有很多种类型,如:oracle、MySQL、PostgreSQL、DB2、IQ等。
(2)数据体,可以认为是数据库中用于存储数据的特定数据结构,如:表、试图等。其中,表中有行和列,均可以存储数据。视图是一个虚拟表,同真实的表一样,视图包含列和行。
(3)字段,可以认为是表中的一个属性值,用来说明数据的属性。如:参考以下表1,“姓名”、“收入”、“年龄”都是表1中的字段。其中,“A、B、C、D”是“姓名”字段下的数据,“8K、12K、5K、15K”是“收入”字段下的数据,“25、28、27、30”是“年龄”字段下的数据。将“姓名”字段记为“C1”,将“收入”字段记为“C2”,将“年龄”字段记为“C3”。
表1
姓名(C1) 收入(C2) 年龄(C3)
A 8K 25
B 12K 28
C 5K 27
D 15K 30
图1是本发明实施例提供的数据访问系统的架构图。参考图1,数据库访问装置中用户可以通过账户名、密码登录终端设备,进一步,用户还可以在终端设备上编写SQL语句。终端设备可以通过用户输入的SQL语句查询与数据库访问装置相连的各个数据库中的数据。数据库中可以包括表、视图等存储数据的数据体。示例的,用户在终端设备输入的SQL语句为“select*from T1”,即查询表1中的数据。具体地,终端设备将用户输入的SQL语句传输给数据库访问装置,数据库访问装置接收终端设备传输的SQL语句后可以判断该用户是否有查询表1的权限,如果用户有查询表1的权限,则允许用户查询表1的全部数据。如:将表1的数据发送给终端设备以供用户查看。
但是,现有技术中只能做到用户为粒度的权限控制,一旦允许用户查看某个表,用户就可以操作该表中的所有数据。实际上,对于高科技、信息、金融等行业,某个表中的某个敏感列(如单价,成本等)或某些敏感行(如一个省的数据)为敏感数据,是需要进行权限控制的。如果不对用户进行权限控制,用户可以查看到表中的所有数据,包括敏感数据,极易造成极大的信息安全风险和管理漏洞。
本发明实施例提供的数据访问的控制方法中,预先权限设置信息,包括用户操作数据体的权限,如:允许查看年龄大于50岁的人员信息。数据库访问装置首先获取用户在终端设备输入的第一数据操作指令,进一步还可以根据第一数据操作指令携带的数据体标识查询权限设置信息确定确定该用户操作目标数据体的权限。数据库访问装置还可以根据该用户操作目标数据体的权限以及第一数据操作指令生成第二数据操作指令。最后,数据库访问装置执行第二数据操作指令,操作目标数据体中在目标范围内的数据;其中,目标范围为该用户操作目标数据体的权限所允许的范围。可见,本发明实施例提供的方法可以结合权限设置信息,自动修改用户输入的SQL语句,增加SQL语句的执行条件(即用户访问数据体的权限,如行权限或列权限),然后执行修改后的SQL语句,实现对用户表,行,列的权限控制。如此,可以对表中的敏感列或敏感行进行保护,能够为数据访问提供安全保障,在一定程度上避免了信息外漏的风险。
本发明实施例提供的数据访问的控制方法可应用于数据库访问装置,所述数据库访问装置可以是图1中的数据库访问装置。如图2所示,该数据库访问装置可以包括至少一个处理器11,存储器12、收发器13以及通信总线14。
下面结合图2对该数据库访问装置的各个构成部件进行具体的介绍:
处理器11是数据库访问装置的控制中心,可以是一个处理器,也可以是多个处理元件的统称。例如,处理器11是一个中央处理器(central processing unit,CPU),也可以是特定集成电路(Application Specific Integrated Circuit,ASIC),或者是被配置成实施本发明实施例的一个或多个集成电路,例如:一个或多个微处理器(digital signalprocessor,DSP),或,一个或者多个现场可编程门阵列(Field Programmable Gate Array,FPGA)。
其中,处理器11可以通过运行或执行存储在存储器12内的软件程序,以及调用存储在存储器12内的数据,执行数据库访问装置的各种功能。
在具体的实现中,作为一种实施例,处理器11可以包括一个或多个CPU,例如图2中所示的CPU0和CPU1。
在具体实现中,作为一种实施例,数据库访问装置可以包括多个处理器,例如图2中所示的处理器11和处理器15。这些处理器中的每一个可以是一个单核处理器(single-CPU),也可以是一个多核处理器(multi-CPU)。这里的处理器可以指一个或多个数据库访问装置、电路、和/或用于处理数据(例如计算机程序指令)的处理核。
存储器12可以是只读存储器(read-only memory,ROM)或可存储静态信息和指令的其他类型的静态存储数据库访问装置,随机存取存储器(random access memory,RAM)或者可存储信息和指令的其他类型的动态存储数据库访问装置,也可以是电可擦可编程只读存储器(Electrically Erasable Programmable Read-Only Memory,EEPROM)、只读光盘(Compact Disc Read-Only Memory,CD-ROM)或其他光盘存储、光碟存储(包括压缩光碟、激光碟、光碟、数字通用光碟、蓝光光碟等)、磁盘存储介质或者其他磁存储数据库访问装置、或者能够用于携带或存储具有指令或数据结构形式的期望的程序代码并能够由计算机存取的任何其他介质,但不限于此。存储器12可以是独立存在,通过通信总线14与处理器11相连接。存储器12也可以和处理器11集成在一起。
其中,所述存储器12用于存储执行本发明方案的软件程序,并由处理器11来控制执行。
收发器13,使用任何收发器一类的装置,用于其他装置之间的通信,如:与图1所示终端设备之间的通信。当然,收发器13还可以用于与通信网络通信,如以太网,无线接入网(radio access network,RAN),无线局域网(Wireless Local Area Networks,WLAN)等。收发器13可以包括接收单元实现接收功能,以及发送单元实现发送功能。
通信总线14,可以是工业标准体系结构(Industry Standard Architecture,ISA)总线、外部数据库访问装置互连(Peripheral Component,PCI)总线或扩展工业标准体系结构(Extended Industry Standard Architecture,EISA)总线等。该总线可以分为地址总线、数据总线、控制总线等。为便于表示,图2中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
图2中示出的数据库访问装置结构并不构成对数据库访问装置的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
本发明实施例中,数据库管理员预先根据各个用户的身份生成权限设置信息,并将权限设置信息写入数据库访问装置的存储器12中,进一步,收发器13可以获取与数据库访问装置连接的终端设备传输的第一数据操作指令,处理器11还可以对第一数据操作指令进行解析,确定出用户想要操作的所有数据体(即目标数据体),然后根据存储器12中的权限设置信息判断用户是否有操作该数据体的权限。如果没有操作权限,则提示用户没有权限。如果有权限,处理器11还进一步判断用户想要操作的数据体是否设置有行权限(即用户操作数据体的行的权限),如果有行权限控,则修改第一数据操作指令增加执行条件,生成第二数据操作指令。当然,还要判断用户想要操作的数据体是否是否设置有列权限(即用户操作数据体的列的权限),如果有列权限控,也需要修改第一数据操作指令增加执行条件,以隐藏相关列。
最后,处理器11执行修改后的数据操作指令,即第二数据操作指令,操作所述目标数据体中在目标范围内的数据;所述目标范围为所述第一用户操作所述目标数据体的权限所允许的范围。通过修改数据操作指令对用户的数据访问进行控制,对表中的敏感列或敏感行进行保护,能够为数据访问提供安全保障,在一定程度上避免了信息外漏的风险。
本发明实施例提供一种数据访问的控制方法,如图3所示,所述方法包括以下步骤:
301、数据库访问装置获取第一数据操作指令,所述第一数据操作指令携带目标数据体的标识,所述第一数据操作指令是由第一用户触发的。
具体实现中,用户在终端设备输入账户名、密码登录,进一步,用户想要访问与数据库访问装置相连的各个数据库中的数据时,用户可以在终端设备输入第一数据操作指令,终端设备可以将用户输入的第一数据操作指令传输给数据库访问装置,因此数据库访问装置可以获取到第一用户触发的第一数据操作指令。本发明实施例中,目标数据体可以认为是用户想要通过第一数据操作指令操作的数据体,如表1。数据体的标识可以是数据体的名称。以目标数据为表作为示例,数据体的标识可以是表的名称,如“T1”。
另外,本发明实施例中的数据操作指令可以是SQL语言。示例的,数据库访问装置获取到的第一数据操作指令为“select*from T1”,代表用户想要查询表1(名称为T1的表记为表1)中的数据。
需要说明的是,SQL语言的功能包括查询数据、删除数据、增加数据、更新数据等,也就是说,数据操作指令的功能包括查询数据、删除数据、增加数据、更新数据等。
302、数据库访问装置根据所述目标数据体的标识查询权限设置信息,确定所述第一用户操作所述目标数据体的权限。所述权限设置信息包括至少一个数据体的标识以及至少一个用户操作所述至少一个数据体的权限,所述至少一个数据体包括所述目标数据体,所述至少一个用户包括所述第一用户。
具体实现中,数据库访问装置的数据库的管理员可以根据各个用户的职能、业务权限等信息确定数据体能否被某用户操作。进一步,还需要判断数据体是否包括敏感列,如果数据体包括敏感列还需要设置列权限以防止用户操作敏感列的数据。当然,如果数据体包括敏感行,也需要设置行权限以防止用户操作敏感行的数据。在一些实施例中,可以通过设置字段的取值范围来设置行权限,示例的,参考表1,可以设置用户A操作表1的权限为:仅允许操作年龄小于30的人员的相关数据,那么用户A操作表1的行权限为:C1<30,即用户A可以操作表1的前三行数据。当然,也可以通过设置字段的取值来限制用户的行权限,示例的,参考表1,可以设置用户A操作表1的权限为:仅允许操作年龄为25的人员的相关数据,那么用户A操作表1的行权限为:C1=25,即用户A可以操作表1的第一行数据。又如,可以设置用户A操作表1的权限为:不允许操作年龄为25的人员的相关数据,那么用户A操作表1的行权限为:C1≠25,即用户A可以不可以操作表1的第一行数据,仅仅可以操作表1中其余的数据,如:第二行数据、第三行数据等。
在一些实施例中,可以将敏感列对应的字段的值置为空值(null)来设置列权限。同样,参考表1,可以设置用户A操作表1的权限为:不允许用户A访问人员的收入信息,即禁止用户A操作“收入”字段下的数据,那么用户A操作表1的列权限为:C1=null,即用户A不可以操作表1的第二列数据。
进一步,数据库访问装置还可以将权限设置信息写入数据库访问装置的存储器中,以便后续查找权限设置信息确定某个用户操作某个数据体的具体权限是什么。在本发明实施例中,可以通过表的形式将权限设置信息存储在存储器中,以下表2是权限设置信息的一种可能的实现方式。
表2
Figure BDA0001634208110000071
需要说明的是,表2中的C2、C3、C5、C4是数据体中的字段,如“年龄”、“收入”等。表2仅仅是权限设置信息的一种示例,本发明实施例中的权限设置信息还可以有其他可能的实现方式,本发明实施例对此不做限制。本发明实施例中,用户标识可以是账户名,如:用户A的账户名为“A”,那么用户A的标识也可以是“A”。
另外,本发明实施例中的“敏感列”指的是对某个用户需要保密的一列数据,如:“收入”、“成本价”等。“敏感行”指的是对某个用户需要保密的一行数据,如:年龄为30岁的员工的数据。
具体实现中,数据库访问装置可以解析第一用户触发的第一数据操作指令,确定第一用户想要操作的数据体,即目标数据体。由于用户是通过账户名、密码登录终端设备,终端设备向终端设备传输第一数据操作指令的同时,还可以向数据库访问装置传递用户标识,如:账户名。因此数据库访问装置也可以确定用户的用户标识。进一步,数据库访问装置可以目标数据体的标识、第一用户的用户标识查询权限设置信息确定第一用户操作目标数据体的权限。示例的,用户A的账户名为“A”,即用户A的用户标识为“A”。假设用户A输入的第一数据操作指令为“select*from T1”,解析指令“select*from T1”,可以确定目标数据体的标识为“T1”。进一步,根据用户A的用户标识“A”以及目标数据体的标识“T1”查询权限设置信息确定用户A操作T1的权限。以权限设置信息为表2为例,根据用户A的用户标识“A”以及目标数据体的标识“T1”查询表2,确定用户A操作T1的权限为:C5>1000,即用户A可以操作T1中满足“C5字段大于1000”的所有数据。
在一些实施例中,数据体的权限可以是针对所有用户设置的,那么权限设置信息中可以不包括用户标识,表3是权限设置信息的另一种可能的实现方式。此时数据库访问装置只需要根据数据体的标识查询权限设置信息就可以确定用户操作某数据体的具体权限。示例的,第一用户输入的第一数据操作指令中目标数据体的标识为“T2”,那么第一用户操作数据体“T2”的权限为:禁止操作数据体“T2”中的C2字段。
表3
T1 T2 T3 ……
C5>1000 C2=null C3=20 ……
303、数据库访问装置根据所述第一用户操作所述目标数据体的权限以及所述第一数据操作指令生成第二数据操作指令。
具体实现中,数据库访问装置可以根据所述第一用户操作所述目标数据体的权限修改第一数据操作指令,增加执行条件,生成新的数据操作指令(即第二数据操作指令),新的数据操作指令可以指示第一用户操作所述目标数据体的权限。
本发明实施例中,对用户操作数据体的权限进行的限制包括行权限和列权限。
其中,列权限可以认为是对用户操作数据体的某些列的权限进行限制,如:禁止用户操作数据体中的敏感列。在一些实施例中,若所述第一用户操作所述目标数据的权限为:禁止所述第一用户操作所述目标数据体中的至少一个目标字段(如:“成本价”字段),数据库访问装置则可以在所述第一数据操作指令中增加执行条件获得所述第二数据操作指令。在所述执行条件中,所述第一用户操作的目标字段对应的值为空值。
示例的,第一用户输入的第一数据操作指令为“select*from T1(select*fromT1where C2in(10,20,30))”,即用户想要查询表T1中满足C2字段等于10、20、30的所有数据。进一步,数据库访问装置查询权限设置信息确定第一用户操作目标数据体(以T1为例,假设T1表有C1、C2、C3三个字段)的权限为:禁止访问T1中的C2字段,即C2被设置成敏感列。数据库访问装置可以修改第一数据操作指令以防止第一用户操作C2字段下的数据。示例的,将“select*from T1(select*from T1where C2in(10,20,30))”修改为:
select T1.C1,
T1.C2,
T1.C3
from(select C1,null C2,C3from T1where C2in(10,20,30))T1
因为C2这一列已被置为null,所以用户查询到此列数据永远为空,从而保证C2字段下的数据不会被用户查看到,实现了对特殊数据的保密。
另外,行权限可以认为是对用户操作数据体的某些行的权限进行限制,如:禁止用户操作数据体中的敏感行。在一些实施例中,若所述第一用户操作所述目标数据体的权限为:允许所述第一用户在目标字段满足预设条件时操作所述目标数据体中的数据,即仅允许用户操作数据体中目标字段满足预设条件的数据,如:仅允许用户查看年龄大于30岁的人员的信息。数据库访问装置则在所述第一数据操作指令中增加执行条件获得所述第二数据操作指令;在所述执行条件中所述目标字段满足所述预设条件,所述第二数据操作指令用于指示允许所述第一用户在目标字段满足预设条件时操作所述目标数据体。
示例的,第一用户输入的第一数据操作指令为“select*from T1”,即用户想要查询表T1中的所有数据。进一步,数据库访问装置查询权限设置信息确定第一用户操作目标数据体(以T1为例,假设T1表有C1、C2、C3三个字段)的权限为:只允许访问C1>10000的数据,即字段C1大于10000的N行数据被设置成敏感行。数据库访问装置可以修改第一数据操作指令以防止第一用户操作字段C1小于10000的数据。示例的,将“select*from T1”修改为:
“select*from(“select*from T1”where(C1>10000))T1”。
由此不管用户输入什么样的SQL语句,用户都不能操作T1中C1>10000的数据,可以做到对数据体的行权限的管控。
需要说明的是,本发明实施例中“行权限”不仅仅局限于“只允许访问某个字段大于某个数值的数据”,也可以是“只允许访问某个字段等于某些数值的数据”或者“禁止访问某个字段等于某些数据的数据”,上述“只允许访问C1>10000的数据”仅仅是行权限的一种示例,本发明实施例对此不作限制。当然,“禁止访问T1中的C2字段”也仅仅是列权限的一种示例,本发明实施例同样对列权限的具体实现不作限制。
304、数据库访问装置执行所述第二数据操作指令,操作所述目标数据体中在目标范围内的数据;所述目标范围为所述第一用户操作所述目标数据体的权限所允许的范围。
也就是说,数据库访问装置可以通过在用户输入的第一数据操作指令中增加执行条件生成第二数据操作指令,最终执行的第二数据操作指令能够指示用户操作数据体的权限。执行第二数据操作指令可以禁止用户操作敏感行或敏感列,实现对敏感数据的保护。
具体实现中,如果所述第一用户操作所述目标数据的权限为:禁止所述第一用户操作所述目标数据体中的至少一个目标字段,数据库访问装置执行第二数据操作指令,用户可以操作所述目标数据体中除所述目标字段外的其他字段下的N列数据,无法操作所述目标数据体中所述目标字段下的M列数据。其中,所述N为大于等于1的整数,所述M为大于等于1的整数。
若所述第一用户操作所述目标数据体的权限为:允许所述第一用户在目标字段满足预设条件时操作所述目标数据体中的数据,数据库访问装置执行第二数据操作指令,用户可以操作所述目标数据体中所述目标字段符合所述预设条件的Q行数据;所述Q为大于等于1的整数。
在一些实施例中,可以解析出数据操作指令的最小单元来确定用户想要访问的数据体的标识,即目标数据体的标识。示例的,解析出的最小单元可以是关键字(key Word,KW)、空格或换行符(SP)、标识符(NAME)、数字(NUM),也可以是SQL语言中的一些符号,如:“等号”(=)、“逗号”(,)等。
其中,关键字可以是select,from,where,and,order by sum,substr等SQL语言中的关键字;标识符可以是包括表名,字段名等。
数据库访问装置可以把解析出的表名放到一个数组中,即确定了目标数据体的标识。
本发明实施例还提供一种数据访问的控制方法,如图4所示,所述方法包括以下步骤:
401、数据库访问装置获取用户输入的SQL语句。
其中,用户输入的SQL语句携带用户想要访问的数据体的标识“T1”。
402、数据库访问装置根据“T1”查询权限设置信息确定用户操作T1的权限。
403、数据库访问装置判断用户是否有操作T1的权限。
如果用户没有操作T1的权限,则提示用户不具备操作T1的权限,具体的提示方式可以是:显示提示框,通过该提示框中的文字提示用户,如:显示文字“您不具备访问表1的权限,请联系管理员修改权限”。
如果用户有操作T1的权限,则执行步骤404。
404、数据库访问装置判断T1是否设置行权限。
如果T1设置有行权限,则执行步骤405,根据T1设置的行权限修改用户输入的SQL语句,增加执行条件,避免用户操作敏感行的数据。
如果T1未设置行权限,则执行步骤406,继续判断T1是否设置列权限。
405、数据库访问装置修改SQL语句。
406、数据库访问装置判断T1是否设置列权限。
如果T1设置有列权限,则执行步骤405,根据T1设置的列权限修改用户输入的SQL语句,增加执行条件,避免用户操作敏感列的数据。
如果T1未设置行权限,则执行步骤407。
407、数据库访问装置执行修改后的SQL语句。
需要说明的是,如果数据库访问装置判断T1设置行权限以及列权限,那么在此数据库访问装置需要执行的是两次修改后的SQL语句,两次修改分别来增加T1的列权限以及行权限。最终,将汇总全部修改的SQL语句发到到后台Database去执行,允许用户访问权限访问以内的数据,从而对用户的数据访问进行控制,避免敏感数据被泄露,能够为数据访问提供安全保障,在一定程度上避免了信息外漏的风险。也就是说,步骤406确定T1设置了列权限之后,再次执行步骤405,修改SQL语句,之后再执行步骤407。
当然,如果步骤406确定T1未设置列权限,则无需再次执行步骤405修改SQL语句,直接执行步骤407。
本发明实施例提供一种数据库访问装置,所述数据库访问装置可以是本发明实施例涉及的数据库访问装置,如图1中所示的数据库访问装置。在采用对应各个功能划分各个功能模块的情况下,图5示出了上述通信设备的一种可能的结构示意图。如图5所示,所述数据库访问装置包括获取单元501、查询单元502、生成单元503以及操作单元504。
获取单元501,用于支持所述数据库访问装置执行上述实施例中的步骤301、步骤401,和/或用于本文所描述的技术的其它过程。
查询单元502,用于支持所述数据库访问装置执行上述实施例中的步骤302、步骤402,和/或用于本文所描述的技术的其它过程;
生成单元503,用于支持所述数据库访问装置执行上述实施例中的步骤303、步骤405,和/或用于本文所描述的技术的其它过程;
操作单元504,用于支持所述数据库访问装置执行上述实施例中的步骤304、步骤407,和/或用于本文所描述的技术的其它过程;
需要说明的是,上述方法实施例涉及的各步骤的所有相关内容均可以援引到对应功能模块的功能描述,在此不再赘述。
示例性的,在采用集成的单元的情况下,本申请实施例提供的数据库访问装置的结构示意图如图6所示。在图6中,该数据库访问装置包括:处理模块601和通信模块602。处理模块601用于对数据库访问装置的动作进行控制管理,例如,执行上述查询单元502、生成单元503以及操作单元504执行的步骤,和/或用于执行本文所描述的技术的其它过程。通信模块602用于支持数据库访问装置与其他设备之间的交互,例如,执行上述获取单元501执行的步骤。如图6所示,数据库访问装置还可以包括存储模块603,存储模块603用于存储数据库访问装置的程序代码和数据。
当处理模块601为处理器,通信模块602为收发器,存储模块603为存储器时,数据库访问装置可以为图2所示的数据库访问装置。
通过以上的实施方式的描述,所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将数据库访问装置的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。
在本申请所提供的几个实施例中,应该理解到,所揭露的数据库访问装置和方法,可以通过其它的方式实现。例如,以上所描述的数据库访问装置实施例仅仅是示意性的,例如,所述模块或单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个装置,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,数据库访问装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是一个物理单元或多个物理单元,即可以位于一个地方,或者也可以分布到多个不同地方。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个可读取存储介质中。基于这样的理解,本申请实施例的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该软件产品存储在一个存储介质中,包括若干指令用以使得一个设备(可以是单片机,芯片等)或处理器执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何在本申请揭露的技术范围内的变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以所述权利要求的保护范围为准。

Claims (10)

1.一种数据访问的控制方法,其特征在于,包括:
获取第一数据操作指令,所述第一数据操作指令携带目标数据体的标识,所述第一数据操作指令是由第一用户触发的;
根据所述目标数据体的标识查询权限设置信息,确定所述第一用户操作所述目标数据体的权限;所述权限设置信息包括至少一个数据体的标识以及至少一个用户操作所述至少一个数据体的权限,所述至少一个数据体包括所述目标数据体,所述至少一个用户包括所述第一用户;
根据所述第一用户操作所述目标数据体的权限以及所述第一数据操作指令生成第二数据操作指令;
执行所述第二数据操作指令,操作所述目标数据体中在目标范围内的数据;所述目标范围为所述第一用户操作所述目标数据体的权限所允许的范围;
所述根据所述目标数据体的标识查询权限设置信息,具体包括:
根据所述第一用户的第一用户参数确定所述目标数据体能否被用户操作;所述第一用户参数至少包括用户职能、业务权限中的一项或多项;
判断所述目标数据体是否包括敏感列/行,如果所述目标数据体包括敏感列,则设置列权限,如果所述目标数据体包括敏感行,则设置行权限;其中,所述行权限由字段的取值范围或者取值确定。
2.根据权利要求1所述的方法,其特征在于,若所述第一用户操作所述目标数据的权限为禁止所述第一用户操作所述目标数据体中的至少一个目标字段,则所述根据所述第一用户操作所述目标数据体的权限以及所述第一数据指令生成第二数据操作指令具体包括:
在所述第一数据操作指令中增加执行条件获得所述第二数据操作指令;在所述执行条件中,所述第一用户操作的目标字段对应的值为空值。
3.根据权利要求2所述的方法,其特征在于,所述执行所述第二数据操作指令,操作所述目标数据体中在目标范围内的数据具体包括:
操作所述目标数据体中除所述目标字段外的其他字段下的N列数据,禁止操作所述目标数据体中所述目标字段下的M列数据;所述N为大于等于1的整数,所述M为大于等于1的整数。
4.根据权利要求1所述的方法,其特征在于,若所述第一用户操作所述目标数据体的权限为允许所述第一用户在目标字段满足预设条件时操作所述目标数据体中的数据,则所述根据所述第一用户操作所述目标数据体的权限以及所述第一数据指令生成第二数据操作指令具体包括:
在所述第一数据操作指令中增加执行条件获得所述第二数据操作指令;在所述执行条件中所述目标字段满足所述预设条件,所述第二数据操作指令用于指示允许所述第一用户在目标字段满足预设条件时操作所述目标数据体。
5.根据权利要求4所述的方法,其特征在于,所述执行所述第二数据操作指令,操作所述目标数据体中在目标范围内的数据具体包括:
操作所述目标数据体中所述目标字段符合所述预设条件的Q行数据;所述Q为大于等于1的整数。
6.一种数据访问装置,其特征在于,包括:
获取单元,用于获取第一数据操作指令,所述第一数据操作指令携带目标数据体的标识,所述第一数据操作指令是由第一用户触发的;
查询单元,用于根据所述目标数据体的标识查询权限设置信息,确定所述第一用户操作所述目标数据体的权限;所述权限设置信息包括至少一个数据体的标识以及至少一个用户操作所述至少一个数据体的权限,所述至少一个数据体包括所述目标数据体,所述至少一个用户包括所述第一用户;
生成单元,用于根据所述第一用户操作所述目标数据体的权限以及所述第一数据操作指令生成第二数据操作指令;
操作单元,执行所述第二数据操作指令,操作所述目标数据体中在目标范围内的数据;所述目标范围为所述第一用户操作所述目标数据体的权限所允许的范围;
所述查询单元,具体用于:
根据所述第一用户的第一用户参数确定所述目标数据体能否被用户操作;所述第一用户参数至少包括用户职能、业务权限中的一项或多项;
判断所述目标数据体是否包括敏感列/行,如果所述目标数据体包括敏感列,则设置列权限,如果所述目标数据体包括敏感行,则设置行权限;其中,所述行权限由字段的取值范围或者取值确定。
7.根据权利要求6所述的数据访问装置,其特征在于,若所述第一用户操作所述目标数据的权限为禁止所述第一用户操作所述目标数据体中的至少一个目标字段,则所述生成单元具体用于,在所述第一数据操作指令中增加执行条件获得所述第二数据操作指令;在所述执行条件中,所述第一用户操作的目标字段对应的值为空值。
8.根据权利要求7所述的数据访问装置,其特征在于,所述操作单元具体用于,操作所述目标数据体中除所述目标字段外的其他字段下的N列数据,禁止操作所述目标数据体中所述目标字段下的M列数据;所述N为大于等于1的整数,所述M为大于等于1的整数。
9.根据权利要求6所述的数据访问装置,其特征在于,若所述第一用户操作所述目标数据体的权限为允许所述第一用户在目标字段满足预设条件时操作所述目标数据体中的数据,则所述生成单元具体用于,在所述第一数据操作指令中增加执行条件获得所述第二数据操作指令;在所述执行条件中所述目标字段满足所述预设条件,所述第二数据操作指令用于指示允许所述第一用户在目标字段满足预设条件时操作所述目标数据体。
10.根据权利要求9所述的数据访问装置,其特征在于,所述操作单元具体用于,操作所述目标数据体中所述目标字段符合所述预设条件的Q行数据;所述Q为大于等于1的整数。
CN201810354338.5A 2018-04-19 2018-04-19 一种数据访问的控制方法及数据库访问装置 Active CN108874863B (zh)

Priority Applications (4)

Application Number Priority Date Filing Date Title
CN201810354338.5A CN108874863B (zh) 2018-04-19 2018-04-19 一种数据访问的控制方法及数据库访问装置
EP19788730.0A EP3779721A4 (en) 2018-04-19 2019-04-01 METHODS FOR DATA ACCESS CONTROL AND DATABASE ACCESS DEVICE
PCT/CN2019/080813 WO2019201082A1 (zh) 2018-04-19 2019-04-01 一种数据访问的控制方法及数据库访问装置
US17/072,794 US11947700B2 (en) 2018-04-19 2020-10-16 Data access control method and database access apparatus

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201810354338.5A CN108874863B (zh) 2018-04-19 2018-04-19 一种数据访问的控制方法及数据库访问装置

Publications (2)

Publication Number Publication Date
CN108874863A CN108874863A (zh) 2018-11-23
CN108874863B true CN108874863B (zh) 2022-03-25

Family

ID=64326866

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201810354338.5A Active CN108874863B (zh) 2018-04-19 2018-04-19 一种数据访问的控制方法及数据库访问装置

Country Status (4)

Country Link
US (1) US11947700B2 (zh)
EP (1) EP3779721A4 (zh)
CN (1) CN108874863B (zh)
WO (1) WO2019201082A1 (zh)

Families Citing this family (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108874863B (zh) * 2018-04-19 2022-03-25 华为技术有限公司 一种数据访问的控制方法及数据库访问装置
CN110413671A (zh) * 2019-06-28 2019-11-05 万翼科技有限公司 数据查询方法及装置
US20210026982A1 (en) * 2019-07-25 2021-01-28 Commvault Systems, Inc. Sensitive data extrapolation system
CN110427775B (zh) * 2019-07-25 2021-07-27 北京明略软件系统有限公司 数据查询权限控制方法及装置
CN110557282A (zh) * 2019-08-23 2019-12-10 北京浪潮数据技术有限公司 一种服务器运维管理方法、装置及设备
CN110895537A (zh) * 2019-11-29 2020-03-20 中国银行股份有限公司 自由查询权限控制的方法及装置
CN112214577B (zh) * 2020-09-27 2024-04-09 中国移动通信集团江苏有限公司 目标用户的确定方法、装置、设备及计算机存储介质
CN112580094B (zh) * 2020-12-14 2024-05-17 京东科技控股股份有限公司 数据处理方法、电子设备以及存储介质
CN112486880B (zh) * 2020-12-17 2024-02-20 北京北信源软件股份有限公司 基于数据库存取接口的usb存储装置
CN112597463A (zh) * 2020-12-31 2021-04-02 中国工商银行股份有限公司 数据库数据处理方法、装置及系统
US11514186B2 (en) * 2021-04-14 2022-11-29 Sap Se Integrated database user privilege management
CN113452683A (zh) * 2021-06-15 2021-09-28 郑州云智信安安全技术有限公司 一种数据库行列级权限控制的方法和系统
CN115174224B (zh) * 2022-07-06 2024-02-23 北京神州慧安科技有限公司 一种适用于工业控制网络的信息安全监测方法和装置
CN115659406B (zh) * 2022-12-09 2023-04-28 平安银行股份有限公司 一种数据访问方法

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106250782A (zh) * 2016-08-12 2016-12-21 天津西瑞尔信息工程有限公司 一种基于sql语句解析的数据权限控制方法及装置
CN107239711A (zh) * 2016-03-29 2017-10-10 北京明略软件系统有限公司 一种数据库行权限控制方法和系统
CN107403106A (zh) * 2017-07-18 2017-11-28 北京计算机技术及应用研究所 基于终端用户的数据库细粒度访问控制方法

Family Cites Families (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3756397B2 (ja) * 2000-11-06 2006-03-15 日本電信電話株式会社 アクセス制御方法およびアクセス制御装置および記録媒体
US7240046B2 (en) * 2002-09-04 2007-07-03 International Business Machines Corporation Row-level security in a relational database management system
US7711750B1 (en) * 2004-02-11 2010-05-04 Microsoft Corporation Systems and methods that specify row level database security
CN100495422C (zh) * 2006-11-09 2009-06-03 华为技术有限公司 业务操作权限控制方法
US9002803B2 (en) * 2011-06-07 2015-04-07 Workday, Inc. Role-based security policy for an object-oriented database system
US9286475B2 (en) * 2012-02-21 2016-03-15 Xerox Corporation Systems and methods for enforcement of security profiles in multi-tenant database
US20140181134A1 (en) * 2012-12-21 2014-06-26 Marcel Hermanns Push-down of authority check within query engine
CN103065100B (zh) * 2012-12-26 2015-07-22 中国人民解放军总参谋部第六十一研究所 一种基于容器的用户私有数据保护方法
CN104683348B (zh) * 2015-03-13 2019-03-12 河南理工大学 一种基于属性的访问控制策略合成方法
JP2018514044A (ja) * 2015-03-26 2018-05-31 カスウィル コーポレイション データソースに照会を行うシステム及び方法
US10127393B2 (en) * 2015-07-20 2018-11-13 The United States Of America, As Represented By The Secretary Of Commerce Next generation access control system and process for controlling database access
CN106469282A (zh) * 2015-08-21 2017-03-01 阿里巴巴集团控股有限公司 数据访问权限控制方法及装置
US10235531B2 (en) * 2016-07-05 2019-03-19 Sap Se Column protection
US10303894B2 (en) * 2016-08-31 2019-05-28 Oracle International Corporation Fine-grained access control for data manipulation language (DML) operations on relational data
CN106570406A (zh) * 2016-10-27 2017-04-19 深圳前海微众银行股份有限公司 数据级权限配置方法及装置
CN107503106A (zh) 2017-10-11 2017-12-22 苏州吉森智能科技有限公司 数控裁床的裁刀自动纠偏机构
US20190114341A1 (en) * 2017-10-12 2019-04-18 Sap Se Generic runtime protection for transactional data
CN108874863B (zh) * 2018-04-19 2022-03-25 华为技术有限公司 一种数据访问的控制方法及数据库访问装置
US11188661B2 (en) * 2018-12-12 2021-11-30 Sap Se Semi-rule based high performance permission management
CN111523098A (zh) * 2020-04-15 2020-08-11 支付宝(杭州)信息技术有限公司 数据权限管理方法及装置

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107239711A (zh) * 2016-03-29 2017-10-10 北京明略软件系统有限公司 一种数据库行权限控制方法和系统
CN106250782A (zh) * 2016-08-12 2016-12-21 天津西瑞尔信息工程有限公司 一种基于sql语句解析的数据权限控制方法及装置
CN107403106A (zh) * 2017-07-18 2017-11-28 北京计算机技术及应用研究所 基于终端用户的数据库细粒度访问控制方法

Also Published As

Publication number Publication date
US11947700B2 (en) 2024-04-02
EP3779721A1 (en) 2021-02-17
WO2019201082A1 (zh) 2019-10-24
US20210034777A1 (en) 2021-02-04
CN108874863A (zh) 2018-11-23
EP3779721A4 (en) 2021-04-28

Similar Documents

Publication Publication Date Title
CN108874863B (zh) 一种数据访问的控制方法及数据库访问装置
CN109815284B (zh) 一种数据处理的方法和装置
US11328081B2 (en) Consent-based data privacy management system
US9875370B2 (en) Database server and client for query processing on encrypted data
US8904551B2 (en) Control of access to files
US10362052B2 (en) Generating a virtual database to test data security of a real database
Kraska et al. S chengen DB: A Data Protection Database Proposal
CN114840521B (zh) 数据库的权限管理和数据保护方法、装置、设备和存储介质
US12093242B2 (en) Online determination of result set sensitivity
CN112487478B (zh) 数据访问控制方法、设备、存储介质和数据库系统
CN114647825A (zh) 访问权限控制方法、装置、电子设备和计算机存储介质
Fotache et al. Framework for the Assessment of Data Masking Performance Penalties in SQL Database Servers. Case Study: Oracle
CN109299613B (zh) 数据库分区权限的设置方法和终端设备
US9330276B2 (en) Conditional role activation in a database
US20240143829A1 (en) Permission based data masking
EP3699785A1 (en) Method for managing data of digital documents
CN115878653A (zh) 一种数据访问控制方法、装置、电子设备和存储介质
CN114238273A (zh) 数据库管理方法、装置、设备及存储介质
CN114706857A (zh) 跨多源异构存储系统的统一鉴/授权方法、设备和存储介质
US20160072810A1 (en) Entity-based application selection/installation
KR20230085035A (ko) 개인정보 침해를 방지하기 위한 빅데이터 분석 장치, 동작 방법 및 비-일시적 컴퓨터 판독가능 저장 매체
CN117932645A (zh) 一种分布式数据库的租户管理方法、装置及可读存储介质
CN114880702A (zh) 基于行列级权限的请求处理方法、装置、电子设备及介质
CN117828567A (zh) 一种外部表安全访问控制方法、装置、设备及介质
Oudejans et al. QOMPLIANCE: Declarative Data-Centric Policy Compliance

Legal Events

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