CN116432223A - 一种基于展示权限控制的数据库敏感信息保护方法及系统 - Google Patents
一种基于展示权限控制的数据库敏感信息保护方法及系统 Download PDFInfo
- Publication number
- CN116432223A CN116432223A CN202310343167.7A CN202310343167A CN116432223A CN 116432223 A CN116432223 A CN 116432223A CN 202310343167 A CN202310343167 A CN 202310343167A CN 116432223 A CN116432223 A CN 116432223A
- Authority
- CN
- China
- Prior art keywords
- display
- sensitive information
- field
- sql
- statement
- 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
- 238000000034 method Methods 0.000 title claims abstract description 51
- 238000012545 processing Methods 0.000 claims description 39
- 230000006870 function Effects 0.000 claims description 31
- 238000004590 computer program Methods 0.000 claims description 16
- 230000008569 process Effects 0.000 claims description 12
- 238000000586 desensitisation Methods 0.000 claims description 5
- 238000004458 analytical method Methods 0.000 claims description 3
- 230000010365 information processing Effects 0.000 abstract 1
- 238000010586 diagram Methods 0.000 description 7
- 238000004891 communication Methods 0.000 description 6
- 239000000872 buffer Substances 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 238000012423 maintenance Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000004075 alteration Effects 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000001914 filtration Methods 0.000 description 1
- 230000002452 interceptive effect Effects 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 230000000873 masking effect Effects 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 238000003672 processing method Methods 0.000 description 1
- 230000001105 regulatory effect Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 230000009466 transformation Effects 0.000 description 1
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/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
- 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/21—Design, administration or maintenance of databases
-
- 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
- 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/248—Presentation of query results
-
- 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
- G06F40/00—Handling natural language data
- G06F40/30—Semantic analysis
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Databases & Information Systems (AREA)
- General Health & Medical Sciences (AREA)
- Health & Medical Sciences (AREA)
- Computational Linguistics (AREA)
- Data Mining & Analysis (AREA)
- Software Systems (AREA)
- Computer Security & Cryptography (AREA)
- Computer Hardware Design (AREA)
- Bioethics (AREA)
- Automation & Control Theory (AREA)
- Mathematical Physics (AREA)
- Artificial Intelligence (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Storage Device Security (AREA)
Abstract
本发明涉及一种基于展示权限控制的数据库敏感信息保护方法及系统,通过识别待判断表中存在配置了展示权限的字段以及响应权限设置采取对应的敏感信息处理,在原有数据库读写权限以外新建立展示权限,区别于原有读写权限判断执行,精确识别每条SQL语句的语义,使查询语句的执行和实际查询结果的反馈能够相互独立区分,可以实现语句的方便快捷的输入的同时而无需担心敏感信息泄漏,从而在解决敏感字段信息保护的同时,也能方便即席查询语句输入。
Description
技术领域
本发明涉及数据库处理及敏感信息保护技术领域,尤其涉及一种基于展示权限控制的数据库敏感信息保护方法及系统。
背景技术
在数据库领域,当前关系型数据库仍然是交易数据的主要载体。随着客户信息保护的监管要求越来越严格,基于关系型数据库的敏感信息保护越来越迫切。例如银行领域内的业务数据中包含了大量敏感的信息,如客户姓名、身份证号、手机号、家庭地址、账号、卡号、余额等,在手工查询这些数据时,容易出现敏感信息泄漏的问题,因此必须采取针对性保护措施。
现有技术中,针对关系型数据库的敏感信息保护方法大致包括数据库权限控制、字段内容加密存放和使用额外查询语句处理程序过滤敏感信息三种。其中,对于常用的关系型数据库,例如DB2/Oracle/MySQL等,数据库权限控制能够提供在表一级的权限选择可读/可写,以及更加细分的基于列的可读/可写权限控制。但是,在实际使用中,敏感信息通常来自表、列中的某些特定字段而非表或列的全部字段,因此针对表或列的权限控制过于粗略,同时若针对所有字段分别设定权限则会大大增加使用复杂性,运维人员必须牢记需要排除的字段并准确输入查询语句,造成运维操作使用困难,对人工查询使用非常不友好。
采用应用程序或数据库内加解密函数对字段内容加密存放,在查询后只能得到加密后的数据,必须由应用程序或加解密函数解密还原为明文,因此对于没有相应解密手段的使用过程,例如运维手工查询,可以起到敏感信息保护的作用。但是,采用字段加密方法意味着需要额外管理应用程序、加解密函数的使用权限,且可能由于应用程序、加解密函数的泄露造成更加严重的敏感信息风险。
编写查询语句处理程序的方法中,比如接收到发出的查询select*from T,依据T的表结构定义自行展开“*”得到字段列表,再查询系统权限表,排除查询权限不足的字段,拼接入select语句,从而得到过滤敏感信息后的查询结果。但是,由于应用端实现和数据库引擎实现不同,是扫描SQL字面字符而不是使用标准的SQL语法识别,从而在面对复杂语句时,很难正确处理查询逻辑,从而导致此类额外处理程序应用非常受限。
发明内容
为解决现有技术的不足,本发明提出一种基于展示权限控制的数据库敏感信息保护方法及系统,通过在原有数据库读写权限以外新建立展示权限,区别于原有读写权限判断执行,精确识别每条SQL语句的语义,使查询语句的执行和实际查询结果的反馈能够相互独立区分,可以实现语句的方便快捷的输入的同时而无需担心敏感信息泄漏,从而在解决敏感字段信息保护的同时,也能方便即席查询语句输入。
为实现以上目的,本发明所采用的技术方案包括:
一种基于展示权限控制的数据库敏感信息保护方法,其特征在于,包括:
S1、对数据库中涉及敏感信息的字段配置展示权限,所述展示权限的设定值包括对应字段的开启展示和关闭展示;
S2、解析接收到的SQL查询语句,获取SQL查询语句涉及的待判断表;
S3、识别待判断表中是否存在配置了展示权限的字段,当识别待判断表中不存在配置了展示权限的字段时,不进行敏感信息保护处理直接执行SQL查询语句;
S4、当识别待判断表中存在配置了展示权限的字段时,进一步识别各字段对应的展示权限设定值,当字段的展示权限设定值为开启展示时,不进行敏感信息保护处理直接执行SQL查询语句;
S5、当字段的展示权限设定值为关闭展示时,进行敏感信息保护处理后执行SQL查询语句;
S6、反馈SQL查询语句执行结果。
进一步地,所述展示权限配置在数据库引擎中,或,所述展示权限配置在独立的数据库查询引擎中。
进一步地,所述敏感信息保护处理包括:
将敏感字段替换为脱敏字符;
和,将包含敏感字段的表达式整体替换为脱敏字符。
进一步地,所述步骤S5还包括:
当字段的展示权限设定值为关闭展示时,进一步识别字段是否属于最终查询结果返回字段;
当字段不属于最终查询结果返回字段时,不进行敏感信息保护处理直接执行SQL查询语句;
当字段属于最终查询结果返回字段时,进行敏感信息保护处理后执行SQL查询语句。
进一步地,所述步骤S5还包括:
识别需要进行敏感信息保护处理的SQL查询语句的执行结果是否属于除查询以外其他SQL功能语句的数据来源;
当SQL查询语句的执行结果不属于除查询以外其他SQL功能语句的数据来源时,进行敏感信息保护处理后执行SQL查询语句;
当SQL查询语句的执行结果属于除查询以外其他SQL功能语句的数据来源时,不执行SQL查询语句并反馈错误信息。
进一步地,所述SQL查询语句的执行结果属于除查询以外其他SQL功能语句的数据来源包括:
将SQL查询语句的执行结果用于union、insert、update、delete或merge语句;
将SQL查询语句的执行结果用于存储过程、函数或触发器;
将SQL查询语句的执行结果用于物化视图。
本发明还涉及一种基于展示权限控制的数据库敏感信息保护系统,其特征在于,包括:
展示权限管理模块,用于对数据库中涉及敏感信息的字段配置展示权限;
SQL解析模块,用于解析接收到的SQL查询语句,获取SQL查询语句涉及的待判断表;
第一识别模块,用于识别待判断表中是否存在配置了展示权限的字段;
第二识别模块,用于识别各字段对应的展示权限设定值;
第三识别模块,用于识别字段是否属于最终查询结果返回字段;
第四识别模块,用于识别需要进行敏感信息保护处理的SQL查询语句的执行结果是否属于除查询以外其他SQL功能语句的数据来源;
脱敏处理模块,用于进行敏感信息保护处理。
本发明还涉及一种计算机可读存储介质,其特征在于,所述存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现上述的方法。
本发明还涉及一种电子设备,其特征在于,包括处理器和存储器;
所述存储器,用于存储展示权限;
所述处理器,用于通过调用展示权限,执行上述的方法。
本发明还涉及一种计算机程序产品,包括计算机程序和/或指令,其特征在于,该计算机程序和/或指令被处理器执行时实现上述方法的步骤。
本发明的有益效果为:
采用本发明所述基于展示权限控制的数据库敏感信息保护方法及系统,通过在原有数据库读写权限以外新建立展示权限,区别于原有读写权限判断执行,精确识别每条SQL语句的语义,使查询语句的执行和实际查询结果的反馈能够相互独立区分,可以实现语句的方便快捷的输入的同时而无需担心敏感信息泄漏,从而在解决敏感字段信息保护的同时,也能方便即席查询语句输入。
附图说明
图1为本发明基于展示权限控制的数据库敏感信息保护方法流程示意图。
图2为本发明基于展示权限控制的数据库敏感信息保护系统结构示意图。
具体实施方式
为了更清楚的理解本发明的内容,将结合附图和实施例详细说明。
本发明第一方面涉及一种步骤流程如图1所示的基于展示权限控制的数据库敏感信息保护方法,包括:
S1、对数据库中涉及敏感信息的字段配置展示权限,所述展示权限的设定值包括对应字段的开启展示和关闭展示。优选的,展示权限既可以直接配置在数据库引擎中,也可以配置在独立的数据库查询引擎中,相较应用层控制,可以精确的识别每条SQL语句的语义,而不是依据SQL语句字面值扫描替换,实现更精确的控制,实现对复杂语句的精准控制。
例如,可以增加新的展示权限,定义为DISPLAY或者类似表达,并定义设定值开启展示为GRANT DISPLAY(敏感字段1,敏感字段2[,...])ON TABLE TTO user,关闭展示为REVOKE DISPLAY(敏感字段1,敏感字段2[,...])ON TABLE T FROM user。
S2、解析接收到的SQL查询语句,获取SQL查询语句涉及的待判断表。
S3、识别待判断表中是否存在配置了展示权限的字段,当识别待判断表中不存在配置了展示权限的字段时,不进行敏感信息保护处理直接执行SQL查询语句。
S4、当识别待判断表中存在配置了展示权限的字段时,进一步识别各字段对应的展示权限设定值,当字段的展示权限设定值为开启展示时,不进行敏感信息保护处理直接执行SQL查询语句。
S5、当字段的展示权限设定值为关闭展示时,进行敏感信息保护处理后执行SQL查询语句。其中,敏感信息保护处理包括将敏感字段替换为脱敏字符以及将包含敏感字段的表达式整体替换为脱敏字符。
部分SQL查询语句可能存在有多层级的查询嵌套,其中子查询结果并不会反馈至用户,因此执行这类子查询并不会造成任何敏感信息泄露。因此,优选的,在确定某字段的展示权限设定值为关闭展示时,还可以进一步识别字段是否属于最终查询结果返回字段,并仅对需要反馈给用户的部分进行敏感信息保护处理。
另一方面,SQL查询语句也可能作为其他SQL功能语句(例如将SQL查询语句的执行结果用于union、insert、update、delete或merge语句、用于存储过程、函数或触发器以及用于物化视图等)的数据来源,此种情况下,对SQL查询语句采取敏感信息保护处理会使所得查询结果不能正确作为来源继续用于其他SQL功能语句的执行,因此当存在有此类字段属于敏感信息保护范围时,不执行SQL查询语句并反馈错误信息,以确保敏感信息安全并提示用户知晓错误原因为涉及敏感信息保护。例如,对于敏感信息保护处理使用“*”或者类似字符替代敏感字段,本身为字符类结果。如果敏感字段本身为数值类,则“*”字符并不是该类型的合法值,而对于其他非字符类兼容的字段存在同样的问题,因此直接设置此类情况下展示权限为关闭展示的SQL查询语句不能执行。
S6、反馈SQL查询语句执行结果。
以下通过具体实施例进一步说明本发明方法的敏感信息保护流程。
约定以Cs表示敏感字段,Cs1表示敏感字段1,Cs2表示敏感字段2,以此类推;C表示非敏感字段,C1表示非敏感字段1,C2表示非敏感字段2,以此类推;T表示表,T1表示表1,T2表示表2,以此类推。在对于不同情况下的SQL查询语句,可以应用上述方法实现敏感信息保护:
1)select的结果界面展示
对于最常见的select用法,select的结果即select的选择列最终返回客户端。此时分析select的选择列或者选择列的表达式中是否涉及敏感信息字段(设定了展示权限的字段)。如果存在选择列或者表达式设计的列存在展示权限且设定值为关闭展示,则该列或者含有该列的表达式整体不可展示。比如:
select Cs1,case when Cs2<2000then'1'else'2'end,C3 from T
这条语句中,Cs1和Cs2为敏感字段,且假设该用户不具备该字段的展示权限(设定值为关闭展示),则Cs1字段及包含Cs2的case when表达式整体,都不能展示,最终显示为'*'。不允许含有没有展示权限的敏感列的表达式,是为了避免使用者通过复杂的表达式计算间接的得到该没有展示权限的敏感列的值的映射。
程序具体处理时,可以直接将收到的select语句的select字段,在抽象语法树AST上进行替换,替换后的SQL语句等价于:
select'*'as"*Cs1",'*'as"*case when cs2<2000then'1'else'2'end",C3 fromT
发送回客户端的结果并不需要类型转换,也不涉及其他SQL功能语句,故该语句允许执行,且对于没有展示权限的敏感字段显示为'*'。同时优选的,对于字段别名"*Cs1"前面加上'*'可以在交互的展示界面上提示该字段没有展示权其查询结果已经屏蔽了敏感信息。
2)select的结果导出到文件
由于查询数据导出到文件,故不涉及目标类型(字符类型)兼容的问题。因此,该语句允许执行。
执行过程同“1)select的结果界面展示”描述。比如:
select Cs1,Cs2,C3 from T into outfile'result.dat'
分析该select语句,对于没有展示权限的Cs1和Cs2,在AST上进行替换,相当于执行:
select'*'as"*Cs1",'*'as"*Cs2",C3 from T into outfile'result.dat'
这样,对于导出为文本的结果也实现了敏感信息结果屏蔽。
3)select的结果保存到用户自定义变量
由于数据保存在变量,在4GL中用户变量不是强类型的,故不涉及目标类型兼容的问题。因此,该语句允许执行。
执行过程同“1)select的结果界面展示”描述。比如:
select Cs1,Cs2,C3 into:user_var1,:user_var2,:user_var3 from T
分析该select语句,对于没有展示权限的Cs1和Cs2,在AST上进行替换,相当于执行:
select'*'as"*Cs1",'*'as"*Cs2",C3
into:user_var1,:user_var2,:user_var3 from T
这样,对查询结果保存到用户变量的过程与也实现了敏感信息结果屏蔽。
4)select的结果作为子查询的结果和外层查询关联
如果select语句作为子查询,且查询字段包含没有展示权限的敏感列,则该字段不需要处理,也即:如果该字段不是最终的查询结果返回字段,不管该字段是否有展示权限,仅对最外层的select的查询结果进行没有展示权限的敏感列进行屏蔽。比如:
select C1,C2,Cs3 from T where C3 in(select Cs1 from T1)
这条语句中,子查询select Cs1 from T1包含了敏感列Cs1且无展示权限,但其并不是整条select的最终返回语句,故该子查询不需要敏感信息保护处理。最外层的selectC1,C2,Cs3 from T where……中,该语句为最终查询结果,且选择列包含了敏感列Cs3且没有展示权,则数据库引擎在AST上进行替换,最终执行等效语句:
select C1,C2,'*'as"Cs3"from T where C3 in(select Cs1 from T1)
之所以对子查询的结果不予屏蔽,是考虑到如果在非最终查询结果部分进行限制,则使用者将无法对两个表进行关系处理;且由于不是最终查询结果,不存在敏感信息泄漏的问题。
5)select的结果作为union语句的来源
对于union语句,union语句的各select(不包含该select的子查询),如果包含敏感字段且没有展示权限,则该union不予执行。比如:
select Cs1,C2 from T1
union
select C1,C2 from T2
这条union语句中,第一个select包含了敏感列Cs1且无展示权限,则该语句不予执行。这是因为:
Cs1如果替换为字符类型的'*',存在和第二条select语句C1类型兼容问题;
对于union,如果Cs1替换为'*',则对于union的排序去重语义,已经破坏了union的结果。
如果用户确实有这种查询需求,则可以优选的采用:
select*from(select Cs1,C2 from T1 union select C1,C2 from T2)AS T
对于这条语句,数据库引擎分析T为派生表,该派生表的列包含了敏感信息列且没有展示权限,而子查询本身并不替换。因此,该语句可以在数据库引擎,通过AST替换,最终等效执行:
select'*'as"*Cs1",C2 from(select Cs1,C2 from T1 union select C1,C2from T2)AS T
能够获得执行结果且满足敏感信息保护要求。
6)select的结果作为insert语句的来源
比如insert into T(C1,C2)select Cs1,C3 from T1
类似于union,select的结果和insert的目标可能存在目标列(字段)的兼容问题,故该语句不允许执行。
具体的,分析语句后,select结果存在Cs1敏感列且没有展示权限,并且是insert的子句,则该语句禁止执行。
7)select的结果作为update的来源
类似于insert,该语句可能存在目标列类型兼容性的问题,故不允许执行,避免用户通过update语句间接得到敏感信息。
8)select的结果作为delete的来源
类似于insert,该语句可能存在目标列类型兼容性的问题,故select结果中包含敏感列且无展示权限的delete子句,不允许执行。避免用户通过delete间接得到敏感信息。
9)select的结果作为merge的来源
类似于insert,该语句可能存在目标列类型兼容性的问题,故如果select结果中包含敏感列且无展示权限的merge子句,不允许执行。避免用户通过merge间接得到敏感信息。
10)select在存储过程、函数、触发器中使用
该功能在存储过程、函数、触发器对于设计的查询语句,只要包含敏感列且无展示权限的,不允许执行。
11)select语句作为视图
视图处理中,分为普通视图和物化视图。
对于普通视图,创建时不检查敏感列展示权限的检查。执行时,按照使用的视图展开语句,展开后的语句,按照上述的规则执行敏感信息的屏蔽。
对于物化视图,不允许执行。
12)select语句作在CTE(Common Table Expression)中使用
CTE相当于语句级别的临时派生表,该临时派生表按照派生表的规则。在执行时标记字段是否敏感列且无展示权,处理规则同前述。比如:
With T as(select Cs1,C2 from T1)
select T.Cs1,T2.C2 from T left join T2 on T.C2=T2.C2
对于本语句,派生表T的Cs1字段被标记为敏感列且无展示权,则在最终查询结果语句中屏蔽,引擎通过AST变换,执行等效语句:
With T as(select Cs1,C2 from T1)
select'*'as"*Cs1",T2.C2 from T left join T2 on T.C2=T2.C2
可以实现敏感信息的屏蔽保护。
本发明另一方面还涉及一种基于展示权限控制的数据库敏感信息保护系统,其结构如图2所示,包括:
展示权限管理模块,用于对数据库中涉及敏感信息的字段配置展示权限;
SQL解析模块,用于解析接收到的SQL查询语句,获取SQL查询语句涉及的待判断表;
第一识别模块,用于识别待判断表中是否存在配置了展示权限的字段;
第二识别模块,用于识别各字段对应的展示权限设定值;
第三识别模块,用于识别字段是否属于最终查询结果返回字段;
第四识别模块,用于识别需要进行敏感信息保护处理的SQL查询语句的执行结果是否属于除查询以外其他SQL功能语句的数据来源;
脱敏处理模块,用于进行敏感信息保护处理。
通过使用该系统,能够执行上述的运算处理方法并实现对应的技术效果。
本发明的实施例还提供能够实现上述实施例中的方法中全部步骤的一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,该计算机程序被处理器执行时实现上述实施例中的方法的全部步骤。
本发明的实施例还提供一种用于执行上述方法的电子设备,作为该方法的实现装置,所述电子设备至少具备有处理器和存储器,特别是该存储器上存储有执行方法所需的数据和相关的计算机程序,例如展示权限等,并通过由处理器调用存储器中的数据、程序执行实现方法的全部步骤,并获得对应的技术效果。
优选的,该电子设备可以包含有总线架构,总线可以包括任意数量的互联的总线和桥,总线将包括由一个或多个处理器和存储器的各种电路链接在一起。总线还可以将诸如外围设备、稳压器和功率管理电路等之类的各种其他电路链接在一起,这些都是本领域所公知的,因此,本文不再对其进行进一步描述。总线接口在总线和接收器和发送器之间提供接口。接收器和发送器可以是同一个元件,即收发机,提供用于在传输介质上与各种其他系统通信的单元。处理器负责管理总线和通常的处理,而存储器可以被用于存储处理器在执行操作时所使用的数据。
额外的,所述电子设备还可以进一步包括通信模块、输入单元、音频处理器、显示器、电源等部件。其所采用的处理器(或称为控制器、操作控件)可以包括微处理器或其他处理器装置和/或逻辑装置,该处理器接收输入并控制电子设备的各个部件的操作;存储器可以是缓存器、闪存、硬驱、可移动介质、易失性存储器、非易失性存储器或其它合适装置中的一种或更多种,可储存上述有关的数据信息,此外还可存储执行有关信息的程序,并且处理器可执行该存储器存储的该程序,以实现信息存储或处理等;输入单元用于向处理器提供输入,例如可以为按键或触摸输入装置;电源用于向电子设备提供电力;显示器用于进行图像和文字等显示对象的显示,例如可为LCD显示器。通信模块即为经由天线发送和接收信号的发送机/接收机。通信模块(发送机/接收机)耦合到处理器,以提供输入信号和接收输出信号,这可以和常规移动通信终端的情况相同。基于不同的通信技术,在同一电子设备中,可以设置有多个通信模块,如蜂窝网络模块、蓝牙模块和/或无线局域网模块等。通信模块(发送机/接收机)还经由音频处理器耦合到扬声器和麦克风,以经由扬声器提供音频输出,并接收来自麦克风的音频输入,从而实现通常的电信功能。音频处理器可以包括任何合适的缓冲器、解码器、放大器等。另外,音频处理器还耦合到中央处理器,从而使得可以通过麦克风能够在本机上录音,且使得可以通过扬声器来播放本机上存储的声音。
本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的系统。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令系统的制造品,该指令系统实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。尽管已描述了本发明的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例做出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明范围的所有变更和修改。
以上所述仅为本发明较佳的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到的变化或替换等都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应该以权利要求书的保护范围为准。
Claims (10)
1.一种基于展示权限控制的数据库敏感信息保护方法,其特征在于,包括:
S1、对数据库中涉及敏感信息的字段配置展示权限,所述展示权限的设定值包括对应字段的开启展示和关闭展示;
S2、解析接收到的SQL查询语句,获取SQL查询语句涉及的待判断表;
S3、识别待判断表中是否存在配置了展示权限的字段,当识别待判断表中不存在配置了展示权限的字段时,不进行敏感信息保护处理直接执行SQL查询语句;
S4、当识别待判断表中存在配置了展示权限的字段时,进一步识别各字段对应的展示权限设定值,当字段的展示权限设定值为开启展示时,不进行敏感信息保护处理直接执行SQL查询语句;
S5、当字段的展示权限设定值为关闭展示时,进行敏感信息保护处理后执行SQL查询语句;
S6、反馈SQL查询语句执行结果。
2.如权利要求1所述的方法,其特征在于,所述展示权限配置在数据库引擎中,或,所述展示权限配置在独立的数据库查询引擎中。
3.如权利要求1所述的方法,其特征在于,所述敏感信息保护处理包括:
将敏感字段替换为脱敏字符;
和,将包含敏感字段的表达式整体替换为脱敏字符。
4.如权利要求1所述的方法,其特征在于,所述步骤S5还包括:
当字段的展示权限设定值为关闭展示时,进一步识别字段是否属于最终查询结果返回字段;
当字段不属于最终查询结果返回字段时,不进行敏感信息保护处理直接执行SQL查询语句;
当字段属于最终查询结果返回字段时,进行敏感信息保护处理后执行SQL查询语句。
5.如权利要求4所述的方法,其特征在于,所述步骤S5还包括:
识别需要进行敏感信息保护处理的SQL查询语句的执行结果是否属于除查询以外其他SQL功能语句的数据来源;
当SQL查询语句的执行结果不属于除查询以外其他SQL功能语句的数据来源时,进行敏感信息保护处理后执行SQL查询语句;
当SQL查询语句的执行结果属于除查询以外其他SQL功能语句的数据来源时,不执行SQL查询语句并反馈错误信息。
6.如权利要求5所述的方法,其特征在于,所述SQL查询语句的执行结果属于除查询以外其他SQL功能语句的数据来源包括:
将SQL查询语句的执行结果用于union、insert、update、delete或merge语句;
将SQL查询语句的执行结果用于存储过程、函数或触发器;
将SQL查询语句的执行结果用于物化视图。
7.一种基于展示权限控制的数据库敏感信息保护系统,其特征在于,包括:
展示权限管理模块,用于对数据库中涉及敏感信息的字段配置展示权限;
SQL解析模块,用于解析接收到的SQL查询语句,获取SQL查询语句涉及的待判断表;
第一识别模块,用于识别待判断表中是否存在配置了展示权限的字段;
第二识别模块,用于识别各字段对应的展示权限设定值;
第三识别模块,用于识别字段是否属于最终查询结果返回字段;
第四识别模块,用于识别需要进行敏感信息保护处理的SQL查询语句的执行结果是否属于除查询以外其他SQL功能语句的数据来源;
脱敏处理模块,用于进行敏感信息保护处理。
8.一种计算机可读存储介质,其特征在于,所述存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现权利要求1至6中任一项所述的方法。
9.一种电子设备,其特征在于,包括处理器和存储器;
所述存储器,用于存储展示权限;
所述处理器,用于通过调用展示权限,执行权利要求1至6中任一项所述的方法。
10.一种计算机程序产品,包括计算机程序和/或指令,其特征在于,该计算机程序和/或指令被处理器执行时实现权利要求1至6中任一项所述方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310343167.7A CN116432223A (zh) | 2023-03-31 | 2023-03-31 | 一种基于展示权限控制的数据库敏感信息保护方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310343167.7A CN116432223A (zh) | 2023-03-31 | 2023-03-31 | 一种基于展示权限控制的数据库敏感信息保护方法及系统 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116432223A true CN116432223A (zh) | 2023-07-14 |
Family
ID=87091986
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310343167.7A Pending CN116432223A (zh) | 2023-03-31 | 2023-03-31 | 一种基于展示权限控制的数据库敏感信息保护方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116432223A (zh) |
-
2023
- 2023-03-31 CN CN202310343167.7A patent/CN116432223A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8983985B2 (en) | Masking sensitive data of table columns retrieved from a database | |
CN108874863B (zh) | 一种数据访问的控制方法及数据库访问装置 | |
CN1307539C (zh) | 用于许可访问软件的方法、系统 | |
US8108367B2 (en) | Constraints with hidden rows in a database | |
EP2565802B1 (en) | Data masking setup | |
US20210141920A1 (en) | Dynamic view for implementing data access control policies | |
US10552642B2 (en) | Dynamic data-use restrictions | |
US8813250B2 (en) | Access control program, system, and method | |
US9129129B2 (en) | Automatic data protection in a computer system | |
US7693849B2 (en) | Masking object data based on user authorization | |
CN107239710B (zh) | 一种数据库权限实现方法和系统 | |
US11971981B2 (en) | Systems and methods for a virtual sandbox database | |
CN107194276A (zh) | 数据库动态脱敏方法及设备 | |
CN113535754B (zh) | 一种数据访问方法、装置及系统 | |
US20200097673A1 (en) | Data privilage control method and system | |
US11914741B2 (en) | Data security | |
CN114424191A (zh) | 基于被访问资源的对数据库的过程语言的细粒度访问控制 | |
US11748353B2 (en) | Run-time performance of a database | |
CN109299613B (zh) | 数据库分区权限的设置方法和终端设备 | |
CN116432223A (zh) | 一种基于展示权限控制的数据库敏感信息保护方法及系统 | |
CN111737293A (zh) | 一种数据仓库权限管理方法、装置、设备和存储介质 | |
CN114428802A (zh) | 基于用户权限的数据过滤方法及系统 | |
CN114238273A (zh) | 数据库管理方法、装置、设备及存储介质 | |
CN117633752A (zh) | 一种基于对象属性匹配的数据访问控制方法及系统 | |
US20240169085A1 (en) | System and method for role based access control for data |
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 |