专利名称:数据权限隔离性判断方法、装置、设备及存储介质
专利类型:发明专利
专利申请号:CN201911399239.X
专利申请(专利权)人:中移信息技术有限公司,中国移动通信集团有限公司
权利人地址:广东省深圳市福田区新洲国通大厦滨河大道9023号
专利发明(设计)人:戴妙荷,陈卓,尚晶,陶涛,徐海勇
专利摘要:本发明实施例公开了一种数据权限隔离性判断方法、装置、设备及存储介质。该方法包括:获取第一资源对象,第一资源对象包括第一类账号数据与第二类账号数据;基于预构建的资源树判断第一资源对象包括的第一类账号数据与第二类账号数据之间的第一数据权限隔离性是否满足预设条件;在数据权限隔离性不满足预设条件的情况下,调整第一资源对象。根据本发明实施例,能够适用于超大规模、超高集成度、场景复杂、用户众多的系统的数据权限隔离性论证。
主权利要求:
1.一种数据权限隔离性判断方法,其特征在于,所述方法包括:
获取多个资源对象,每个所述资源对象包括第一类账号数据和第二类账号数据,其中,所述多个资源对象包括第一资源对象;
基于所述多个资源对象构建所述资源树;其中,所述基于所述多个资源对象构建所述资源树,包括:以所述多个资源对象为父节点,以所述多个资源对象包括的第一类账号数据与第二类账号数据为子节点构建所述资源树;
获取第一资源对象,所述第一资源对象包括第一类账号数据与第二类账号数据;
基于预构建的资源树判断所述第一资源对象包括的第一类账号数据与第二类账号数据之间的第一数据权限隔离性,得到目标结果;
其中,所述Mq为所述目标结果;
在所述第一类账号数据为第一孤立账号子数据,所述第二类账号数据为第二孤立账号子数据的情况下,所述第一孤立账号子数据的父节点和所述第二孤立账号子数据的父节点一致,所述Mq0i为所述第一孤立账号子数据与所述第二孤立账号子数据之间的数据权限的论证结果;
在所述第一类账号数据为第三孤立账号子数据,所述第二类账号数据为第一分组账号子数据的情况下,所述第三孤立账号子数据的父节点与所述第一分组账号子数据的父节点不同,所述Mq1j为所述第三孤立账号子数据与所述第一分组账号子数据之间的数据权限的论证结果;
在所述第一类账号数据为第二分组账号子数据,所述第二类账号数据为第三分组账号子数据的情况下,所述第二分组账号子数据的父节点与所述第三分组账号子数据的父节点不同,所述Mq2j为所述第二分组账号子数据与所述第三分组账号子数据之间的数据权限的论证结果;
在所述目标结果不满足预设条件的情况下,调整所述第一资源对象,所述预设条件包括Mq=0。
2.根据权利要求1所述的方法,其特征在于,所述预设条件包括第一类账号数据在无审批或者无授权的情况下是否使用第二类账号数据。
3.根据权利要求1所述的方法,其特征在于,所述方法还包括:
在所述数据权限隔离性满足预设条件的情况下,将所述第一资源对象作为第一父节点,将与所述第一资源对象包括的多个第二资源对象作为第二父节点;
遍历每个所述第二资源对象,基于所述预构建的资源树判断所述第二资源对象包括的第三类账号数据与第四类账号数据之间的数据权限隔离性是否满足预设条件;
在所述数据权限隔离性不满足预设条件的情况下,调整所述第一资源对象和与所述第一资源对象包括的多个第二资源对象。
4.根据权利要求1所述的方法,其特征在于,所述资源对象包括下述中的至少一项:软件、功能单元。
5.一种数据权限隔离性判断装置,其特征在于,包括:
获取模块,用于获取多个资源对象,每个所述资源对象包括第一类账号数据和第二类账号数据,其中,所述多个资源对象包括第一资源对象;
构建模块,用于基于所述多个资源对象构建所述资源树;其中,所述构建模块用于基于所述多个资源对象构建所述资源树,具体用于:以所述多个资源对象为父节点,以所述多个资源对象包括的第一类账号数据与第二类账号数据为子节点构建所述资源树;
获取模块,用于获取第一资源对象,所述第一资源对象包括第一类账号数据与第二类账号数据;
判断模块,用于基于预构建的资源树判断所述第一资源对象包括的第一类账号数据与第二类账号数据之间的第一数据权限隔离性,得到目标结果;
其中,所述Mq为所述目标结果;
在所述第一类账号数据为第一孤立账号子数据,所述第二类账号数据为第二孤立账号子数据的情况下,所述第一孤立账号子数据的父节点和所述第二孤立账号子数据的父节点一致,所述Mq0i为所述第一孤立账号子数据与所述第二孤立账号子数据之间的数据权限的论证结果;
在所述第一类账号数据为第三孤立账号子数据,所述第二类账号数据为第一分组账号子数据的情况下,所述第三孤立账号子数据的父节点与所述第一分组账号子数据的父节点不同,所述Mq1j为所述第三孤立账号子数据与所述第一分组账号子数据之间的数据权限的论证结果;
在所述第一类账号数据为第二分组账号子数据,所述第二类账号数据为第三分组账号子数据的情况下,所述第二分组账号子数据的父节点与所述第三分组账号子数据的父节点不同,所述Mq2j为所述第二分组账号子数据与所述第三分组账号子数据之间的数据权限的论证结果;
调整模块,用于在所述目标结果不满足预设条件的情况下,调整所述第一资源对象,所述预设条件包括Mq=0。
6.一种计算设备,其特征在于,所述设备包括:处理器以及存储有计算机程序指令的存储器;
所述处理器执行所述计算机程序指令时实现如权利要求1‑4任意一项所述的数据权限隔离性判断方法。
7.一种计算机存储介质,其特征在于,所述计算机存储介质上存储有计算机程序指令,所述计算机程序指令被处理器执行时实现如权利要求1‑4任意一项所述的数据权限隔离性判断方法。 说明书 : 数据权限隔离性判断方法、装置、设备及存储介质技术领域[0001] 本发明属于大数据技术领域,尤其涉及一种数据权限隔离性判断方法、装置、设备及存储介质。背景技术[0002] 随着基础学科理论工具的发展,基于电子信息发展而来的通信技术和超大规模计算机技术,包括大数据、云计算、成为全球技术发展战略要地。[0003] 技术的高速发展,促使大型软件、工具和平台快速迭代,系统复杂度不断提升,相应地建设成本也日益提升,为了降低成本实现安全、敏捷、效率最优系统的搭建,高集成度的开放平台日益受到青睐,基于资源分层精细化管控、可自由自定义集成多个工具组件的平台即服务(Platform‑as‑a‑Service,PAAS)平台,灵活支撑应用快速开发迭代成为主流。开放的PAAS平台中不同用户使用,归属于不同用户的数据资产权限隔离性成为各租户最关注的问题。[0004] 针对超大规模、超高集成度、场景复杂、用户众多的系统中的数据权限,目前无法进行可判断性强的数据资产权限隔离性论证。发明内容[0005] 本发明实施例提供一种数据权限隔离性判断方法、装置、设备及存储介质,能够适用于超大规模、超高集成度、场景复杂、用户众多的系统的数据权限隔离性论证。[0006] 第一方面,本发明实施例提供一种数据权限隔离性判断方法,方法包括:获取第一资源对象,第一资源对象包括第一类账号数据与第二类账号数据;基于预构建的资源树判断第一资源对象包括的第一类账号数据与第二类账号数据之间的第一数据权限隔离性是否满足预设条件;在数据权限隔离性不满足预设条件的情况下,调整第一资源对象。[0007] 在一种可能的实现中,第一类账号数据为第一孤立账号子数据,第二类账号为第二孤立账号子数据,第一孤立账号子数据的父节点和第二孤立账号子数据的父节点一致。[0008] 在一种可能的实现中,第一类账号数据为第三孤立账号子数据,第二类账号为第一分组账号子数据,第三孤立账号子数据的父节点与第一分组账号子数据的父节点不同。[0009] 在一种可能的实现中,第一类账号数据为第二分组账号子数据,第二类账号为第三分组账号子数据,第二分组账号子数据的父节点与第三分组账号子数据的父节点不同。[0010] 在一种可能的实现中,预设条件包括第一类账号数据在无审批或者无授权的情况下是否使用第二类账号数据。[0011] 在一种可能的实现中,在数据权限隔离性满足预设条件的情况下,将第一资源对象作为第一父节点,将与第一资源对象包括的多个第二资源对象作为第二父节点;遍历每个第二资源对象,基于预构建的资源树判断第二资源对象包括的第三类账号数据与第四类账号数据之间的数据权限隔离性是否满足预设条件;在数据权限隔离性不满足预设条件的情况下,调整第一资源对象和与第一资源对象包括的多个第二资源对象。[0012] 在一种可能的实现中,资源对象包括下述中的至少一项:软件、功能单元。[0013] 在一种可能的实现中,在基于预构建的资源树判断第一资源对象包括的第一类账号数据与第二类账号数据之间的第一数据权限隔离性是否满足预设条件之前,方法还包括:获取多个资源对象,每个资源对象包括第一类账号数据和第二类账号数据;其中,多个资源对象包括第一资源对象;基于多个资源对象构建资源树。[0014] 在一种可能的实现中,基于多个资源对象构建资源树,包括:以多个资源对象为父节点,以多个资源对象包括的第一类账号数据与第二类账号数据为子节点构建资源树。[0015] 第二方面,本发明实施例提供了一种数据权限隔离性判断装置,装置包括:获取模块,用于获取第一资源对象,第一资源对象包括第一类账号数据与第二类账号数据;判断模块,用于基于预构建的资源树判断第一资源对象包括的第一类账号数据与第二类账号数据之间的第一数据权限隔离性是否满足预设条件;调整模块,用于在数据权限隔离性不满足预设条件的情况下,调整第一资源对象。[0016] 第三方面,本发明实施例提供了一种计算设备,设备包括:处理器以及存储有计算机程序指令的存储器;处理器执行计算机程序指令时实现第一方面或者第一方面任一可能实现的数据权限隔离性判断方法。[0017] 第四方面,本发明实施例提供了一种计算机存储介质,计算机存储介质上存储有计算机程序指令,计算机程序指令被处理器执行时实现如第一方面或者第一方面任一可能实现的数据权限隔离性判断方法。[0018] 本发明实施例的数据权限隔离性判断方法、装置、设备及计算机存储介质,基于自定义构建的资源树单元,结合多个工具循环判断过程,从而构建出基于统一规则的数据隔离性判断依据,旨在针对超大规模、超高集成度、场景复杂、用户众多的系统中的数据权限,实现全面、统一规则、可判断性强的权限隔离性论证。附图说明[0019] 为了更清楚地说明本发明实施例的技术方案,下面将对本发明实施例中所需要使用的附图作简单的介绍,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。[0020] 图1是本发明实施例提供的一种数据权限隔离性判断方法流程示意图;[0021] 图2是本发明实施例提供的一种平台结构示意图;[0022] 图3是本发明实施例提供的一种资源树结构示意图;[0023] 图4是本发明实施例提供的另一种资源树结构示意图;[0024] 图5是本发明实施例提供的又一种资源树结构示意图;[0025] 图6是本发明实施例提供的再一种资源树结构示意图;[0026] 图7是本发明实施例提供的一种基于构建资源树的数据权限隔离性论证装置的结构示意图;[0027] 图8是本发明实施例提供的一种数据权限隔离性判断装置的结构示意图;[0028] 图9是本发明实施例提供的示例性硬件架构的示意图。具体实施方式[0029] 下面将详细描述本发明的各个方面的特征和示例性实施例,为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及具体实施例,对本发明进行进一步详细描述。应理解,此处所描述的具体实施例仅被配置为解释本发明,并不被配置为限定本发明。对于本领域技术人员来说,本发明可以在不需要这些具体细节中的一些细节的情况下实施。下面对实施例的描述仅仅是为了通过示出本发明的示例来提供对本发明更好的理解。[0030] 需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。[0031] 随着人类对大自然探索的深入和基础学科理论工具的发展,基于电子信息发展而来的通信技术和超大规模计算机技术,包括大数据、云计算、人工智能、物联网等,成为全球技术发展战略要地,体现各国经济生产力水平。技术的高速发展,促使大型软件、工具和平台快速迭代,系统复杂度不断提升,相应地建设成本也日益提升,为了降低成本实现安全、敏捷、效率最优系统的搭建,高集成度的开放平台日益受到青睐,基于资源分层精细化管控、自由可自定义集成多个工具组件的PAAS平台,灵活支撑应用快速开发迭代成为主流。[0032] 开放的PAAS平台中不同用户使用,归属于不同用户的数据资产权限隔离性成为各租户最关注的问题。但是针对超大规模、超高集成度、场景复杂、用户众多的系统中的数据权限,上述方法均无法实现全面、统一规则、可判断性强的权限隔离性论证。[0033] 基于此,本发明实施例提供了一种数据权限隔离性判断方法,下面首先对本发明实施例提供的数据权限隔离性判断方法进行详细描述。[0034] 图1是本发明实施例的一种数据权限隔离性判断方法流程示意图,所示方法包括:[0035] S101,获取第一资源对象,第一资源对象包括第一类账号数据与第二类账号数据。[0036] 本发明实施例中涉及的资源对象包括下述中的至少一项:软件、功能单元。也就是说,将可以对存储于系统的受保护的数据资产进行直接或者间接操作的软件、工具、组件、或者平台的功能单元称为资源。[0037] 如,软件、工具、组件或者平台的用户,是所有对数据操作的权限载体,是一种资源;再如对用户的授权功能,其操作对象是用户而非数据,不是资源;再如角色,是对用户的权限分组或者分类功能,不是资源。[0038] S102,基于预构建的资源树判断第一资源对象包括的第一类账号数据与第二类账号数据之间的第一数据权限隔离性是否满足预设条件。[0039] 在涉及上述在基于预构建的资源树判断第一资源对象包括的第一类账号数据与第二类账号数据之间的第一数据权限隔离性是否满足预设条件的步骤之前,还包括以下步骤:[0040] 获取多个资源对象,每个资源对象包括第一类账号数据和第二类账号数据;其中,多个资源对象包括第一资源对象;基于多个资源对象构建资源树。[0041] 上述涉及到的基于多个资源对象构建资源树的步骤中,具体包括以下步骤:以多个资源对象为父节点,以多个资源对象包括的第一类账号数据与第二类账号数据为子节点构建资源树。[0042] 其中,上述涉及到的基于多个资源对象构建资源树可以为以不同组理念进行分叉设计,基于系统中不同深度的资源逐层累加,构建资源树,直到最后一层节点下均无资源为止。[0043] 首先,选择根节点。以用户登录后首次与系统进行交互的平台为根节点,并标记为G,统计数q=1。[0044] 其次,确定深度为1和2的节点。以不同组理念进行分叉,基于根节点下不同资源逐步累加。深度为1的节点为不同归属组标记,深度为2的节点个数是决定于标记为G的平台资源个数。[0045] 接着,统计当前平台交互页面下资源名称与总个数Nq,资源名称分别标记为Pj,其中j∈[1,Nq]。[0046] 然后,根节点G下分别标记0,1,2三个深度为1的节点[0047] 最后。在每一个深度为1的节点下,分别增加用户节点和总数为N的标记为Pj节点,其中j∈[1,Ni]的整数,并将标记为k下用户节点标记为Sqk0、Sj节点分别标记为Sqkm,其中q=1,k=1、2、3,m∈[1,N],与Pj对应。因此,深度为2的节点共有3*(Nq+1)个。[0048] 为了更形象地说明此处标记单元,现结合图2,以通过抽象的PAAS系统为例进行说明,该PAAS平台A对用户有一个统一的交互页面,集成了主机连接工具B、调度工具C和流处理管理工具D,其中调度工具C集成了包工具E1和流程工具E2,流处理管理工具集成了Flume和Kafka,Flume下层数据工具为Chanel,Kafka下层数据工具为topic。[0049] 初步构建完成的资源树如图3所示,父节点为工具A,工具A的子节点为0,1,2。将0,1,2的子节点分别标记为Sqkm,就得到如图4所示的资源树结构示意图,其中,k=1、2、3,m∈[1,N]。[0050] 在一个实施例中,第一类账号数据为第一孤立账号子数据,第二类账号为第二孤立账号子数据,第一孤立账号子数据的父节点和第二孤立账号子数据的父节点一致。[0051] 在第一类账号数据为第一孤立账号子数据,第二类账号为第二孤立账号子数据的情况下,进行孤立账号数据权限隔离性判断,即判断Sq00依次与Sq0i,i∈[1,Nq]的整数的资源组合(Sq00,Sq0j)是否满足E,其中E表示输入资源A在无审批无授权的情况下是否可以使用资源B,并将相应结果分别记录为Mq0i,Mq0i的取值详如公式(1)所示:[0052][0053] 在另一个实施例中,本发明实施例中涉及的第一类账号数据为第三孤立账号子数据,第二类账号为第一分组账号子数据,第三孤立账号子数据的父节点与第一分组账号子数据的父节点不同。[0054] 在第一类账号数据为第三孤立账号子数据,第二类账号为第一分组账号子数据的情况下,进行孤立账号与分组账号数据权限隔离性判断,即判断Sq00依次与Sq1j,j∈[0,Nq]的整数的资源组合(Sq00,Sq1j)是否满足E,其中E表示输入资源A在无审批无授权的情况下是否可以使用资源B,并将相应结果分别记录为Mq1j,j∈[0,Nq]的整数,Mq1j的取值详如公式(2)所示:[0055][0056] 在又一个实施例中,本发明实施例中涉及的第一类账号数据为第二分组账号子数据,第二类账号为第三分组账号子数据,第二分组账号子数据的父节点与第三分组账号子数据的父节点不同。[0057] 在第一类账号数据为第二分组账号子数据,第二类账号为第三分组账号子数据的情况下,进行不同分组账号数据权限隔离性判断,即判断Sq10依次与Sq2j,j∈[0,Nq]的整数的资源组合(Sq10,Sq2j)是否满足E,其中E表示输入资源A在无审批无授权的情况下是否可以使用资源B,并将相应结果分别记录为Mq1j,j∈[0,Nq]的整数,Mq1j的取值详如公式(3)所示:[0058][0059] 其中,本发明实施例中涉及的预设条件包括第一类账号数据在无审批或者无授权的情况下是否使用第二类账号数据。[0060] S103,在数据权限隔离性不满足预设条件的情况下,调整第一资源对象。[0061] 将第一资源对象对应的资源树单元数据权限记为Mq,其取值详如以下公式(4)所示:[0062][0063] 根据Mq的取值形成资源树单元数据权限隔离性结论,将资源树单元数据权限判断结果为Kq,Fq为Mq是否大于0的事件,若Fq为true,则记Kq=1,否则Kq=0,输出Kq、t=Nq和下层资源标记集合PQ,其中PQ={Pj},其中j∈[1,Nq]。若Kq=1,工具A数据权限隔离性判断不通过,否则通过。[0064] 在数据权限隔离性满足预设条件的情况下,将第一资源对象作为第一父节点,将与第一资源对象包括的多个第二资源对象作为第二父节点;遍历每个第二资源对象,基于预构建的资源树判断第二资源对象包括的第三类账号数据与第四类账号数据之间的数据权限隔离性是否满足预设条件;在数据权限隔离性不满足预设条件的情况下,调整第一资源对象和与第一资源对象包括的多个第二资源对象。[0065] 在涉及遍历每个第二资源对象,基于预构建的资源树判断第二资源对象包括的第三类账号数据与第四类账号数据之间的数据权限隔离性是否满足预设条件的步骤中,即逐层遍历资源树判断形成结论的步骤中,具体包括以下步骤:[0066] 3.1,逐层构建资源树进行判断[0067] 3.1.1,q=q+1[0068] 3.1.2,遍历PQ={Pj},其中j∈[1,Nq],判断Pj是否有下层资源,若无Kq=0,将Pj的判断结果记录为Rj,其计算公式如下公式(5)所示。若有,执行3.1.3。[0069][0070] 3.1.3,将Pj视为根节点,执行第一步和第二步,形成输出Kq、t和PQ={PMj},j∈[1,t],执行3.1.4[0071] 3.1.4,执行3.1.2,输出Rjq[0072] 其中,若Mq0j(j∈[1,Nq])、Mq1j(j∈[0,Nq])、Mq1j(j∈[0,Nq])其中q=1,若任意一个值中存在为1的值,则K1=1;[0073] 若任意一个值均为0,则Kq=0,t=3,PQ={B,C,D},其中B、C、D为工具名。[0074] 在执行步骤3.1.1后执行3.1.2,首先判断P1=B是否有下层资源,若有执行3.1.3,1‑1若无,其结果值R1=K1*2 =K1,因为B下无资源,因此结果值为K1。[0075] 接着执行3.1.2,判断P2=C是否有下层资源,结果为有,因此,将B视为根节点,p=2,t=2,PQ={E1,E2},因此,执行第一步构建的深度为2、3、4资源树工具B部分单元如下图5所示,编码后单元详如下图6所示。[0076] 若Mq0j(j∈[1,Nq])、Mq1j(j∈[0,Nq])、Mq1j(j∈[0,Nq])其中q=2,若任意一个值中存在为1的值,则K2=1。[0077] 若任意一个值均为0,则K2=0,t=2,PQ={E1,E2},其中E1、E2为工具名,输出R21。[0078] 再执行3.1.2,形成C下资源树构建输出R22。[0079] 接着,形成判断结论,即判断上层Rqj是否大于0,则数据权限隔离性不通过,否则通过。遍历每个第二资源对象,直至抽象关系结束。[0080] 对工具判断结论进行二进制位提取,对照抽象资源树,得出结论。如第一步工具A1‑1 2‑1的输出结果K1=1,对于工具B中,若R21=1=1*2 +0*2 ,则总结论工具B数据权限不隔离,安全性低,其根本原因在于深度为1工具不通过,即A工具权限问题引致。[0081] 也就是说,工具A数据权限隔离性判断不通过至少包括以下情况:[0082] 一方面,A工具K1=1,A工具数据权限隔离性不通过。[0083] 另一方面,B工具R21=1=1*2^(1‑1)+0*2^(2‑1),其中B工具本身是0*2^(2‑1),即通过,但是由于上一级工具不同通过,所以B通过,A不通过,整个系统/工具A,工具A数据权限隔离性不通过。[0084] 在一方面,如果B工具的结果R21=2,说明B工具本身,1*2^(2‑1),也是隔离性不通过,所以,A工具不通过、B工具不通过,整个工具的数据权限隔离性不通过。[0085] 或者,如果A工具通过,B工具或者C工具或者任一个不通过,整个工具也不通过。[0086] 综上,数据权限隔离性,判断的是不同用户是否可以直接获取其他用户组的数据,其中,在涉及构建资源树的步骤中,根节点G,其处理过程对应将图2转换成图3,再将图3转换到图4。然后基于图4所示的资源数形成判断结论的,根本结论就是用K代表单一判断单元的判断结果,K值大于0则不隔离,K值等于0是隔离。基于单一判断单元的判断结果,迭代,形成对所有集成工具的判断,其中由于基于单一判断单元的判断结果针对的是1个工具,即图2中的A、或者B、或者C、或者D、或者flume、或者Kafka,所以对工具整体A的判断依赖于每一步迭代的结果。[0087] 由此,本发明实施例的数据权限隔离性判断方法,基于自定义构建的资源树单元,结合多个工具循环判断过程,从而构建出基于统一规则的数据隔离性判断依据,旨在针对超大规模、超高集成度、场景复杂、用户众多的系统中的数据权限,实现全面、统一规则、可判断性强的权限隔离性论证。[0088] 另外,基于上述数据权限隔离性判断方法,本发明实施例还提供了一种基于构建资源树的数据权限隔离性论证装置,具体结合图7进行详细说明。[0089] 图7是本发明实施例提供的一种基于构建资源树的数据权限隔离性论证装置的结构示意图。具体包括:抽象关系输入模块701、根选择标记模块702、下层资源标注和统计模块703、资源树单元构建模块704、账号权限统计模块705、资源树单元数据判断模块706、根节点判断结果输出模块707、下层资源遍历判断模块708、抽象关系结束判断模块709、结论解析模块710、结束输出模块711。[0090] 下面,分别进行描述:[0091] 抽象关系输入模块701,用于将分析对象的抽象关系输入到装置。[0092] 根选择标记模块702,用于标记和选择根节点,是第一层循环体的开端。[0093] 下层资源标注和统计模块703,用于标注并且输出上层循环体对应下层分析对象的集合。[0094] 资源树单元构建模块704,用于基于分析对象构架资源树单元的构建;[0095] 账号权限统计模块705,用于分析和统计孤立账号数据权限隔离性判断、孤立账号与分组账号数据权限隔离性判断和分组账号间数据权限隔离性判断。[0096] 资源树单元数据判断模块706,用于判断本次循环被标注的资源树单元数据隔离性判断。[0097] 根节点判断结果输出模块707,用于将通过构建资源树单元形成的判断结论进行输出。[0098] 下层资源遍历判断模块708,用于遍历下一次循环分析对象资源节点。如果下层资源遍历结束,则进入抽象关系结束判断模块709,如果下层资源遍历未结束,则返回下层资源标注和统计模块703。[0099] 抽象关系结束判断模块709,用于判断待分析工具是否已经遍历完成。如果遍历结束,则进行抽象关系结束判断模块710,如果遍历未结束,则返回根选择标记模块702。[0100] 结论解析模块710,用于将循环体中多次输出的判断结果进行维度转换,输出各个工具的数据隔离性判断结果。[0101] 结束输出模块711,用于输出判断结论。[0102] 综上,本发明实施例提供的一种基于构建资源树的数据隔离性论证装置,基于自定义构建的资源树单元,结合多个工具循环判断过程,从而构建出基于统一规则的数据隔离性判断依据,并形成基于构建资源树单元遍历判断的数据隔离性判断装置,旨在针对超大规模、超高集成度、场景复杂、用户众多的系统中的数据权限,实现全面、统一规则、可判断性强的权限隔离性论证。[0103] 另外,本发明以资源为处理对象构建了适用于多层工具、可无限扩展的资源树,形成自动循环判断的方法,其规则统一可扩展性强、可判断性强,更加适用于超大规模、超高集成度、场景复杂、用户众多的系统的数据权限隔离性论证。同时,由于资源树的易扩展的特点,对于新增集成工具或者新集成功能体权限论证可以采用增量式论证的方法,尤其适用于超高集成度、敏捷开发系统中的数据权限隔离性论证场景。[0104] 另外,基于上述数据权限隔离性判断方法,本发明实施例还提供了一种数据权限隔离性判断装置,具体结合图8进行详细说明。[0105] 图8是本发明实施例提供的一种数据权限隔离性判断装置的结构示意图,装置800包括:[0106] 获取模块810,用于获取第一资源对象,第一资源对象包括第一类账号数据与第二类账号数据。[0107] 其中,本发明实施例中涉及的资源对象包括下述中的至少一项:软件、功能单元。[0108] 判断模块820,用于基于预构建的资源树判断第一资源对象包括的第一类账号数据与第二类账号数据之间的第一数据权限隔离性是否满足预设条件。[0109] 判断模块820还用于获取多个资源对象,每个资源对象包括第一类账号数据和第二类账号数据;其中,多个资源对象包括第一资源对象;基于多个资源对象构建资源树。[0110] 判断模块820还用于以多个资源对象为父节点,以多个资源对象包括的第一类账号数据与第二类账号数据为子节点构建资源树。[0111] 其中,本发明实施例中涉及的第一类账号数据为第一孤立账号子数据,第二类账号为第二孤立账号子数据,第一孤立账号子数据的父节点和第二孤立账号子数据的父节点一致。[0112] 其中,本发明实施例中涉及的第一类账号数据为第三孤立账号子数据,第二类账号为第一分组账号子数据,第三孤立账号子数据的父节点与第一分组账号子数据的父节点不同。[0113] 其中,本发明实施例中涉及的第一类账号数据为第二分组账号子数据,第二类账号为第三分组账号子数据,第二分组账号子数据的父节点与第三分组账号子数据的父节点不同。[0114] 调整模块830,用于在数据权限隔离性不满足预设条件的情况下,调整第一资源对象。[0115] 调整模块830还用于在数据权限隔离性满足预设条件的情况下,将第一资源对象作为第一父节点,将与第一资源对象包括的多个第二资源对象作为第二父节点;遍历每个第二资源对象,基于预构建的资源树判断第二资源对象包括的第三类账号数据与第四类账号数据之间的数据权限隔离性是否满足预设条件;在数据权限隔离性不满足预设条件的情况下,调整第一资源对象和与第一资源对象包括的多个第二资源对象。[0116] 其中,本发明实施例中涉及的预设条件包括第一类账号数据在无审批或者无授权的情况下是否使用第二类账号数据。[0117] 该实施例提供的数据权限隔离性判断装置的各个模块可以实现图1所示实例中的方法,为简洁描述,在此不再赘述。[0118] 综上,本发明实施例提供的数据权限隔离性判断装置,基于自定义构建的资源树单元,结合多个工具循环判断过程,从而构建出基于统一规则的数据隔离性判断依据,并形成基于构建资源树单元遍历判断的数据隔离性判断方法及装置,旨在针对超大规模、超高集成度、场景复杂、用户众多的系统中的数据权限,实现全面、统一规则、可判断性强的权限隔离性论证。[0119] 图9示出了本发明实施例提供的数据权限隔离性判断方法的硬件结构示意图。[0120] 处理设备可以包括处理器901以及存储有计算机程序指令的存储器902。[0121] 具体地,上述处理器901可以包括中央处理器(CentralProcessingUnit,CPU),或者特定集成电路(ApplicationSpecificIntegratedCircuit,ASIC),或者可以被配置成实施本发明实施例的一个或多个集成电路。[0122] 存储器902可以包括用于数据或指令的大容量存储器。举例来说而非限制,存储器902可包括硬盘驱动器(HardDiskDrive,HDD)、软盘驱动器、闪存、光盘、磁光盘、磁带或通用串行总线(UniversalSerialBus,USB)驱动器或者两个或更多个以上这些的组合。在合适的情况下,存储器902可包括可移除或不可移除(或固定)的介质。在合适的情况下,存储器902可在综合网关容灾设备的内部或外部。在特定实施例中,存储器902是非易失性固态存储器。在特定实施例中,存储器902包括只读存储器(ROM)。在合适的情况下,该ROM可以是掩模编程的ROM、可编程ROM(PROM)、可擦除PROM(EPROM)、电可擦除PROM(EEPROM)、电可改写ROM(EAROM)或闪存或者两个或更多个以上这些的组合。[0123] 处理器901通过读取并执行存储器902中存储的计算机程序指令,以实现上述图1‑图6所示的任意一种数据权限隔离性判断方法。[0124] 在一个示例中,处理设备还可包括通信接口903和总线910。其中,如图9所示,处理器901、存储器902、通信接口903通过总线910连接并完成相互间的通信。[0125] 通信接口903,主要用于实现本发明实施例中各模块、装置、单元和/或设备之间的通信。[0126] 总线910包括硬件、软件或两者,将数据权限隔离性判断设备的部件彼此耦接在一起。举例来说而非限制,总线可包括加速图形端口(AGP)或其他图形总线、增强工业标准架构(EISA)总线、前端总线(FSB)、超传输(HT)互连、工业标准架构(ISA)总线、无限带宽互连、低引脚数(LPC)总线、存储器总线、微信道架构(MCA)总线、外围组件互连(PCI)总线、PCI‑Express(PCI‑X)总线、串行高级技术附件(SATA)总线、视频电子标准协会局部(VLB)总线或其他合适的总线或者两个或更多个以上这些的组合。在合适的情况下,总线910可包括一个或多个总线。尽管本发明实施例描述和示出了特定的总线,但本发明考虑任何合适的总线或互连。[0127] 该处理设备可以执行本发明实施例中的数据权限隔离性判断方法,从而实现结合图1‑图6所示实例描述的数据权限隔离性判断方法。[0128] 另外,结合上述实施例中的数据权限隔离性判断方法,本发明实施例可提供一种计算机存储介质来实现。该计算机存储介质上存储有计算机程序指令;该计算机程序指令被处理器执行时实现上述实施例中的任意一种数据权限隔离性判断方法。[0129] 需要明确的是,本发明并不局限于上文所描述并在图中示出的特定配置和处理。为了简明起见,这里省略了对已知方法的详细描述。在上述实施例中,描述和示出了若干具体的步骤作为示例。但是,本发明的方法过程并不限于所描述和示出的具体步骤,本领域的技术人员可以在领会本发明的精神后,作出各种改变、修改和添加,或者改变步骤之间的顺序。[0130] 以上所述的结构框图中所示的功能块可以实现为软件方式,本发明的元素是被用于执行所需任务的程序或者代码段。程序或者代码段可以存储在机器可读介质中,或者通过载波中携带的数据信号在传输介质或者通信链路上传送。“机器可读介质”可以包括能够存储或传输信息的任何介质。机器可读介质的例子包括电子电路、半导体存储器设备、ROM、闪存、可擦除ROM(EROM)、软盘、CD‑ROM、光盘、硬盘、光纤介质、射频(RF)链路,等等。代码段可以经由诸如因特网、内联网等的计算机网络被下载。[0131] 还需要说明的是,本发明中提及的示例性实施例,基于一系列的步骤或者装置描述一些方法或系统。但是,本发明不局限于上述步骤的顺序,也就是说,可以按照实施例中提及的顺序执行步骤,也可以不同于实施例中的顺序,或者若干步骤同时执行。[0132] 以上所述,仅为本发明的具体实施方式,所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,上述描述的系统、模块和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。应理解,本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到各种等效的修改或替换,这些修改或替换都应涵盖在本发明的保护范围之内。
专利地区:广东
专利申请日期:2019-12-30
专利公开日期:2024-07-26
专利公告号:CN113127887B