CN115906178B - 一种数据库管理方法、数据订阅端及数据发布端 - Google Patents
一种数据库管理方法、数据订阅端及数据发布端 Download PDFInfo
- Publication number
- CN115906178B CN115906178B CN202211669102.3A CN202211669102A CN115906178B CN 115906178 B CN115906178 B CN 115906178B CN 202211669102 A CN202211669102 A CN 202211669102A CN 115906178 B CN115906178 B CN 115906178B
- Authority
- CN
- China
- Prior art keywords
- data
- subscription
- terminal
- desensitization
- security policy
- 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
Links
- 238000007726 management method Methods 0.000 title claims abstract description 26
- 238000000586 desensitisation Methods 0.000 claims abstract description 79
- 238000012795 verification Methods 0.000 claims abstract description 30
- 230000002085 persistent effect Effects 0.000 claims abstract description 6
- 238000000034 method Methods 0.000 claims description 23
- 230000007246 mechanism Effects 0.000 abstract description 5
- 230000008447 perception Effects 0.000 abstract description 4
- 230000006870 function Effects 0.000 description 10
- 238000010586 diagram Methods 0.000 description 8
- 230000005540 biological transmission Effects 0.000 description 6
- 230000008569 process Effects 0.000 description 6
- 230000009286 beneficial effect Effects 0.000 description 2
- 238000004364 calculation method Methods 0.000 description 2
- 230000008859 change Effects 0.000 description 2
- 238000010276 construction Methods 0.000 description 2
- 238000013500 data storage Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 230000014509 gene expression Effects 0.000 description 2
- 238000005457 optimization Methods 0.000 description 2
- 230000004044 response Effects 0.000 description 2
- 238000004422 calculation algorithm Methods 0.000 description 1
- 238000010219 correlation analysis Methods 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 238000001914 filtration Methods 0.000 description 1
- 230000005012 migration Effects 0.000 description 1
- 238000013508 migration Methods 0.000 description 1
- 230000002688 persistence Effects 0.000 description 1
- 238000013215 result calculation Methods 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
- 230000009466 transformation Effects 0.000 description 1
Landscapes
- Storage Device Security (AREA)
Abstract
本发明公开了一种数据库管理方法、数据订阅端及数据发布端,应用于数据订阅端的数据库管理方法包括:通过数据订阅端与数据发布端之间的信息链路,接收数据发布端发送的元数据;对元数据进行验证,若验证通过,则向数据发布端发送验证通过信息并与数据发布端建立订阅关系;接收数据发布端发送的订阅数据及订阅端安全策略,将订阅端安全策略持久化到订阅端数据库中并执行订阅端安全策略。本发明公开的数据库管理方法,采用发布订阅机制,可以支持跨域的数据库间对数据产品发布及更新的实时感知,对于数据订阅端,对于数据访问权限的管理粒度细化到行级别,且支持对敏感数据的动态加密/脱敏。
Description
技术领域
本发明涉及数据库技术领域,尤其涉及一种数据库管理方法、数据订阅端及数据发布端。
背景技术
跨域的数据交易流通方案的核心是数据产品,数据产品由数据源、数据读写接口定义,数据存储策略、数据访问安全策略构成。在数据交易流通方案中,数据提供方和数据接收方往往处于不同的地域,数据提供方需要通过某种传输方式,将数据产品提供给消费方使用,传输结果需要保证符合存储策略及访问安全策略。
对于数据提供方和数据接收方的数据库来说,数据库有加密存储、访问权限控制、数据脱敏等功能需求,将这些功能进行简单组合并不能满足跨域的数据交易流通对数据正确性、保密性、时效性的高要求。现有是数据库管理技术的缺陷在于:
1.无法实时感知数据产品及安全策略的变化。
大部分数据库并未实现订阅推送机制,对于数据产品相关数据表、元数据及相应安全策略的变更,需要采用执行SQL命令的方式,可能存在较大的延迟或误操作的可能;
2.基于角色的访问控制无法支持细粒度的行级权限控制,同时也不支持对敏感数据的加密/脱敏访问,同时,基于角色的访问控制并不会对返回数据进行加工,因此无法满足在指定安全级别下对敏感数据进行脱敏的访问控制;
3.对原始数据进行加密脱敏并存储,将导致部分或全部信息丢失,当查询存在对敏感数据的关联分析时无法给出正确的结果,同时也无法支持对同一份数据不同消费方的多种脱敏等级处理;
4.对脱敏函数的显式调用存在数据泄露的风险,重度依赖对用户查询的审核,当用户查询包含多表关联和/或多层嵌套时,审核难度将大幅上升,或需要额外引入数据网关进行敏感数据拦截与审计,当脱敏规则发生变化,需要修改所有用户查询,更改运行中的数据迁移流程,工作量大,风险高。
发明内容
本发明提供了一种数据库管理方法、数据订阅端及数据发布端,以实现一种综合的数据库管理方案,保证数据交易流通的正确性、保密性、时效性要求。
根据本发明的一方面,提供了一种数据库管理方法,所述方法应用于数据订阅端,包括:
通过所述数据订阅端与数据发布端之间的信息链路,接收所述数据发布端发送的元数据;
对所述元数据进行验证,若验证通过,则向所述数据发布端发送验证通过信息并与所述数据发布端建立订阅关系;
接收所述数据发布端发送的订阅数据及订阅端安全策略,将所述订阅端安全策略持久化到订阅端数据库中并执行所述订阅端安全策略。
进一步地,所述订阅端安全策略包括数据访问控制策略,执行所述订阅端安全策略包括:
获取所述订阅端数据库中的已存数据,所述已存数据包括至少一个数据行;
为每个所述数据行添加对应的标签列;
根据所述标签列确定数据访问对象的访问权限。
进一步地,根据所述标签列确定数据访问对象的访问权限,包括:
获取所述数据访问对象的属性数据,所述属性数据包括数据访问对象标签;
针对每个所述数据行,若对应的标签列与所述数据访问对象标签匹配,则确定所述数据访问对象的访问权限为直接读权限。
进一步地,所述方法还包括:
针对每个所述数据行,若对应的标签列与所述数据访问对象标签不匹配,且所述数据访问对象符合脱敏读条件,则向所述数据访问对象返回执行脱敏操作后的查询结果。
进一步地,所述订阅端安全策略包括数据动态脱敏策略,执行所述订阅端安全策略包括:
获取所述订阅端数据库中的待脱敏数据并构建所述待脱敏数据的逻辑计划树;
根据所述数据动态脱敏策略,确定所述逻辑计划树中包含敏感字段的目标叶子节点;
利用脱敏函数,为所述目标叶子节点中的敏感字段构造对应的脱敏字段;
根据所述脱敏字段,对所述逻辑计划树进行脱敏操作。
进一步地,根据所述脱敏字段,对所述逻辑计划树进行脱敏操作,包括:
将所述目标叶子节点的父节点确定为当前节点;
利用所述脱敏字段,将所述当前节点的输出列中的敏感字段替换为所述脱敏字段;
将所述当前节点的父节点确定为新的当前节点,返回执行利用所述脱敏字段,将所述当前节点的输出列中的敏感字段替换为所述脱敏字段的步骤,直到到达所述逻辑计划树的顶层节点;
为所述顶层节点构造新的父节点,并将所述新的父节点的输出列中的敏感字段替换为所述脱敏字段。
根据本发明的另一方面,提供了一种数据库管理方法,所述方法应用于数据发布端,包括:
根据订阅方式建立所述数据发布端与数据订阅端之间的信息链路;
通过所述信息链路,向所述数据订阅端发送元数据,当接收到所述数据订阅端发送的验证通过信息后,建立与所述数据订阅端的订阅关系;
将所述数据订阅端订阅的订阅数据及订阅端安全策略发送给所述数据订阅端。
进一步地,根据订阅方式建立所述数据发布端与数据订阅端之间的信息链路之前,还包括:
确定所述订阅方式,并确定与所述数据订阅端对应的数据源及访问策略。
根据本发明的另一方面,提供了一种数据订阅端,包括:
元数据接收模块,用于通过所述数据订阅端与数据发布端之间的信息链路,接收所述数据发布端发送的元数据;
元数据验证模块,用于对所述元数据进行验证,若验证通过,则向所述数据发布端发送验证通过信息并与所述数据发布端建立订阅关系;
订阅数据及订阅端安全策略接收模块,用于接收所述数据发布端发送的订阅数据及订阅端安全策略,将所述订阅端安全策略持久化到订阅端数据库中并执行所述订阅端安全策略。
可选的,所述订阅端安全策略包括数据访问控制策略,订阅数据及订阅端安全策略接收模块还用于:
获取所述订阅端数据库中的已存数据,所述已存数据包括至少一个数据行;
为每个所述数据行添加对应的标签列;
根据所述标签列确定数据访问对象的访问权限。
可选的,订阅数据及订阅端安全策略接收模块还用于:
获取所述数据访问对象的属性数据,所述属性数据包括数据访问对象标签;
针对每个所述数据行,若对应的标签列与所述数据访问对象标签匹配,则确定所述数据访问对象的访问权限为直接读权限。
可选的,订阅数据及订阅端安全策略接收模块还用于:
针对每个所述数据行,若对应的标签列与所述数据访问对象标签不匹配,且所述数据访问对象符合脱敏读条件,则向所述数据访问对象返回执行脱敏操作后的查询结果。
可选的,所述订阅端安全策略包括数据动态脱敏策略,订阅数据及订阅端安全策略接收模块还用于:
获取所述订阅端数据库中的待脱敏数据并构建所述待脱敏数据的逻辑计划树;
根据所述数据动态脱敏策略,确定所述逻辑计划树中包含敏感字段的目标叶子节点;
利用脱敏函数,为所述目标叶子节点中的敏感字段构造对应的脱敏字段;
根据所述脱敏字段,对所述逻辑计划树进行脱敏操作。
可选的,订阅数据及订阅端安全策略接收模块还用于:
将所述目标叶子节点的父节点确定为当前节点;
利用所述脱敏字段,将所述当前节点的输出列中的敏感字段替换为所述脱敏字段;
将所述当前节点的父节点确定为新的当前节点,返回执行利用所述脱敏字段,将所述当前节点的输出列中的敏感字段替换为所述脱敏字段的步骤,直到到达所述逻辑计划树的顶层节点;
为所述顶层节点构造新的父节点,并将所述新的父节点的输出列中的敏感字段替换为所述脱敏字段。
根据本发明的另一方面,提供了一种数据发布端,包括:
信息链路建立模块,用于根据订阅方式建立所述数据发布端与数据订阅端之间的信息链路;
元数据发送模块,用于通过所述信息链路,向所述数据订阅端发送元数据,当接收到所述数据订阅端发送的验证通过信息后,建立与所述数据订阅端的订阅关系;
订阅数据及订阅端安全策略发送模块,用于将所述数据订阅端订阅的订阅数据及订阅端安全策略发送给所述数据订阅端。
可选的,数据发布端还包括订阅方式确定模块,用于确定所述订阅方式,并确定与所述数据订阅端对应的数据源及访问策略。
本发明实施例提供的数据库管理方法,采用发布订阅机制,可以支持跨域的数据库间对数据产品发布及更新的实时感知。对于数据订阅端,对于数据访问权限的管理粒度细化到行级别,且支持在查询过程中对敏感数据进行计算,对最终输出的结果集进行脱敏的动态加密/脱敏。本发明实施例提供的数据库管理方法提高了数据交易流通中的正确性、保密性与时效性。
应当理解,本部分所描述的内容并非旨在标识本发明的实施例的关键或重要特征,也不用于限制本发明的范围。本发明的其它特征将通过以下的说明书而变得容易理解。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是根据本发明实施例一提供的一种数据库管理方法的流程图;
图2是根据本发明实施例一提供的一种数据访问控制策略的执行流程图;
图3是根据本发明实施例一提供的一种数据访问控制策略的内部逻辑图;
图4是根据本发明实施例一提供的一种数据动态脱敏策略的示意图;
图5是根据本发明实施例二提供的一种数据库管理方法的流程图;
图6是根据本发明实施例二提供的一种数据发布端与数据订阅端的订阅关系建立的流程图;
图7是根据本发明实施例三提供的一种数据订阅端的结构示意图;
图8是根据本发明实施例四提供的一种数据发布端的结构示意图。
具体实施方式
为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分的实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。
需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
实施例一
图1为本发明实施例一提供了一种数据库管理方法的流程图,本实施例可适用于对数据交易流通中的数据库进行管理的情况,该方法可以由数据订阅端来执行,该数据订阅端可以采用硬件和/或软件的形式实现,该数据订阅端可配置于电子设备中。如图1所示,该方法包括:
S110、通过数据订阅端与数据发布端之间的信息链路,接收数据发布端发送的元数据。
在数据的交易流通中,方案的核心是数据产品,数据产品由数据源、数据读写接口定义,数据存储策略、数据访问安全策略构成。数据订阅端与数据发布端是建立订阅关系的数据产品的提供方与接收方。其中,信息链路为数据订阅端与数据发布端之间的进行数据传输的通道,元数据(Metadata),又称中介数据、中继数据,为描述数据的数据(data aboutdata),主要是描述数据属性(property)的信息,用来支持如指示存储位置、历史数据、资源查找、文件记录等功能。
在本实施例中,数据发布端与数据订阅端可能处于不同的地域,数据发布端作为数据产品的提供方,可以建立与数据订阅端之间的信息链路,并通过该链路发送数据产品的元数据。相应的,数据订阅端通过该信息链路,接收数据发布端发送的元数据。
优选地,为保证数据安全,数据订阅端与数据发布端之间的信息链路是加密的。
S120、对元数据进行验证,若验证通过,则向数据发布端发送验证通过信息并与数据发布端建立订阅关系。
在本实施例中,数据订阅端接收到数据发布端发送的元数据后,对元数据进行合法性验证,若验证通过,则将验证通过信息反馈给数据发布端,同时,数据订阅端与数据发布端之间的订阅关系建立。
S130、接收数据发布端发送的订阅数据及订阅端安全策略,将订阅端安全策略持久化到订阅端数据库中并执行订阅端安全策略。
其中,订阅数据为数据订阅端从数据发布端获得的数据产品,订阅端安全策略为应用于数据订阅端的关于数据访问权限及数据脱敏方式的具体规则。
在本实施例中,数据订阅端在与数据订阅端之间建立订阅关系之后,可以通过建立的信息链路接收数据发布端发送的订阅数据以及订阅数据中所涉及的数据订阅端执行的安全策略,
优选地,数据发布端可以将订阅数据及订阅端安全策略通过加密的信息链路同步给数据订阅端,每当订阅数据或订阅端安全策略被创建或被更新后,数据发布端的数据库可以根据订阅方式将最新数据同步给数据订阅端。
进一步地,数据订阅端接收到订阅数据及订阅端安全策略后,可以将其加密持久化到自身的数据库中。数据消费方可以通过客户端连接到数据订阅端的数据库,并向数据订阅端发送SQL查询请求。当数据订阅端获取查询请求时,可以根据订阅端安全策略,对数据消费方用户及查询请求进行权限检查,并应用订阅方安全策略返回符合安全策略的查询结果集给数据消费方用户。
可选的,订阅方安全策略可以包含数据访问控制策略和数据动态脱敏策略。
可选的,订阅端安全策略包括数据访问控制策略,执行订阅端安全策略的方式可以是:获取订阅端数据库中的已存数据,已存数据包括至少一个数据行;为每个数据行添加对应的标签列;根据标签列确定数据访问对象的访问权限。
具体的,在数据访问控制策略中,可以提供行级访问控制能力。其实现原理为:为订阅端数据库中的各数据行添加额外的标签列,当数据订阅端获取到数据查询请求后,可以对所请求的数据中的每一行分别进行权限检查,对于同一数据查询请求,各行数据对应的权限检查结果可能不同。
可选的,根据标签列确定数据访问对象的访问权限的方式可以是:获取数据访问对象的属性数据,属性数据包括数据访问对象标签;针对每个数据行,若对应的标签列与数据访问对象标签匹配,则确定数据访问对象的访问权限为直接读权限。
其中,数据访问对象为向数据订阅端发送数据查询请求的对象,不同的数据访问对象可以对应不同的属性数据。
具体的,当接收到数据访问对象的数据查询请求后,可以获取属性数据中的数据访问对象标签,按照持久化到订阅端数据库中的订阅端安全策略,根据每个数据行的标签列与数据访问对象的数据访问对象标签进行对比,校验访问权限。可选的,数据访问对象的访问权限可以分为写权限与读权限,读权限进一步包括直接读与脱敏读,当收到数据访问对象的数据查询请求时,若某一数据行的标签列与数据访问对象标签匹配,则确定数据访问对象对该数据行的访问权限为直接读权限,数据订阅端可以向数据访问对象返回数据查询结果。
进一步地,针对每个数据行,若对应的标签列与数据访问对象标签不匹配,且数据访问对象符合脱敏读条件,则向数据访问对象返回执行脱敏操作后的查询结果。
具体的,若某一数据行的标签列与数据访问对象标签不匹配,则可以进行脱敏读权限检查,若数据访问对象符合脱敏读条件,则对该数据行进行脱敏处理,再返回数据查询结果,若仍不符,则将操作丢弃。
图2是本发明实施例提供的一种数据访问控制策略的执行流程图,如图所示,数据访问对象发起查询之后,数据订阅端可以根据属性数据对数据访问对象进行验证,检查其基础权限,然后按照数据访问控制策略,对数据访问对象所请求查询的数据根据每行数据进及行级访问规则判断其权限。若数据访问对象拥有直接读权限,则返回查询结果;若数据访问对象未通过直接读的权限检查,则对其进行脱敏读条件判断,若符合,则返回脱敏后的查询结果,否则丢弃读操作;若数据访问对象未通过写数据权限检查,则进行写操作报错。
图3是本发明实施例提供的一种数据访问控制策略的内部逻辑图,如图所示,数据订阅端的数据库可以分为数据库前端、元数据系统、执行引擎和存储引擎几部分。当数据访问对象通过数据库前端的认证并与数据订阅端的数据库建立会话后,提交查询请求。数据库前端对接收到的查询请求进行解析后,生成数据查询的执行计划,并提交给元数据系统进行DAC权限检查,若通过,则将执行计划变换为具体的逻辑执行算子,提交给执行引擎。执行引擎根据逻辑执行算子生成对应的数据及标签查询请求,提交给存储数据的存储引擎,并在接收到存储引擎返回的查询结果后,对查询结果执行MAC权限检查及过滤操作后,返回给数据访问对象。
可选的,订阅端安全策略包括数据动态脱敏策略,执行订阅端安全策略的方式可以是:获取订阅端数据库中的待脱敏数据并构建待脱敏数据的逻辑计划树;根据数据动态脱敏策略,确定逻辑计划树中包含敏感字段的目标叶子节点;利用脱敏函数,为目标叶子节点中的敏感字段构造对应的脱敏字段;根据脱敏字段,对逻辑计划树进行脱敏操作。
一般的,对SQL查询请求,处理过程通常包括语法解析、命名解析、权限检查、逻辑执行计划构建、逻辑执行计划优化、物理执行计划构建等步骤。在物理执行计划构建之后,可以得到逻辑计划树,针对查询请求对应的待脱敏数据,可以在逻辑计划树中找到包含敏感字段的目标叶子节点,从目标叶子节点开始,为敏感字段构造脱敏字段,然后根据逻辑计划树逐层向上,对整个逻辑计划树的输出结果进行脱敏。
可选的,根据脱敏字段,对逻辑计划树进行脱敏操作的方式可以是:将目标叶子节点的父节点确定为当前节点;利用脱敏字段,将当前节点的输出列中的敏感字段替换为脱敏字段;将当前节点的父节点确定为新的当前节点,返回执行利用脱敏字段,将当前节点的输出列中的敏感字段替换为脱敏字段的步骤,直到到达逻辑计划树的顶层节点;为顶层节点构造新的父节点,并将新的父节点的输出列中的敏感字段替换为脱敏字段。
具体的,对逻辑计划树进行脱敏变换的步骤如下:
1.检查所有叶子节点,通过访问控制元数据及数据动态脱敏策略,确定其中是否涉及敏感字段,将所有包含敏感字段的叶子节点确定为目标叶子节点;
2.针对一个目标叶子节点,为所有敏感字段复制其表达式,并应用脱敏函数,构造对应的脱敏字段;
3.从叶子节点向父节点同步脱敏字段,如果父节点的输出列包含对敏感字段的计算或引用,将该计算或引用进行表达式复制,并替换其中的敏感字段为脱敏字段,重复该步骤直至顶层节点;
4.为顶层节点构造新的父节点,即投影节点,将投影节点的输出列中包含的敏感字段替换为脱敏字段。
经过以上的变换,执行计划既保证了中间结果计算使用敏感列的逻辑不变,同时将最终输出列中涉及的敏感数据进行了脱敏。优选地,之后还可以通过通用的查询优化技术,如列裁剪等,将衍生出而未使用的脱敏字段从逻辑计划树中删除,以提高查询执行效率。
例如,若某一查询请求要求读取曾经投诉过的用户列表,图4是本发明实施例提供的一种数据动态脱敏策略的示意图,如图所示,要输出该查询结果,需要通过用户的手机号对用户表和投诉表进行等值连接,其中,手机号为敏感数据,在查询执行的中间结果使用原始数据,而在最终输出时结果集是脱敏的。原逻辑计划树的两个叶子节点分别对应用户表和投诉表,其中均包含敏感字段,根据本发明实施例提供的数据动态脱敏策略,识别出所有包含敏感字段的叶子节点后,应用脱敏函数,为其构造对应的脱敏字段,然后向父节点同步脱敏字段直至顶层节点,为顶层节点构造投影节点,将投影节点的输出列中包含的敏感字段替换为脱敏字段。
本发明实施例提供的数据库管理方法,采用发布订阅机制,可以支持跨域的数据库间对数据产品发布及更新的实时感知。对于数据订阅端,对于数据访问权限的管理粒度细化到行级别,且支持在查询过程中对敏感数据进行计算,对最终输出的结果集进行脱敏的动态加密/脱敏。本发明实施例提供的数据库管理方法提高了数据交易流通中的正确性、保密性与时效性。
实施例二
图5为本发明实施例二提供的一种数据库管理方法的流程图,本实施例可适用于对数据交易流通中的数据库进行管理的情况,该方法可以由数据发布端来执行,该数据发布端可以采用硬件和/或软件的形式实现,该数据发布端可配置于电子设备中。如图5所示,该方法包括:
S210、根据订阅方式建立数据发布端与数据订阅端之间的信息链路。
其中,数据发布端为数据产品的提供方,将数据产品发送给存在订阅关系的数据订阅端。信息链路为数据订阅端与数据发布端之间的进行数据传输的通道。
在本实施例中,数据发布端可以为数据库实现发布、订阅的远程调用接口,并建立与数据订阅端之间的信息链路。
优选地,为保证数据安全,数据订阅端与数据发布端之间的信息链路是加密的。
S220、通过信息链路,向数据订阅端发送元数据,当接收到数据订阅端发送的验证通过信息后,建立与数据订阅端的订阅关系。
在本实施例中,数据发布端作为数据产品的提供方,可以通过信息链路向数据订阅端发送元数据,令数据订阅端根据元数据进行验证。若接收到数据订阅端发送的验证通过信息,则与数据订阅端的订阅关系建立。
S230、将数据订阅端订阅的订阅数据及订阅端安全策略发送给数据订阅端。
其中,订阅数据为数据订阅端从数据发布端获得的数据产品,订阅端安全策略为应用于数据订阅端的关于数据访问权限及数据脱敏方式的具体规则。
在本实施例中,数据发布端与数据订阅端建立订阅关系后,可以根据自身的发布端安全策略,向数据订阅端发送订阅数据及订阅端安全策略。其中,发布端安全策略通常包含全局权限设置、加密算法和静态脱敏规则。每当订阅数据或订阅端安全策略被创建或被更新后,数据发布端的数据库可以将根据订阅方式将最新数据同步给数据订阅端。
进一步地,根据订阅方式建立数据发布端与数据订阅端之间的信息链路之前,还包括:确定订阅方式,并确定与数据订阅端对应的数据源及访问策略。
图6是本发明实施例提供的一种数据发布端与数据订阅端的订阅关系建立的流程图,如图所示,对于数据发布端,在启动数据库后可以初始化数据产品主题,然后确定订阅方式、数据源及访问策略,在通过发送元数据令数据订阅端进行验证响应后,与数据订阅端建立订阅关系,之后数据发布端可通过与数据订阅端之间的信息链路发布新的订阅数据及订阅端安全策略或更新已有的订阅数据及订阅端安全策略。数据订阅端接收订阅数据及订阅端安全策略后进行持久化,并执行订阅端安全策略,当接收到数据消费端的查询请求后,应用订阅端安全策略返回响应的查询结果。
本发明实施例提供的数据库管理方法,采用发布订阅机制,可以支持跨域的数据库间对数据产品发布及更新的实时感知,保证了数据交易流通中的时效性。
实施例三
图7为本发明实施例三提供的一种数据订阅端的结构示意图。如图7所示,该数据订阅端包括:元数据接收模块310,元数据验证模块320和订阅数据及订阅端安全策略接收模块330。
元数据接收模块310,用于通过数据订阅端与数据发布端之间的信息链路,接收数据发布端发送的元数据。
元数据验证模块320,用于对元数据进行验证,若验证通过,则向数据发布端发送验证通过信息并与数据发布端建立订阅关系。
订阅数据及订阅端安全策略接收模块330,用于接收数据发布端发送的订阅数据及订阅端安全策略,将订阅端安全策略持久化到订阅端数据库中并执行订阅端安全策略。
可选的,订阅端安全策略包括数据访问控制策略,订阅数据及订阅端安全策略接收模块330还用于:
获取订阅端数据库中的已存数据,已存数据包括至少一个数据行;为每个数据行添加对应的标签列;根据标签列确定数据访问对象的访问权限。
可选的,订阅数据及订阅端安全策略接收模块330还用于:
获取数据访问对象的属性数据,属性数据包括数据访问对象标签;针对每个数据行,若对应的标签列与数据访问对象标签匹配,则确定数据访问对象的访问权限为直接读权限。
可选的,订阅数据及订阅端安全策略接收模块330还用于:
针对每个数据行,若对应的标签列与数据访问对象标签不匹配,且数据访问对象符合脱敏读条件,则向数据访问对象返回执行脱敏操作后的查询结果。
可选的,订阅端安全策略包括数据动态脱敏策略,订阅数据及订阅端安全策略接收模块330还用于:
获取订阅端数据库中的待脱敏数据并构建待脱敏数据的逻辑计划树;根据数据动态脱敏策略,确定逻辑计划树中包含敏感字段的目标叶子节点;利用脱敏函数,为目标叶子节点中的敏感字段构造对应的脱敏字段;根据脱敏字段,对逻辑计划树进行脱敏操作。
可选的,订阅数据及订阅端安全策略接收模块330还用于:
将目标叶子节点的父节点确定为当前节点;利用脱敏字段,将当前节点的输出列中的敏感字段替换为脱敏字段;将当前节点的父节点确定为新的当前节点,返回执行利用脱敏字段,将当前节点的输出列中的敏感字段替换为脱敏字段的步骤,直到到达逻辑计划树的顶层节点;为顶层节点构造新的父节点,并将新的父节点的输出列中的敏感字段替换为脱敏字段。
本发明实施例所提供的数据订阅端可执行本发明实施例一所提供的数据库管理方法,具备执行方法相应的功能模块和有益效果。
实施例四
图8为本发明实施例四提供的一种数据发布端的结构示意图。如图8所示,该数据发布端包括:信息链路建立模块410,元数据发送模块420和订阅数据及订阅端安全策略发送模块430。
信息链路建立模块410,用于根据订阅方式建立数据发布端与数据订阅端之间的信息链路。
元数据发送模块420,用于通过信息链路,向数据订阅端发送元数据,当接收到数据订阅端发送的验证通过信息后,建立与数据订阅端的订阅关系。
订阅数据及订阅端安全策略发送模块430,用于将数据订阅端订阅的订阅数据及订阅端安全策略发送给数据订阅端。
可选的,数据发布端还包括订阅方式确定模块440,用于确定订阅方式,并确定与数据订阅端对应的数据源及访问策略。
本发明实施例所提供的数据订阅端可执行本发明实施例二所提供的数据库管理方法,具备执行方法相应的功能模块和有益效果。
Claims (4)
1.一种数据库管理方法,所述方法应用于数据订阅端,其特征在于,包括:
通过所述数据订阅端与数据发布端之间的信息链路,接收所述数据发布端发送的元数据;
对所述元数据进行验证,若验证通过,则向所述数据发布端发送验证通过信息并与所述数据发布端建立订阅关系;
接收所述数据发布端发送的订阅数据及订阅端安全策略,将所述订阅端安全策略持久化到订阅端数据库中并执行所述订阅端安全策略;
所述订阅端安全策略包括数据访问控制策略,执行所述订阅端安全策略包括:
获取所述订阅端数据库中的已存数据,所述已存数据包括至少一个数据行;
为每个所述数据行添加对应的标签列;
根据所述标签列确定数据访问对象的访问权限;
根据所述标签列确定数据访问对象的访问权限,包括:
获取所述数据访问对象的属性数据,所述属性数据包括数据访问对象标签;
针对每个所述数据行,若对应的标签列与所述数据访问对象标签匹配,则确定所述数据访问对象的访问权限为直接读权限;
所述订阅端安全策略包括数据动态脱敏策略,执行所述订阅端安全策略包括:
获取所述订阅端数据库中的待脱敏数据并构建所述待脱敏数据的逻辑计划树;
根据所述数据动态脱敏策略,确定所述逻辑计划树中包含敏感字段的目标叶子节点;
利用脱敏函数,为所述目标叶子节点中的敏感字段构造对应的脱敏字段;
根据所述脱敏字段,对所述逻辑计划树进行脱敏操作。
2.根据权利要求1所述的方法,其特征在于,所述方法还包括:
针对每个所述数据行,若对应的标签列与所述数据访问对象标签不匹配,且所述数据访问对象符合脱敏读条件,则向所述数据访问对象返回执行脱敏操作后的查询结果。
3.根据权利要求1所述的方法,其特征在于,根据所述脱敏字段,对所述逻辑计划树进行脱敏操作,包括:
将所述目标叶子节点的父节点确定为当前节点;
利用所述脱敏字段,将所述当前节点的输出列中的敏感字段替换为所述脱敏字段;
将所述当前节点的父节点确定为新的当前节点,返回执行利用所述脱敏字段,将所述当前节点的输出列中的敏感字段替换为所述脱敏字段的步骤,直到到达所述逻辑计划树的顶层节点;
为所述顶层节点构造新的父节点,并将所述新的父节点的输出列中的敏感字段替换为所述脱敏字段。
4.一种数据订阅端,其特征在于,包括:
元数据接收模块,用于通过数据订阅端与数据发布端之间的信息链路,接收所述数据发布端发送的元数据;
元数据验证模块,用于对所述元数据进行验证,若验证通过,则向所述数据发布端发送验证通过信息并与所述数据发布端建立订阅关系;
订阅数据及订阅端安全策略接收模块,用于接收所述数据发布端发送的订阅数据及订阅端安全策略,将所述订阅端安全策略持久化到订阅端数据库中并执行所述订阅端安全策略;
所述订阅数据及订阅端安全策略接收模块还用于:
获取所述订阅端数据库中的已存数据,所述已存数据包括至少一个数据行;
为每个所述数据行添加对应的标签列;
根据所述标签列确定数据访问对象的访问权限;
获取所述数据访问对象的属性数据,所述属性数据包括数据访问对象标签;针对每个所述数据行,若对应的标签列与所述数据访问对象标签匹配,则确定所述数据访问对象的访问权限为直接读权限;
获取所述订阅端数据库中的待脱敏数据并构建所述待脱敏数据的逻辑计划树;根据数据动态脱敏策略,确定所述逻辑计划树中包含敏感字段的目标叶子节点;利用脱敏函数,为所述目标叶子节点中的敏感字段构造对应的脱敏字段;根据所述脱敏字段,对所述逻辑计划树进行脱敏操作。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211669102.3A CN115906178B (zh) | 2022-12-23 | 2022-12-23 | 一种数据库管理方法、数据订阅端及数据发布端 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211669102.3A CN115906178B (zh) | 2022-12-23 | 2022-12-23 | 一种数据库管理方法、数据订阅端及数据发布端 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN115906178A CN115906178A (zh) | 2023-04-04 |
CN115906178B true CN115906178B (zh) | 2024-06-04 |
Family
ID=86476175
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211669102.3A Active CN115906178B (zh) | 2022-12-23 | 2022-12-23 | 一种数据库管理方法、数据订阅端及数据发布端 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115906178B (zh) |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1858738A (zh) * | 2006-02-15 | 2006-11-08 | 华为技术有限公司 | 访问数据库的方法及装置 |
CN110995657A (zh) * | 2019-11-11 | 2020-04-10 | 广州市品高软件股份有限公司 | 一种基于数据标签的数据访问方法、服务端及系统 |
CN111125758A (zh) * | 2019-12-19 | 2020-05-08 | 北京安华金和科技有限公司 | 一种基于全语法树解析的动态脱敏方法 |
US10791138B1 (en) * | 2017-03-30 | 2020-09-29 | Fireeye, Inc. | Subscription-based malware detection |
CN113067853A (zh) * | 2021-03-12 | 2021-07-02 | 北京金山云网络技术有限公司 | 一种数据推送方法、装置、电子设备及存储介质 |
-
2022
- 2022-12-23 CN CN202211669102.3A patent/CN115906178B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1858738A (zh) * | 2006-02-15 | 2006-11-08 | 华为技术有限公司 | 访问数据库的方法及装置 |
US10791138B1 (en) * | 2017-03-30 | 2020-09-29 | Fireeye, Inc. | Subscription-based malware detection |
CN110995657A (zh) * | 2019-11-11 | 2020-04-10 | 广州市品高软件股份有限公司 | 一种基于数据标签的数据访问方法、服务端及系统 |
CN111125758A (zh) * | 2019-12-19 | 2020-05-08 | 北京安华金和科技有限公司 | 一种基于全语法树解析的动态脱敏方法 |
CN113067853A (zh) * | 2021-03-12 | 2021-07-02 | 北京金山云网络技术有限公司 | 一种数据推送方法、装置、电子设备及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN115906178A (zh) | 2023-04-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP7222036B2 (ja) | モデルトレーニングシステムおよび方法および記憶媒体 | |
JP2022000757A5 (zh) | ||
US11128465B2 (en) | Zero-knowledge identity verification in a distributed computing system | |
US20210084105A1 (en) | System and apparatus to manage data using a peer-to-peer network and the blockchain | |
US11082226B2 (en) | Zero-knowledge identity verification in a distributed computing system | |
CN110765484B (zh) | 一种征信数据处理方法及电子设备 | |
US8745088B2 (en) | System and method of performing risk analysis using a portal | |
CN109657492B (zh) | 数据库管理方法、介质及电子设备 | |
US9769159B2 (en) | Cookie optimization | |
CN105337925A (zh) | 一种用户账户管理方法及装置 | |
US11641356B2 (en) | Authorization apparatus, data server and communication system | |
US11425132B2 (en) | Cross-domain authentication in a multi-entity database system | |
CN115906178B (zh) | 一种数据库管理方法、数据订阅端及数据发布端 | |
CN116366353A (zh) | 基于x86平台的业务登录方法、装置、介质及平台 | |
CN113778950B (zh) | 授信文件的获取方法、索引服务器、查询服务器和介质 | |
US11522863B2 (en) | Method and system for managing resource access permissions within a computing environment | |
US7349904B2 (en) | Method and apparatus for managing access to set of converged entitlement resources | |
CN106936794B (zh) | 一种用于更改秘钥的方法、装置及设置秘钥的方法、装置 | |
CN116562884B (zh) | 数据要素流通方法、装置、电子设备及存储介质 | |
CN116662373A (zh) | 一种数据访问控制方法、装置、设备及介质 | |
CN116049854A (zh) | 系统间信息传递方法、装置及计算机设备 | |
KR102100806B1 (ko) | 빅데이터 플랫폼에서 게이트웨이를 통한 인터페이스 액세스 및 관리 방법 | |
US20120089989A1 (en) | Systems and methods for executing and implementing computer processes in process environments | |
CN117453731A (zh) | 一种多源数据查询系统及多源数据查询方法 | |
CN115080621A (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |