CN116415296A - 一种数据输出方法、装置、电子设备及存储介质 - Google Patents

一种数据输出方法、装置、电子设备及存储介质 Download PDF

Info

Publication number
CN116415296A
CN116415296A CN202310283464.7A CN202310283464A CN116415296A CN 116415296 A CN116415296 A CN 116415296A CN 202310283464 A CN202310283464 A CN 202310283464A CN 116415296 A CN116415296 A CN 116415296A
Authority
CN
China
Prior art keywords
data
user
target data
target
desensitized
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
Application number
CN202310283464.7A
Other languages
English (en)
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.)
Netease Hangzhou Network Co Ltd
Original Assignee
Netease Hangzhou Network 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 Netease Hangzhou Network Co Ltd filed Critical Netease Hangzhou Network Co Ltd
Priority to CN202310283464.7A priority Critical patent/CN116415296A/zh
Publication of CN116415296A publication Critical patent/CN116415296A/zh
Pending legal-status Critical Current

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/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/6245Protecting personal data, e.g. for financial or medical purposes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/901Indexing; Data structures therefor; Storage structures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/903Querying
    • YGENERAL 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
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE 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/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • Data Mining & Analysis (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Hardware Design (AREA)
  • Medical Informatics (AREA)
  • Computational Linguistics (AREA)
  • Storage Device Security (AREA)

Abstract

本申请提供了一种数据输出方法、装置、电子设备及存储介质。应用于数据安全领域。该方法包括:接收针对指定数据库中目标数据的数据查询请求,其中,指定数据库用于存储未脱敏的原始数据,数据查询请求中至少包括查询用户信息和所查询的目标数据对应的目标索引名称。根据查询用户信息与目标索引名称,从预设的权限关系表中判断查询用户是否有权限查询目标数据。若查询用户有权限查询目标数据,则判断目标数据对于查询用户是否需要进行脱敏。若目标数据对于查询用户需要进行脱敏,则确定目标数据中针对查询用户的待脱敏内容。从指定数据库中获取目标数据,根据待脱敏内容对目标数据进行脱敏,并向查询用户输出脱敏后的目标数据。

Description

一种数据输出方法、装置、电子设备及存储介质
技术领域
本申请涉及数据安全领域,尤其涉及一种数据输出方法、装置、电子设备及存储介质。
背景技术
随着移动互联网的快速发展,网络中的信息量呈现出爆炸型增长。然而,由于网络应用程序本身的缺陷加上管理上的疏忽,越来越多的敏感信息暴露于搜索引擎的搜索结果中,通过对搜索结果中的敏感数据进行数据脱敏处理是保护隐私的一个重要手段。
现有的数据脱敏方案,通常是在数据写入到搜索引擎之前,根据用户对数据的脱敏需求提前规定好需要脱敏的字段,然后根据数据脱敏规则对数据中需要脱敏的字段进行脱敏处理,示例性的,将需要脱敏的字段直接用*号代替或者删除,再将脱敏后的数据写入到搜索引擎中。
这样,由于需要将数据脱敏之后再写入到搜索引擎中,因此,无法保留原始数据,也会影响数据的写入性能,用户在查询数据时,所有用户查询到的数据都是经过脱敏之后的数据。然而,考虑到数据安全性以及针对不同使用场景,同一数据针对不同用户能够查看到的数据应该是不同的,例如,部分用户需要查看全部行数据,部分用户需要查看一部分行数据,而部分用户只需要查看行数据中的部分字段值。
发明内容
有鉴于此,本申请提供了一种数据输出方法、装置、电子设备及存储介质,以解决或至少部分解决上述问题。
本申请实施例第一方面提供了一种数据输出方法,该处理方法包括:
接收针对指定数据库中目标数据的数据查询请求,其中,指定数据库用于存储未脱敏的原始数据,数据查询请求中至少包括查询用户信息和锁查询的目标数据对应的目标索引名称。
根据查询用户信息与目标索引名称,从预设的权限关系表中判断查询用户是否有权限查询目标数据。
若查询用户有权限查询目标数据,则判断目标数据对于查询用户是否需要进行脱敏。
若目标数据对于查询用户需要进行脱敏,则确定目标数据中针对查询用户的待脱敏内容。
从指定数据库中获取目标数据,根据待脱敏内容对目标数据进行脱敏,并向查询用户输出脱敏后的目标数据。
本申请实施例第二方面提供了一种数据输出装置,包括:
接收单元,用于接收针对指定数据库中目标数据的数据查询请求,其中,指定数据库用于存储未脱敏的原始数据,数据查询请求中至少包括查询用户信息和所查询的目标数据对应的目标索引名称。
判断单元,用于根据查询用户信息与目标索引名称,从预设的权限关系表中判断查询用户是否有权限查询目标数据。
判断单元,还用于若查询用户有权限查询目标数据,则判断目标数据对于查询用户是否需要进行脱敏。
确定单元,用于若目标数据对于查询用户需要进行脱敏,则确定目标数据中针对查询用户的待脱敏内容。
处理单元,用于从指定数据库中获取目标数据,根据待脱敏内容对目标数据进行脱敏,并向查询用户输出脱敏后的目标数据。
本申请实施例第三方面提供了一种电子设备,包括:存储器和处理器,存储器和处理器耦合。
其中,存储器用于存储一条或多条计算机指令。
处理器用于执行一条或多条计算机指令,以实现上述第一方面所述的一种数据输出方法。
本申请实施例第四方面还提供了一种计算机可读存储介质,其上存储有一条或多条计算机指令,其特征在于,该指令被处理器执行以实现上述任意一种技术方案所述的一种数据输出方法。
与现有技术相比,本申请实施例具有以下优点:
本申请实施例所提供的数据输出方法,首先,接收针对指定数据库中目标数据的数据查询请求,其中,指定数据库用于存储未脱敏的原始数据,获取对目标数据的数据查询请求,数据查询请求中至少包括查询用户信息和所查询的目标数据对应的目标索引名称。然后,根据查询用户信息和目标索引名称,从预设的权限关系表中判断查询用户是否有权限查询目标数据,若查询用户有权限查询目标数据,则判断目标数据对于查询用户是否需要进行脱敏,若目标数据对于查询用户需要进行脱敏,则确定目标数据中针对查询用户的待脱敏内容,从指定数据库中获取目标数据,根据待脱敏内容对目标数据进行脱敏,并向查询用户输出脱敏后的目标数据。如此,通过将原始数据存储于指定数据库中,根据查询请求判断查询用户是否有权限查询目标数据,若查询用户有权限查询目标数据,再判断目标数据对于查询用户是否需要进行脱敏,若目标数据对于查询用户需要进行脱敏,再确定目标数据中针对查询用户的待脱敏内容,然后获取目标数据,对目标数据进行脱敏,返回给查询用户脱敏后的目标数据。这样,不需要在数据写入到搜索引擎之前对数据进行脱敏,而是将数据脱敏过程放在了数据查询过程中,基于查询请求输出数据时才对数据进行脱敏,不会影响数据的写入性能,也不会对原始数据产生影响,同时实现了不同用户针对同一数据可以查看的数据内容是不同的需求。
附图说明
为了更清楚地说明本申请实施例的技术方案,下面将对本申请实施例的描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本申请实施例提供的一种数据输出方法流程示意图;
图2为本申请实施例提供的另一种数据输出方法流程示意图;
图3为本申请实施例提供的另一种数据输出方法详细流程示意图;
图4为本申请实施例提供的一种数据输出方法装置示意图;
图5为本申请实施例提供的一种电子设备示意图。
具体实施方式
为了使本领域的技术人员能够更好的理解本申请的技术方案,下面结合本申请实施例中的附图,对本申请进行清楚、完整地描述。但本申请能够以很多不同于上述描述的其他方式进行实施,因此,基于本申请提供的实施例,本领域普通技术人员在不经过创造性劳动的情况下,所获得的所有其他实施例,都应属于本申请保护的范围。
需要说明的是,本申请的权利要求书、说明书及附图中的术语“第一”、“第二”、“第三”等是用于区别类似的对象,并不用于描述特定的顺序或先后次序。这样使用的数据在适当情况下是可以互换的,以便于本文所描述的本申请的实施例,能够以除了在本文图示或描述的内容以外的顺序实施。此外,术语“包括”、“具有”以及他们的变形形式,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
随着移动互联网的快速发展,网络中的信息量呈现出爆炸型增长。然而,由于网络应用程序本身的缺陷加上管理上的疏忽,越来越多的敏感信息暴露于搜索引擎结果中,通过对搜索结果中的敏感数据进行脱敏处理是保护隐私的一个重要手段。
现有的数据脱敏方案,通常是在数据写入到搜索引擎之前,根据用户对数据的脱敏需求提前规定好需要脱敏的字段,然后根据数据脱敏规则对数据中需要脱敏的字段进行脱敏处理,示例性的,将需要脱敏的字段直接用*号代替或者删除,再将脱敏后的数据写入到搜索引擎中。
这样,由于需要将数据脱敏之后再写入到搜索引擎中,因此,无法保留原始数据,也会影响数据的写入性能,用户在查询数据时,所有用户查询到的数据都是经过脱敏之后的数据。然而,考虑到数据安全性以及不同使用场景,不同用户能够查看到的数据应该是不同的,例如,部分用户需要查看全部行数据,部分用户需要查看一部分行数据,而部分用户只需要查看行数据中的部分字段值。
在现有技术中,还有另一种数据脱敏方案,即,将数据写入到搜索引擎中之后,开启异步处理数据脱敏任务,再结合提前预设好的数据脱敏规则对数据进行脱敏,然后再将脱敏后的数据进行存储,通过异步处理数据虽然可以提高写入数据的性能,但是,存储的依旧是脱敏之后的数据,不同用户在查询数据时仍然查看到的是经过脱敏后存储的数据,不同用户对同一数据查看到的数据内容是相同的,也无法保留原始数据。
针对上述问题,本申请提供了一种数据输出方法、装置、电子设备及存储介质。首先,接收针对指定数据库中目标数据的数据查询请求,其中,指定数据库用于存储未脱敏的原始数据,获取对目标数据的数据查询请求,数据查询请求中至少包括查询用户信息和所查询的目标数据对应的目标索引名称。然后,根据查询用户信息和目标索引名称,从预设的权限关系表中判断查询用户是否有权限查询目标数据,若查询用户有权限查询目标数据,则判断目标数据对于查询用户是否需要进行脱敏,若目标数据对于查询用户需要进行脱敏,则确定目标数据中针对查询用户的待脱敏内容,从指定数据库中获取目标数据,根据待脱敏内容对目标数据进行脱敏,并向查询用户输出脱敏后的目标数据。如此,通过将原始数据存储于指定数据库中,根据查询请求判断查询用户是否有权限查询目标数据,若查询用户有权限查询目标数据,再判断目标数据对于查询用户是否需要进行脱敏,若目标数据对于查询用户需要进行脱敏,再确定目标数据中针对查询用户的待脱敏内容,然后获取目标数据,对目标数据进行脱敏,返回给查询用户脱敏后的目标数据。这样,不需要在数据写入到搜索引擎之前对数据进行脱敏,而是将数据脱敏过程放在了数据查询过程中,基于查询请求输出数据时才对数据进行脱敏,不会影响数据的写入性能,也不会对原始数据产生影响,同时实现了不同用户针对同一数据可以查看的数据内容是不同的需求。
下面结合具体实施例及附图对本申请所述的方法、装置、终端以及计算机可读存储介质做进一步详细说明。
图1为本申请实施例提供的一种数据输出方法的流程示意图。需要说明的是,该流程示意图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行,同时,在某些情况,可以以不同于该流程示意图中示出的逻辑顺序执行所释出的步骤。
如图1所示,该数据输出方法包括以下步骤:
101、接收针对指定数据库中目标数据的数据查询请求,其中,指定数据库用于存储未脱敏的原始数据,数据查询请求中至少包括查询用户信息和所查询的目标数据对应的目标索引名称。
用户查询数据时,需要向服务端发送http(Hyper Text Transfer Protocol,超文本传输协议)请求,http是一个简单的请求-响应协议,它指定了客户端可能发送给服务器什么样的消息以及得到什么样的响应。
接收针对指定数据库中目标数据的数据查询请求,指定数据库用于存储未脱敏的原始数据,目标数据是用户发送数据查询请求需要搜索获得的数据,用户以http请求的方式发送对目标数据的数据查询请求以后,服务器获取目标数据的数据查询请求,数据查询请求中至少包括查询用户信息和所查询的目标数据对应的目标索引名称。查询用户信息是指查询该目标数据的查询用户的用户信息,查询用户信息可以包括查询用户的用户名、查询用户的用户密码、查询用户的用户昵称和查询用户的用户id等信息,查询用户信息能够唯一确定该查询用户的用户身份。索引用于存储数据,一个索引由一个索引名字来标识,通过索引的索引名称,可以对该索引的数据实现查询、更新和删除等操作。目标索引名称为目标数据所对应的索引名称。通过目标索引名称可以查询到该索引对应的目标数据。
102、根据查询用户信息与目标索引名称,从预设的权限关系表中判断查询用户是否有权限查询目标数据。
步骤102用于接收目标数据的数据查询请求以后,判断查询用户是否有权限查询目标数据,在本申请实施例中,可以根据查询用户信息与目标索引名称,从预设的权限关系表中判断查询用户是否有权限查询目标数据。具体的,预设的权限关系表包括有权限查询目标数据的用户信息和对应用户可查询数据的索引名称。预设的权限关系表中的用户信息可以包括用户名、用户密码、用户昵称、用户id等信息中的一种或多种信息,权限关系表中的用户信息为不少于一个用户的用户信息。权限关系表中的使用的用户信息与步骤101中的查询用户信息为同一种用户信息。
示例性的,步骤101中的查询用户信息为用户名、权限关系表中使用的用户信息也为用户名。步骤101中的查询用户信息为用户id,权限关系表中使用的用户信息也为用户id。步骤101中的查询用户信息为用户名和用户id,权限关系表中使用的用户信息为用户名和用户id,两者保持一致即可,在此不做限定。权限关系表中的用户信息可以包括查询用户信息,也可以不包括查询用户信息。可查询数据的索引名称是指权限关系表中的各个用户对应可以查询的数据的索引名称。判断查询用户是否有权限查询目标数据,具体的,将查询用户信息和权限关系表中的用户信息进行匹配,确定查询用户信息是否存在权限关系表的用户信息中,若查询用户信息存在权限关系表的用户信息中,将目标索引名称和可查询数据的索引名称进行匹配,确定目标索引名称是否存在于查询用户信息对应的各个可查询数据的索引名称中,若目标索引名称存在于查询用户信息对应的各个可查询数据的索引名称中,则判断查询用户有权限查询目标数据。
本申请实施例的另一种情况,将查询用户信息和权限关系表的用户信息进行匹配,确定查询用户信息是否存在权限关系表的用户信息中,若查询用户信息不存在权限关系表的用户信息中,则判断用户没有权限查询目标数据,直接返回用户无权限查询目标数据的通知信息。
本申请实施例的另一种情况,将查询用户信息和权限关系表的用户信息进行匹配,确定查询用户信息是否存在权限关系表的用户信息中,若查询用户信息存在权限关系表的用户信息中,将目标索引名称和可查询数据的索引名称进行匹配,确定目标索引名称是否存在于查询用户信息对应的各个可查询数据的索引名称中,若目标索引名称不存在查询用户信息对应的各个可查询数据的索引名称中,则判断查询用户没有权限查询目标数据,直接返回查询用户无权限查询目标数据的通知信息。
示例性的,当查询用户信息的用户名为A,目标索引名称为a,权限关系表中的用户信息的用户名为A、B、C,对应的可查询数据的索引名称为a、b、c。用户名A存在于权限关系表中的用户名中,并且目标索引名称a也存在于用户名A对应的可查询数据的索引名称中,因此,判断查询用户有权限查询目标数据。
当查询用户信息的用户名为A,目标索引名称为a,权限关系表中的用户信息的用户名为B、C、D,对应的可查询数据的索引名称为b、c、d。用户名A不存在于权限关系表中的用户名中,则判断查询用户无权限查询目标数据,返回查询用户无权限查询目标数据的通知信息。或者,权限关系表中的用户信息的用户名为A、B、C,对应的可查询数据的索引名称为x、b、c。用户名A存在于权限关系表中的用户名中,而目标索引名称a不存在于权限关系表中的用户名A对应的可查询数据的索引名称中,则判断查询用户无权限查询目标数据,返回查询用户无权限查询目标数据的通知信息。
需要说明的是,一个用户信息可以对应一个可查询数据的索引名称,一个用户信息也可以对应多个可查询数据的索引名称。
103、若查询用户有权限查询目标数据,则判断目标数据对于查询用户是否需要进行脱敏。
当查询用户有权限查询目标数据时,本步骤用于进一步判断目标数据对于查询用户是否需要进行脱敏。具体的,根据预设的数据脱敏白名单,判断查询用户信息是否存在于数据脱敏白名单中,数据脱敏白名单包括无需对所查询的数据进行脱敏的用户信息。若查询用户信息不存在于数据脱敏白名单中,则判断目标数据对于查询用户需要进行脱敏。
数据脱敏白名单中的使用的用户信息和查询用户信息以及权限关系表中的用户信息保持一致,例如,三者同为用户名、用户id、用户名和用户id等。数据脱敏白名单中的用户信息为不少于一个用户的用户信息。存在于脱敏白名单中的用户信息为不需要对查询的数据进行脱敏的用户的用户信息。
因此,判断目标数据对于查询用户是否需要进行脱敏,可以根据预设的数据脱敏白名单,将查询用户信息和数据脱敏白名单中的用户信息进行匹配,若查询用户信息不存在于数据脱敏白名单中的用户信息中,则确定所查询的目标数据对于该查询用户需要进行脱敏。若查询用户信息存在于数据脱敏白名单中的用户信息中,则确定所查询的目标数据对于该查询用户不需要进行脱敏,则从指定数据库中获取目标数据,将未脱敏的目标数据直接返回给用户。
示例性的,若查询用户有权限查询目标数据,查询用户信息的用户名为A,目标索引名称为a。当数据脱敏白名单中的用户信息的用户名为B、E、F时,查询用户信息不存在于脱敏白名单中的用户信息中,则确定所查询的目标数据对于用户名为A的查询用户需要进行脱敏。当数据脱敏白名单中的用户信息的用户名为A,B、E时,查询用户信息存在于数据脱敏白名单中的用户信息中,则确定所查询的目标数据对于用户名为A的查询用户不需要进行脱敏,则直接将未脱敏的目标数据返回给用户名为A的查询用户。
104、若目标数据对于查询用户需要进行脱敏,则确定目标数据中针对查询用户的待脱敏内容。
本步骤用于在确定目标数据对于用户需要进行脱敏以后,进一步确定目标数据针对查询用户的待脱敏内容。首先,根据预设的脱敏策略表,确定目标数据针对查询用户的目标脱敏策略,其中,脱敏策略表包括用户信息、可查询数据的索引名称和可查询数据针对对应用户的脱敏策略。然后,根据目标脱敏策略,确定目标数据中针对查询用户的待脱敏内容。脱敏策略表中的用户信息为需要对针对可查询数据需要脱敏的用户信息,脱敏策略表中包括至少一个用户的用户信息,一个用户信息对应至少一个可查询数据的索引名称,一个索引名称对应至少一个可查询数据针对对应用户的脱敏策略。同样的,脱敏策略表中使用的用户信息与数据脱敏白名单、查询用户信息和权限关系表中的用户信息保持一致,例如,同为用户名、用户id、用户名和用户id等。
具体的,脱敏策略可以包括;第一脱敏策略、第二脱敏策略、第三脱敏策略和第四脱敏策略。其中,在本申请实施例中,第一脱敏策略,包括:确定目标数据的各字段值中满足预设关键字的内容为目标数据中针对查询用户的待脱敏内容。第二脱敏策略,包括:确定目标数据的各字段值中满足预设正则表达式的内容为目标数据中针对查询用户的待脱敏内容。第三脱敏策略,包括:确定目标数据中的预设数据行为目标数据中针对查询用户的待脱敏内容。第四脱敏策略,包括:确定目标数据中的预设数据列为目标数据中针对查询用户的待脱敏内容。
根据预设的脱敏策略表,确定目标数据针对查询用户的目标脱敏策略。具体的,将查询用户信息和脱敏策略表中的用户信息进行匹配,确定查询用户信息是否存在脱敏策略表中的用户信息中,若查询用户信息存在脱敏策略表中的用户信息中,将目标索引名称和可查询数据的索引名称进行匹配,确定目标索引名称是否存在于查询用户信息对应的各个可查询数据的索引名称中,若目标索引名称存在于查询用户信息对应的各个可查询数据的索引名称中,根据目标索引名称确定目标数据针对查询用户的目标脱敏策略。
示例性的,当查询用户信息的用户名为A,目标索引名称为a,脱敏策略表中的用户信息为A、B、C,对应的可查询数据的索引名称为a,b、c,索引名称a对应的可查询数据针对对应用户的脱敏策略为第一脱敏策略和第二脱敏策略,索引名称b对应的可查询数据针对对应用户的脱敏策略为第三脱敏策略和第四脱敏策略,索引名称c对应的可查询数据针对对应用户的脱敏策略为第二脱敏策略和第三脱敏策略。
将查询用户信息的用户名A和脱敏策略表中的用户信息A、B、C进行匹配,确定查询用户信息存在于脱敏策略表中的用户信息中,将目标索引名称a和脱敏策略表中的用户信息A对应用户的可查询数据的索引名称a进行匹配,确定目标索引名称a存在于用户信息A对应的各个可查询数据的索引名称中,根据目标索引名称a确定目标数据针对查询用户的目标脱敏策略,然后,根据目标脱敏策略,确定目标数据中针对查询用户的待脱敏内容。索引名称a对应的脱敏策略为第一脱敏策略和第二脱敏策略,当目标数据满足目标索引名称a对应的脱敏策略时,将目标索引名称a对应的脱敏策略确定为目标脱敏策略。
例如,当目标数据满足目标索引名称a对应的脱敏策略为第一脱敏策略时,将第一脱敏策略确定为目标数据针对查询用户的目标脱敏策略,然后,根据第一脱敏策略确定目标数据中针对查询用户的待脱敏内容。当目标数据满足目标索引名称a对应的脱敏策略为第一脱敏策略和第二脱敏策略时,将第一脱敏策略和第二脱敏策略确定为目标数据针对查询用户的目标脱敏策略,然后,根据第一脱敏策略和第二脱敏策略确定目标数据针对查询用户的待脱敏内容。
本申请实施例的另一种情况,将查询用户信息和脱敏策略表中的用户信息进行匹配,确定查询用户信息是否存在脱敏策略表中的用户信息中,若查询用户信息不存在脱敏策略表中的用户信息中,则确定目标数据针对查询用户不需要进行脱敏,返回未脱敏的目标数据。
示例性的,当查询用户信息的用户名为A,目标索引名称为a,脱敏策略表中的用户信息为B、C,对应的可查询数据的索引名称为b、c,索引名称b对应的可查询数据针对对应用户的脱敏策略为第三脱敏策略和第四脱敏策略,索引名称c对应的可查询数据针对对应用户的脱敏策略为第二脱敏策略和第三脱敏策略。将查询用户信息的用户名A和脱敏策略表中的用户信息B、C进行匹配,确定查询用户信息不存在于脱敏策略表中的用户信息中,则确定目标数据针对查询用户不需要进行脱敏,返回未脱敏的目标数据。
本申请实施例的另一种情况,将查询用户信息和脱敏策略表中的用户信息进行匹配,确定查询用户信息是否存在脱敏策略表中的用户信息中,若查询用户信息存在脱敏策略表中的用户信息中,将目标索引名称和可查询数据的索引名称进行匹配,确定目标索引名称是否存在于查询用户信息对应的各个可查询数据的索引名称中,若目标索引名称不存在于查询用户信息对应的各个可查询数据的索引名称中,则确定目标数据针对查询用户不需要进行脱敏,返回未脱敏的目标数据。
示例性的,当查询用户信息的用户名为A,目标索引名称为a,脱敏策略表中的用户信息为A、B、C,对应的可查询数据的索引名称为x、b、c,索引名称x对应的可查询数据针对对应用户的脱敏策略为第一脱敏策略和第二脱敏策略,索引名称b对应的可查询数据针对对应用户的脱敏策略为第三脱敏策略和第四脱敏策略,索引名称c对应的可查询数据针对对应用户的脱敏策略为第二脱敏策略和第三脱敏策略。将查询用户信息的用户名A和脱敏策略表中的用户信息A、B、C进行匹配,确定查询用户信息存在于脱敏策略表中的用户信息中,将目标索引名称a和脱敏策略表中用户信息A对应用户的可查询数据的索引名称x进行匹配,确定目标索引名称a不存在于查询用户信息对应的各个可查询数据的索引名称中,则确定目标数据针对查询用户不需要进行脱敏,返回未脱敏的目标数据。
105、从指定数据库中获取目标数据,根据待脱敏内容对目标数据进行脱敏,并向查询用户输出脱敏后的目标数据。
在确定目标数据针对查询用户的待脱敏内容之后,从指定数据库中获取目标数据,然后根据待脱敏内容对目标数据进行脱敏,并将查询用户输出脱敏后的目标数据。具体的,根据待脱敏内容对目标数据进行脱敏,包括将目标数据中的待脱敏内容替换为预设字符,或者将目标中的待脱敏内容进行删除。示例性的,可以对字段值进行脱敏,利用正则表达式或者关键字进行匹配删除字段值内的部分内容或者将字段值内的部分内容替换为*号或者其他符号。
关键字脱敏是利用自定义的字符串替换数据中匹配到的关键字。例如:原始数据为abcdefg,关键字配置为abc,替换字符串配置为12,则脱敏结果为12defg。正则表达式是对字符串操作的一种逻辑公式,用事先定义好的一些特定字符、及这些特定字符的组合,组成一个“规则字符串”,这个“规则字符串”用来表达对字符串的一种过滤逻辑。例如,正则表达式对姓名脱敏,把名字中的文字替换成*号,脱敏规则:超过两个字的姓名保留第一个字和最后一个字,例如:王小明,替换成王*明。
示例性的,在本申请实施例中,第一脱敏策略,包括:确定目标数据的各字段值中满足预设关键字的内容为目标数据中针对查询用户的待脱敏内容。关键字可以包括充值金额信息、用户身份信息、地址信息、手机号等,当目标数据存在预设关键字的内容时,确定目标数据的各字段值中满足预设关键字的内容为目标数据针对查询用户的待脱敏内容。例如,目标数据存在充值金额信息:40元,则确定40元为待脱敏内容,将40元替换为*号或者其他符号表示,完成对目标数据中待脱敏内容的脱敏。
第二脱敏策略,包括:确定目标数据的各字段值中满足预设正则表达式的内容为目标数据中针对查询用户的待脱敏内容。同样的,利用预设的正则表达式确定待脱敏内容,例如,可以包括将身份证后6位替换成*号等等。完成对目标数据中待脱敏内容的脱敏。
第三脱敏策略,包括:确定目标数据中的预设数据行为目标数据中针对查询用户的待脱敏内容。示例性的,如果确定行数据中存在用户身份信息、地址信息等时,可以将该行数据删除或者替换为*号或者其他符号完成对目标数据中待脱敏内容的脱敏。
第四脱敏策略,包括:确定目标数据中的预设数据列为目标数据中针对查询用户的待脱敏内容。示例性的,如果确定某一列数据中存在用户身份信息、地址信息等时,可以将该列数据删除或者替换为*号或者其他符号完成对目标数据中待脱敏内容的脱敏。
在上述本申请实施例所提供的技术方案,首先,接收针对指定数据库中目标数据的数据查询请求,其中,指定数据库用于存储未脱敏的原始数据,获取对目标数据的数据查询请求,数据查询请求中至少包括查询用户信息和所查询的目标数据对应的目标索引名称。然后,根据查询用户信息和目标索引名称,从预设的权限关系表中判断查询用户是否有权限查询目标数据,若查询用户有权限查询目标数据,则判断目标数据对于查询用户是否需要进行脱敏,若目标数据对于查询用户需要进行脱敏,则确定目标数据中针对查询用户的待脱敏内容,从指定数据库中获取目标数据,根据待脱敏内容对目标数据进行脱敏,并向查询用户输出脱敏后的目标数据。如此,通过将原始数据存储于指定数据库中,根据查询请求判断查询用户是否有权限查询目标数据,若查询用户有权限查询目标数据,再判断目标数据对于查询用户是否需要进行脱敏,若目标数据对于查询用户需要进行脱敏,再确定目标数据中针对查询用户的待脱敏内容,然后获取目标数据,对目标数据进行脱敏,返回给查询用户脱敏后的目标数据。这样,不需要在数据写入到搜索引擎之前对数据进行脱敏,而是将数据脱敏过程放在了数据查询过程中,基于查询请求输出数据时才对数据进行脱敏,不会影响数据的写入性能,也不会对原始数据产生影响,可以在不改变原数据的情况下结合数据脱敏规则做到对数据的灵活处理,同时实现了不同用户针对同一数据可以查看的数据内容是不同的需求。
图2为本申请实施例提供的另一种数据输出方法的流程示意图。需要说明的是,该流程示意图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行,同时,在某些情况,可以以不同于该流程示意图中示出的逻辑顺序执行所释出的步骤。下面将结合图2和图3的内容对本申请实施例提供的另一种数据输出方法进行详细介绍。
如图2所示,本申请实施例的另一种数据输出方法包括以下步骤:
201:查询用户发送请求查询ES中的目标数据。
ES(Elasticsearch,全文检索组件)是一个基于netty开发的http服务器,用户可以通过ES对外暴露的接口发送http请求来操作ES服务器,实现对ES数据的查询、更新、删除等操作。netty是一个java开发框架,netty提供异步的、事件驱动的网络应用程序框架和工具,用以快速开发高性能、高可靠性的网络服务器和客户端程序。
查询用户发送请求查询ES中的目标数据,可以使用kibana工具向ES发送http请求查询ES中的目标数据,也可以使用用户开发的查询ES的api接口向ES发送http请求查询ES中的目标数据。kibana是一个开源的分析和可视化平台,用户可以使用kibana搜索、查看存放在ES中的目标数据。用户在发送http请求时,会携带cookie或者authStr,cookie和authStr都是一种安全认证的方式,通过cookie和authStr可以解析得到查询ES中的目标数据的查询用户信息。查询用户在查询ES中的目标数据时,未携带cookie或者authStr信息,直接返回查询用户无权限查询数据。查询用户在发送http请求查询ES中的目标数据时只能携带cookie和authStr两者中的其中一种。另外,查询用户发送的http请求中携带有目标索引名称,通过目标索引名称可以查询到目标数据的存储地址,获取目标数据。
202:权限控制插件判断查询用户是否有权限查询ES中的目标数据。
ES集群是由两个及以上的节点构成的一个节点群,一个节点是集群中的一个服务器。ES集群中存在多个类型的节点,协调节点主要用于请求转发、请求响应等轻量级操作,数据节点主要用于存储索引数据、执行数据相关操作。
查询用户发送目标数据查询请求之后,查询用户发送的请求由ES集群中的协调节点接收,在请求到达协调节点之后,会被ranger(权限控制插件)拦截,验证查询用户是否有权限查询ES中的目标数据。
ranger admin界面是ranger中和用户交互的主要界面,可以通过ranger admin界面配置某个用户对某一个或多个索引拥有查询权限,也即配置用户信息和该用户可查询数据的索引名称之间的权限关系表,在配置好用户信息和该用户可查询数据的索引名称之间的权限关系表之后,ranger会定期从ranger admin界面拉取配置好的权限关系表并进行本地缓存。并且,ranger可以从请求携带的cookie或者authStr中解析得到查询用户信息。例如,查询用户信息可以包括用户名、用户密码、用户昵称、用户id等信息。
如此,ranger就可以将用户请求中解析得到的查询用户信息和目标索引名称和本地缓存的权限关系表中的用户信息和索引名称进行对比,判断查询用户是否有权限查询目标数据。ranger在解析得到查询用户信息以后,会将查询用户信息同步到每一个节点。
具体的,将查询用户信息和和权限关系表的用户信息进行匹配,确定查询用户信息是否存在权限关系表的用户信息中,若查询用户信息存在权限关系表的用户信息中,将目标索引名称和可查询数据的索引名称进行匹配,确定目标索引名称是否存在于查询用户信息对应的各个可查询数据的索引名称中,若目标索引名称存在于查询用户信息对应的各个可查询数据的索引名称中,则判断查询用户有权限查询目标数据。
判断查询用户有权限查询目标数据以后,协调节点再将请求发送到ES的数据节点,ES的数据节点即ES实例,一个ES实例就是一个数据节点。查询用户查询的目标数据可以存在于一个数据节点上,也可以存在于多个数据节点上,如果查询用户查询的目标数据存在于一个数据节点上,则协调节点将请求发送到ES的一个数据节点上,如果查询用户查询的数据存在于多个数据节点上,则协调节点将请求发送到ES的多个数据节点上。
本申请实施例的另一种情况,将查询用户信息和权限关系表的用户信息进行匹配,确定查询用户信息是否存在权限关系表的用户信息中,若查询用户信息不存在权限关系表的用户信息中,则判断查询用户没有权限查询目标数据,直接返回查询用户无权限查询目标数据的通知信息。
本申请实施例的另一种情况,将查询用户信息和权限关系表的用户信息进行匹配,确定查询用户信息是否存在权限关系表的用户信息中,若查询用户信息存在权限关系表的用户信息中,将目标索引名称和可查询数据的索引名称进行匹配,确定目标索引名称是否存在于查询用户信息对应的各个可查询数据的索引名称中,若目标索引名称不存在查询用户信息对应的各个可查询数据的索引名称中,则判断查询用户没有权限查询目标数据,直接返回查询用户无权限查询目标数据的通知信息。
203:若查询用户有权限查询ES中的目标数据,通过数据脱敏白名单判断目标数据对于查询用户是否需要进行脱敏。
在确定查询用户有权限查询ES中的目标数据以后,协调节点将请求发送到ES的数据节点,请求被数据脱敏插件拦截,判断目标数据对于查询用户是否需要进行脱敏。数据脱敏插件是部署在ES服务器中的,需要将该数据脱敏插件部署到ES服务的lib目录下重启ES生效,且脱敏插件可以通过配置文件和接口支持禁用或开启,不需要额外的资源和运维。
在本申请实施例中,通过数据脱敏白名单判断目标数据对于查询用户是否需要进行脱敏,数据脱敏白名单包括无需对所查询的数据进行脱敏的用户信息。数据脱敏白名单可以通过界面或者接口提前写入到数据库中,ES服务器会定期从数据库中拉取数据脱敏白名单并缓存到本地。
具体的,判断目标数据对于查询用户是否需要进行脱敏,即判断查询用户信息是否存在于数据脱敏白名单中的用户信息中,若查询用户信息不存在于数据脱敏白名单中,则目标数据对于查询用户需要进行脱敏,若查询用户信息存在于数据脱敏白名单中,则目标数据对于查询用户不需要进行脱敏,当目标数据不需要进行脱敏时,直接返回未脱敏的目标数据。
在本申请实施例中,获取目标数据时,可以调用FetchSource方法,通过FetchSource方法可以设定搜索返回的字段,具体的,FetchSource方法用于根据目标索引名称从分片中获取数据,索引在ES中用于存储数据,一个索引包含多个分片,一个分片保存索引中的部分数据,分片是ES数据的最小单元块。如果目标数据存在于一个分片中,则从一个分片中获取目标数据,如果目标数据存在于多个分片中,则从多个分片中获取目标数据。
204:当查询用户信息不存在于数据脱敏白名单中时,利用数据脱敏规则确定目标数据中针对查询用户的待脱敏内容。
当查询用户信息不存在于数据脱敏白名单中时,调用FetchSource方法,根据目标索引名称从分片中获取数据,然后利用数据脱敏规则确定目标数据中针对查询用户的待脱敏内容。在本申请实施例中,数据脱敏规则包括用户信息、可查询数据的索引名称和可查询数据针对对应用户的脱敏策略的脱敏策略表。
具体的,将查询用户信息和脱敏策略表中的用户信息进行匹配,确定查询用户信息是否存在脱敏策略表中的用户信息中,若查询用户信息存在脱敏策略表中的用户信息中,将目标索引名称和可查询数据的索引名称进行匹配,确定目标索引名称是否存在于查询用户信息对应的各个可查询数据的索引名称中,若目标索引名称存在于查询用户信息对应的各个可查询数据的索引名称中,根据目标索引名称确定目标数据针对查询用户的目标脱敏策略,然后,根据目标脱敏策略,确定目标数据中针对查询用户的待脱敏内容。
本申请实施例的另一种情况,将查询用户信息和脱敏策略表中的用户信息进行匹配,确定查询用户信息是否存在脱敏策略表中的用户信息中,若查询用户信息不存在脱敏策略表中的用户信息中,则确定目标数据针对查询用户不需要进行脱敏,返回未脱敏的目标数据。
本申请实施例的另一种情况,将查询用户信息和脱敏策略表中的用户信息进行匹配,确定查询用户信息是否存在脱敏策略表中的用户信息中,若查询用户信息存在脱敏策略表中的用户信息中,将目标索引名称和可查询数据的索引名称进行匹配,确定目标索引名称是否存在于查询用户信息对应的各个可查询数据的索引名称中,若目标索引名称不存在于查询用户信息对应的各个可查询数据的索引名称中,则确定目标数据针对查询用户不需要进行脱敏,返回未脱敏的目标数据。
205:获取目标数据,根据待脱敏内容对目标数据进行脱敏,向查询用户输出脱敏后的目标数据。
在本申请实施例中,脱敏策略可以包括第一脱敏策略:确定目标数据的各字段值中满足预设关键字的内容为目标数据中针对查询用户的待脱敏内容。第二脱敏策略:确定目标数据的各字段值中满足预设正则表达式的内容为目标数据中针对查询用户的待脱敏内容。第三脱敏策略:确定目标数据中的预设数据行为目标数据中针对查询用户的待脱敏内容。第四脱敏策略:确定目标数据中的预设数据列为目标数据中针对查询用户的待脱敏内容。
对字段值进行脱敏,可以利用正则表达式或者关键字进行匹配删除字段值内的部分内容或者将字段值内的部分内容替换为*号或者其他符号。也可以是将行数据或者列数据删除或者替换为*号或者其他符号完成对目标数据中待脱敏内容的脱敏。
在对目标数据中的待脱敏内容进行脱敏以后,将脱敏后的数据返回给查询用户。
在上述本申请实施例所提供的技术方案,首先,接收针对指定数据库中目标数据的数据查询请求,其中,指定数据库用于存储未脱敏的原始数据,获取对目标数据的数据查询请求,数据查询请求中至少包括查询用户信息和所查询的目标数据对应的目标索引名称。然后,根据查询用户信息和目标索引名称,从预设的权限关系表中判断查询用户是否有权限查询目标数据,若查询用户有权限查询目标数据,则判断目标数据对于查询用户是否需要进行脱敏,若目标数据对于查询用户需要进行脱敏,则确定目标数据中针对查询用户的待脱敏内容,从指定数据库中获取目标数据,根据待脱敏内容对目标数据进行脱敏,并向查询用户输出脱敏后的目标数据。如此,通过将原始数据存储于指定数据库中,根据查询请求判断查询用户是否有权限查询目标数据,若查询用户有权限查询目标数据,再判断目标数据对于查询用户是否需要进行脱敏,若目标数据对于查询用户需要进行脱敏,再确定目标数据中针对查询用户的待脱敏内容,然后获取目标数据,对目标数据进行脱敏,返回给查询用户脱敏后的目标数据。这样,不需要在数据写入到搜索引擎之前对数据进行脱敏,而是将数据脱敏过程放在了数据查询过程中,基于查询请求输出数据时才对数据进行脱敏,不会影响数据的写入性能,也不会对原始数据产生影响,可以在不改变原数据的情况下结合数据脱敏规则做到对数据的灵活处理,同时实现了不同用户针对同一数据可以查看的数据内容是不同的需求。
图4为本申请实施例提供的了一种数据输出方法装置的结构示意图,以下结合图4对本实施例提供的进行详细描述。以下描述所涉及的实施例用于解释本申请的技术方案,并不是实际使用的限定。
该装置包括:
接收单元401,用于接收针对指定数据库中目标数据的数据查询请求,其中,指定数据库用于存储未脱敏的原始数据,数据查询请求中至少包括查询用户信息和所查询的目标数据对应的目标索引名称。
判断单元402,用于根据查询用户信息与目标索引名称,从预设的权限关系表中判断查询用户是否有权限查询目标数据。
判断单元402,还用于若查询用户有权限查询目标数据,则判断目标数据对于查询用户是否需要进行脱敏。
确定单元403,用于若目标数据对于查询用户需要进行脱敏,则确定目标数据中针对查询用户的待脱敏内容。
处理单元404,用于从指定数据库中获取目标数据,根据待脱敏内容对目标数据进行脱敏,并向查询用户输出脱敏后的目标数据。
在一个可选的实施方式中,确定单元403,还用于确定目标数据中针对查询用户的待脱敏内容。
确定单元403,还用于根据预设的脱敏策略表,确定目标数据针对查询用户的目标脱敏策略,其中,脱敏策略表包括用户信息、可查询数据的索引名称和可查询数据针对对应用户的脱敏策略。
确定单元403,还用于根据目标脱敏策略,确定目标数据中针对查询用户的待脱敏内容。
在一个可选的实施方式中,确定单元403,还用于根据预设的脱敏策略表,确定目标数据针对查询用户的目标脱敏策略。
处理单元404,还用于将查询用户信息和脱敏策略表中的用户信息进行匹配。
确定单元403,还用于确定查询用户信息是否存在脱敏策略表中的用户信息中。
处理单元404,还用于若查询用户信息存在脱敏策略表中的用户信息中,将目标索引名称和可查询数据的索引名称进行匹配。
确定单元403,还用于确定目标索引名称是否存在于查询用户信息对应的各个可查询数据的索引名称中。
确定单元403,还用于若目标索引名称存在于查询用户信息对应的各个可查询数据的索引名称中,根据目标索引名称确定目标数据针对查询用户的目标脱敏策略。
在一个可选的实施方式中,判断单元402,还用于根据查询用户信息与目标索引名称,从预设的权限关系表中判断查询用户是否有权限查询目标数据。
处理单元404,还用于将查询用户信息和权限关系表的用户信息进行匹配。
确定单元403,还用于确定查询用户信息是否存在权限关系表的用户信息中。
处理单元404,还用于若查询用户信息存在权限关系表的用户信息中,将目标索引名称和可查询数据的索引名称进行匹配,确定目标索引名称是否存在于查询用户信息对应的各个可查询数据的索引名称中。
判断单元402,还用于若目标索引名称存在于查询用户信息对应的各个可查询数据的索引名称中,则判断查询用户有权限查询目标数据。
在一个可选的实施方式中,判断单元402,还用于判断目标数据对于查询用户是否需要进行脱敏。
判断单元402,还用于根据预设的数据脱敏白名单,判断查询用户信息是否存在于数据脱敏白名单中,数据脱敏白名单包括无需对所查询的数据进行脱敏的用户信息。
判断单元402,还用于若查询用户信息不存在于数据脱敏白名单中,则判断目标数据对于查询用户需要进行脱敏。
在一个可选的实施方式中,处理单元404,还用于根据待脱敏内容对目标数据进行脱敏。
处理单元404,还用于将目标数据中的待脱敏内容替换为预设字符。
在上述本申请实施例所提供的技术方案,首先,接收针对指定数据库中目标数据的数据查询请求,其中,指定数据库用于存储未脱敏的原始数据,获取对目标数据的数据查询请求,数据查询请求中至少包括查询用户信息和所查询的目标数据对应的目标索引名称。然后,根据查询用户信息和目标索引名称,从预设的权限关系表中判断查询用户是否有权限查询目标数据,若查询用户有权限查询目标数据,则判断目标数据对于查询用户是否需要进行脱敏,若目标数据对于查询用户需要进行脱敏,则确定目标数据中针对查询用户的待脱敏内容,从指定数据库中获取目标数据,根据待脱敏内容对目标数据进行脱敏,并向查询用户输出脱敏后的目标数据。如此,通过将原始数据存储于指定数据库中,根据查询请求判断查询用户是否有权限查询目标数据,若查询用户有权限查询目标数据,再判断目标数据对于查询用户是否需要进行脱敏,若目标数据对于查询用户需要进行脱敏,再确定目标数据中针对查询用户的待脱敏内容,然后获取目标数据,对目标数据进行脱敏,返回给查询用户脱敏后的目标数据。这样,不需要在数据写入到搜索引擎之前对数据进行脱敏,而是将数据脱敏过程放在了数据查询过程中,基于查询请求输出数据时才对数据进行脱敏,不会影响数据的写入性能,也不会对原始数据产生影响,同时实现了不同用户针对同一数据可以查看的数据内容是不同的需求。
需要说明的是,装置中各模块/单元之间的信息交互、执行过程等内容,与本申请中图1至图3对应的各个方法实施例基于同一构思,具体内容可参见本申请前述所示的方法实施例中的叙述,此处不再赘述。
接下来介绍本申请实施例提供的一种电子设备,请参阅图5,图5为本申请实施例提供的电子设备的一种结构示意图,电子设备500具体可以表现为虚拟现实VR设备、手机、平板、笔记本电脑、智能穿戴设备、监控数据处理设备或者雷达数据处理设备等,此处不做限定。其中,电子设备500上可以部署有图4对应实施例中所描述的数据输出装置,用于实现图1至图3对应实施例中的功能。具体的,电子设备500包括:接收器501、发射器502、处理器503和存储器504(其中执行设备500中的处理器503的数量可以一个或多个,图5中以一个处理器为例),其中,处理器503可以包括应用处理器5031和通信处理器5032。在本申请的一些实施例中,接收器501、发射器502、处理器503和存储器504可通过总线或其它方式连接。
存储器504可以包括只读存储器和随机存取存储器,并向处理器503提供指令和数据。存储器504的一部分还可以包括非易失性随机存取存储器(non-volatile randomaccess memory,NVRAM)。存储器504存储有处理器和操作指令、可执行模块或者数据结构,或者它们的子集,或者它们的扩展集,其中,操作指令可包括各种操作指令,用于实现各种操作。
处理器503控制执行设备的操作。具体的应用中,执行设备的各个组件通过总线系统耦合在一起,其中总线系统除包括数据总线之外,还可以包括电源总线、控制总线和状态信号总线等。但是为了清楚说明起见,在图中将各种总线都称为总线系统。
上述本申请实施例揭示的方法可以应用于处理器503中,或者由处理器503实现。处理器503可以是一种集成电路芯片,具有信号的处理能力。在实现过程中,上述方法的各步骤可以通过处理器503中的硬件的集成逻辑电路或者软件形式的指令完成。上述的处理器503可以是通用处理器、数字信号处理器(digital signal processing,DSP)、微处理器或微控制器,还可进一步包括专用集成电路(application specific integratedcircuit,ASIC)、现场可编程门阵列(field-programmable gate array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。该处理器503可以实现或者执行本申请实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合本申请实施例所公开的方法的步骤可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器504,处理器503读取存储器504中的信息,结合其硬件完成上述方法的步骤。
接收器501可用于接收输入的数字或字符信息,以及产生与执行设备的相关设置以及功能控制有关的信号输入。发射器502可用于通过第一接口输出数字或字符信息;发射器502还可用于通过第一接口向磁盘组发送指令,以修改磁盘组中的数据;发射器502还可以包括显示屏等显示设备。
本申请实施例中,处理器503中的应用处理器5031,用于执行图1至图3对应实施例中的数据输出方法。需要说明的是,应用处理器5031执行各个步骤的具体方式,与本申请中图1至图3对应的各个方法实施例基于同一构思,其带来的技术效果与本申请中图1至图3对应的各个方法实施例相同,具体内容可参见本申请前述所示的方法实施例中的叙述,此处不再赘述。
本申请实施例提供了一种计算机可读存储介质,计算机可读存储介质包括计算机指令,计算机指令在被处理器执行时用于实现本申请实施例中任意一种数据输出方法的技术方案。
在一个典型的配置中,计算设备包括一个或多个处理器(CPU)、输入/输出接口、网络接口和内存。
内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM)。内存是计算机可读介质的示例。
其中,计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括非暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
本领域技术人员应明白,本申请的实施例可提供为方法、系统或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本申请虽然以较佳实施例公开如上,但其并不是用来限定本申请,任何本领域技术人员在不脱离本申请的精神和范围内,都可以做出可能的变动和修改,因此本申请的保护范围应当以本申请权利要求所界定的范围为准。

Claims (10)

1.一种数据输出方法,其特征在于,所述方法包括:
接收针对指定数据库中目标数据的数据查询请求,其中,所述指定数据库用于存储未脱敏的原始数据,所述数据查询请求中至少包括查询用户信息和所查询的目标数据对应的目标索引名称;
根据所述查询用户信息与所述目标索引名称,从预设的权限关系表中判断所述查询用户是否有权限查询所述目标数据;
若所述查询用户有权限查询所述目标数据,则判断所述目标数据对于所述查询用户是否需要进行脱敏;
若所述目标数据对于所述查询用户需要进行脱敏,则确定所述目标数据中针对所述查询用户的待脱敏内容;
从所述指定数据库中获取所述目标数据,根据所述待脱敏内容对所述目标数据进行脱敏,并向所述查询用户输出脱敏后的所述目标数据。
2.根据权利要求1所述的方法,其特征在于,所述确定所述目标数据中针对所述查询用户的待脱敏内容,包括:
根据预设的脱敏策略表,确定所述目标数据针对所述查询用户的目标脱敏策略,其中,所述脱敏策略表包括用户信息、可查询数据的索引名称和可查询数据针对对应用户的脱敏策略;
根据所述目标脱敏策略,确定所述目标数据中针对所述查询用户的待脱敏内容。
3.根据权利要求2所述的方法,所述脱敏策略包括以下脱敏策略中的一种或多种:
第一脱敏策略,包括:确定所述目标数据的各字段值中满足预设关键字的内容为所述目标数据中针对所述查询用户的待脱敏内容;
第二脱敏策略,包括:确定所述目标数据的各字段值中满足预设正则表达式的内容为所述目标数据中针对所述查询用户的待脱敏内容;
第三脱敏策略,包括:确定所述目标数据中的预设数据行为所述目标数据中针对所述查询用户的待脱敏内容;
第四脱敏策略,包括:确定所述目标数据中的预设数据列为所述目标数据中针对所述查询用户的待脱敏内容。
4.根据权利要求2所述的方法,所述根据预设的脱敏策略表,确定所述目标数据针对所述查询用户的目标脱敏策略,包括:
将所述查询用户信息和所述脱敏策略表中的所述用户信息进行匹配,确定所述查询用户信息是否存在所述脱敏策略表中的所述用户信息中;
若所述查询用户信息存在所述脱敏策略表中的所述用户信息中,将所述目标索引名称和所述可查询数据的索引名称进行匹配,确定所述目标索引名称是否存在于所述查询用户信息对应的各个所述可查询数据的索引名称中;
若所述目标索引名称存在于所述查询用户信息对应的各个所述可查询数据的索引名称中,根据所述目标索引名称确定所述目标数据针对所述查询用户的目标脱敏策略。
5.根据权利要求1所述的方法,其特征在于,所述根据所述查询用户信息与所述目标索引名称,从预设的权限关系表中判断所述查询用户是否有权限查询所述目标数据,包括:
将所述查询用户信息和所述权限关系表的所述用户信息进行匹配,确定所述查询用户信息是否存在所述权限关系表的所述用户信息中;
若所述查询用户信息存在所述权限关系表的所述用户信息中,将所述目标索引名称和所述可查询数据的索引名称进行匹配,确定所述目标索引名称是否存在于所述查询用户信息对应的各个所述可查询数据的索引名称中;
若所述目标索引名称存在于所述查询用户信息对应的各个所述可查询数据的索引名称中,则判断所述查询用户有权限查询所述目标数据。
6.根据权利要求1所述的方法,其特征在于,所述判断所述目标数据对于所述查询用户是否需要进行脱敏,包括:
根据预设的数据脱敏白名单,判断所述查询用户信息是否存在于所述数据脱敏白名单中,所述数据脱敏白名单包括无需对所查询的数据进行脱敏的用户信息;
若所述查询用户信息不存在于所述数据脱敏白名单中,则判断所述目标数据对于所述查询用户需要进行脱敏。
7.根据权利要求1所述的方法,其特征在于,所述根据所述待脱敏内容对所述目标数据进行脱敏,包括:
将所述目标数据中的所述待脱敏内容替换为预设字符。
8.一种数据输出装置,其特征在于,包括:
接收单元,用于接收针对指定数据库中目标数据的数据查询请求,其中,所述指定数据库用于存储未脱敏的原始数据,所述数据查询请求中至少包括查询用户信息和所查询的目标数据对应的目标索引名称;
判断单元,用于根据所述查询用户信息与所述目标索引名称,从预设的权限关系表中判断所述查询用户是否有权限查询所述目标数据;
判断单元,还用于若所述查询用户有权限查询所述目标数据,则判断所述目标数据对于所述查询用户是否需要进行脱敏;
确定单元,用于若所述目标数据对于所述查询用户需要进行脱敏,则确定所述目标数据中针对所述查询用户的待脱敏内容;
处理单元,用于从所述指定数据库中获取所述目标数据,根据所述待脱敏内容对所述目标数据进行脱敏,并向所述查询用户输出脱敏后的所述目标数据。
9.一种电子设备,其特征在于,所述电子设备包括:存储器和处理器;所述存储器和所述处理器耦合;
所述存储器用于存储一条或多条计算机指令;
所述处理器用于执行所述一条或多条计算机指令,以实现如权利要求1-7任意一种技术方案中所述的数据输出方法。
10.一种计算机可读取存储介质,其上存储有一条或多条计算机指令,其特征在于,该指令被处理器执行以实现如权利要求1-7任意一种技术方案中所述的数据输出方法。
CN202310283464.7A 2023-03-16 2023-03-16 一种数据输出方法、装置、电子设备及存储介质 Pending CN116415296A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202310283464.7A CN116415296A (zh) 2023-03-16 2023-03-16 一种数据输出方法、装置、电子设备及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202310283464.7A CN116415296A (zh) 2023-03-16 2023-03-16 一种数据输出方法、装置、电子设备及存储介质

Publications (1)

Publication Number Publication Date
CN116415296A true CN116415296A (zh) 2023-07-11

Family

ID=87052490

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202310283464.7A Pending CN116415296A (zh) 2023-03-16 2023-03-16 一种数据输出方法、装置、电子设备及存储介质

Country Status (1)

Country Link
CN (1) CN116415296A (zh)

Similar Documents

Publication Publication Date Title
WO2019114766A1 (zh) 一种数据脱敏方法、服务器、终端及计算机可读存储介质
US10579831B2 (en) Verification of data set components using digitally signed probabilistic data structures
JP6599906B2 (ja) ログインアカウントのプロンプト
US8977623B2 (en) Method and system for search engine indexing and searching using the index
US20170032117A1 (en) Identifying Software Components in a Software Codebase
CN107798038B (zh) 数据响应方法及数据响应设备
EP3794487B1 (en) Obfuscation and deletion of personal data in a loosely-coupled distributed system
US10754628B2 (en) Extracting web API endpoint data from source code to identify potential security threats
CN109829287A (zh) Api接口权限访问方法、设备、存储介质及装置
US10263784B2 (en) Signature verification for data set components using probabilistic data structures
US9756012B1 (en) Domain name service information propagation
US10615965B1 (en) Protected search index
CN111770072B (zh) 一种单点登录接入功能页面的方法和装置
US9665732B2 (en) Secure Download from internet marketplace
Fu et al. Data correlation‐based analysis methods for automatic memory forensic
CN109086414B (zh) 用于搜索区块链数据的方法、装置及存储介质
CN108234392B (zh) 一种网站的监控方法及装置
CN111339193B (zh) 类别的编码方法及装置
CN114443701A (zh) 数据流处理方法、电子设备和计算机程序产品
CN116415296A (zh) 一种数据输出方法、装置、电子设备及存储介质
CN115664736A (zh) 一种共享数据的方法、装置、设备及介质
CN112416875B (zh) 日志管理方法、装置、计算机设备及存储介质
JP2014524210A (ja) 可変長ノンスの生成
CN106993036B (zh) 运行环境信息处理方法及交换机
CN116305288B (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