一种用于数据分析的访问控制规则描述方法与流程

文档序号:12600632阅读:257来源:国知局
一种用于数据分析的访问控制规则描述方法与流程

本发明涉及数据资源权限管理控制技术领域,尤其涉及一种用于数据分析的访问控制规则描述方法。



背景技术:

数据分析是指用适当的统计分析方法,从数据中提出有用信息和结论的过程。随着云计算、大数据等相关技术的发展,越来越多的企业和机构开始利用数据分析技术挖掘商业数据中的价值。典型的应用场景包括零售企业、医疗机构和社交网络等。然而,商业数据中通常包含许多敏感信息,例如用户个人信息和商业机密信息。为了保护商业数据的安全,需要对数据访问进行控制。

访问控制技术通过控制访问权限的方式保证资源不被非法使用和访问。为了利用访问控制技术保护商业数据,管理员首先需要利用计算机可以处理的访问控制语言编写访问控制规则。目前,一些常见的访问控制模型或语言包括RBAC(Role Based Access Control,基于角色的访问控制)和XACML(eXtensible Acess Control Markup Language,可扩展的访问控制标记语言)。在RBAC中,每条访问控制规则禁止或允许具有某种角色的用户访问某种数据资源。XACML则支持更加丰富的语法元素,其中每条访问控制规则允许或禁止某些用户在某种条件下以何种动作访问某种数据资源。

然而,对于数据分析场景,目前的访问控制技术存在如下两点问题。第一,现有的访问控制技术通常假设数据资源是独立的,因而难以对多种数据的同时访问进行控制。但数据分析脚本通常会同时访问多种数据资源以进行统计分析,并且数据资源之间也可能存在关联信息。例如,当同时访问顾客住址和销售记录时,数据分析人员不仅会得到这两种信息,也有可能额外得到每个住址的顾客所购买的商品记录。因此,在数据分析中,不仅需要对单独的数据资源进行控制,也需要考虑对多种数据资源的同时访问进行控制。第二,现有的访问控制技术通常只支持对数据资源访问的直接授权,而不能要求在数据资源上进行特定的操作。但数据分析脚本本质上是计算机程序,并且通常会对数据资源进行某些操作以去除其中的敏感信息,例如求和、平均和截断操作等。因此,为了更精确的对数据资源访问进行授权,也需要将这些脱敏操作考虑在内。



技术实现要素:

本发明的目的是基于现有访问控制技术的上述两个问题,提出一种适用于数据分析的访问控制规则描述方法,其支持对数据资源的同时访问进行控制,并可以要求对数据资源进行特定的脱敏操作,因此通过其能够更精确地对数据资源访问进行控制。

为实现以上目的,本发明的一种用于数据分析的访问控制规则描述方法,具体包括以下步骤:

S1,根据应用场景将用户角色分割为一个或多个角色单元,以及将数据资源分割为一个或多个数据元;

S2,将用户角色组织成层次结构的形式,其中中间节点包含了其所有后代节点对应的角色单元,其中叶子节点则对应某个应用场景下所述角色单元所对应的具体人员;将数据资源组织成层次结构的形式,其中中间节点包含了其所有后代节点对应的数据元,叶子节点则对应了一组现实数据;

S3,为每个数据资源指定对应一组动作;

S4,基于所述用户角色、数据资源和动作,描述对数据资源的访问进行控制的访问控制规则。

优选地,所述具体人员为对应某个应用场景下的数据分析人员。

优选地,所述动作包括:

访问动作、输出动作和条件判断动作;

所述访问动作则表示数据资源被输出或者用在条件判断中;

所述输出动作表示某个数据资源被输出到最终结果中;

所述条件判断动作表示某个数据资源被用在条件判断中,但没有被直接输出。

优选地,所述访问控制规则包括:

用户角色、数据资源和限制;

并要求当用户同时访问一组数据资源时,必须按照所述限制对数据资源进行相应的脱敏操作。

优选地,所述限制包括:

直接禁止数据分析脚本;

或者,

根据条件判断动作进行一个或多个脱敏限制。

优选地,所述脱敏限制为访问控制规则中的每个数据资源关联一组脱敏操作,并要求该数据资源以其中的某一个脱敏操作进行脱敏;所述脱敏限制中引用的脱敏操作被对应的数据资源所支持。

本发明还提供一种用于数据分析的访问控制方法,其在接收到数据分析的访问请求时,基于上述访问控制规则进行访问控制。

由上述本发明的技术方案可以看出,本发明具有如下技术效果:

相比于现有的访问控制技术,本发明提出的访问控制规则描述方法结合了数据分析脚本的特点,支持对数据资源的同时访问进行控制,并可以要求对数据资源进行特定的脱敏操作。因此,该方法可以更加灵活、精确的描述用于数据分析的访问控制规则,并更加适用于数据分析场景。

附图说明

附图1为本发明的一种用于数据分析的访问控制规则描述方法流程图;

附图2为用户角色层次结构的示意图;

附图3为数据资源层次结构的示意图。

具体实施方式

本发明提出的是一种适用于数据分析的访问控制规则描述方法,结合附图和实施例说明如下。

如图1所示,该方法包含以下步骤:

步骤S1:根据应用场景将用户角色分割为一个或多个角色单元,以及将数据资源分割为一个或多个数据元;将其中一个角色单元对应数据分析人员;将其中一个数据元对应一组现实数据。

步骤S2:将用户角色组织成层次结构的形式,其中中间节点包含了其所有后代节点对应的角色单元,其中叶子节点则对应某个应用场景下所述角色单元所对应的具体人员;将数据资源组织成层次结构的形式,其中中间节点包含了其所有后代节点对应的数据元,叶子节点则对应了一组现实数据。

定义用户角色。每个用户角色对应了现实中的一组数据分析人员。

在编写访问控制规则时,可以对定义的用户角色进行引用。同时,可以将用户角色组织为层次结构的形式。其中,中间节点用于组织节点间的层次关系,并且包含了其所有的后代节点对应的用户角色;叶子节点则对应现实中的数据分析人员。

例如,图2给出了用户角色层次结构的示例。其中,顶层的用户角色Analyst对应了所有的数据分析人员。基于数据分析人员所分配的任务,Analyst又被进一步分为Report Analyst、Marketing Analyst和Advertise Analyst下一级层次的数据分析人员。

定义数据资源。每个数据资源对应了一类现实数据。在编写访问控制规则时,同样可以对定义的数据资源进行引用。类似的,也可以将数据资源组织为层次结构的形式。其中,中间节点用于组织节点间的层次关系,并且包含了其所有后代节点对应的数据资源;叶子节点则对应了现实数据。

在定义数据资源时,也可以定义数据资源支持的脱敏操作。脱敏操作用于去除数据资源的敏感信息,使其可以安全访问。当数据资源被组织成层次结构的形式时,一个中间节点支持的脱敏操作自动被其所有的后代节点所支持。

例如,图3给出了顾客个人信息相关的数据资源层次结构示例。其中,All代表了所有的数据资源,根据应用场景,其又被进一步分为Key Attribute、Quasi Identifier和Sensitive Attribute。Key Attribute代表了可以唯一定位个体的数据资源,例如姓名和电话号码。Quasi Identifier表示那些当组合在一起访问时有可能定位个体的数据资源,例如一个组合为生日、邮政编码和性别。Sensitive Attribute表示顾客敏感信息相关的数据资源,例如顾客购买的商品Sale_Item及价格Sale_Price。对于销售价格Sale_Price,其脱敏操作可以是聚合操作,例如avg(平均)、sum(求和)、max(取大)和min(取小)等。而对于邮政编码Zip,其脱敏操作可以是truncate(截断)操作,用于截去邮编中的某些位。

步骤S3:为每个数据资源指定动作;

步骤S4,基于所述用户角色、数据资源、和动作,描述对数据资源的访问进行控制的访问控制规则。

编写访问控制规则,对数据访问进行控制。每条规则都包含三部分:用户角色、数据资源和限制。并要求当某些用户同时访问一组数据资源时,必须按照限制对数据资源进行相应的脱敏操作。

上述限制包括:直接禁止数据分析脚本;或者,根据条件判断动作进行一个或多个脱敏限制。脱敏限制为访问控制规则中的每个数据资源关联一组脱敏操作,并要求该数据资源以其中的某一个脱敏操作进行脱敏;脱敏限制中引用的脱敏操作被对应的数据资源所支持。

编写访问控制规则具体的编写步骤如下:

1.编写访问控制规则的用户部分。引用一个用户角色定义访问控制规则适用的数据分析人员。当用户角色被组织成层次结构时,规则自动适用于被引用节点的所有后代节点对应的用户角色,但也可以显式排除不希望被引用的后代节点。

2.编写访问控制规则的数据部分。引用一个或多个数据资源定义访问控制规则所适用的数据。只有当访问控制规则中引用的所有数据资源被同时访问时,该访问控制规则才会被触发。当数据资源被组织成层次结构时,如果被引用节点的某个后代节点对应的数据资源被访问,则被引用的节点也被访问;同样的,也可以显式排除被引用节点的某些后代节点。另外,在编写数据部分时,可以为每个数据资源定义一个访问动作。访问动作分为三种,即access(访问)、output(输出)和condition(条件判断)。其中,output动作表示某个数据资源被输出到最终结果中,condition动作表示某个数据资源被用在条件判断中,但没有被直接输出,access动作则表示数据资源被输出或者用在条件判断中,即包含了output动作和condition动作。

3.编写访问控制规则的限制部分。限制部分可以直接禁止(forbid)数据分析脚本,或者定义一个或多个脱敏限制,以便根据条件判断动作进行相应的脱敏操作。其中,一个脱敏限制为访问控制规则中的每个数据资源都定义了一组脱敏操作,并要求该数据资源必须以其中的某一个脱敏操作进行脱敏。脱敏限制中引用的脱敏操作必须被对应的数据资源所支持。如果一个访问控制规则中包含多个脱敏限制,则数据分析脚本应至少满足其中一个脱敏限制。

例如,下面给出了一些访问控制规则的示例。其中=>前面对应了访问控制规则的用户部分和数据部分,后面则对应了限制部分。

实例1:

r1:Analyst exclude Marketing Analyst,[access Name]=>forbid

访问控制规则r1禁止除了Marketing Analyst之外的数据分析人员访问顾客姓名,即只有Marketing Analyst可以访问顾客姓名。

实例2:

r2:Analyst,[output Address,output Sale_Price]=>[{},{avg,sum,min,max}]

访问控制规则r2要求当数据分析人员同时输出Address和Sale_Price时,必须对Sale_Price进行avg、sum、min或max操作,但对Address没有脱敏要求。由于在数据资源层次结构中,Address进一步包含了State、City、Street和Zip,因此当其中之一与Sale_Price一起输出时,该访问控制规则同样适用。另外,该访问控制规则中的Address和Sale_Price都对应了output动作。因此,当Address或Sale_Price没有被直接输出而用于条件判断时,该访问控制规则将不再适用。

实例3:

r3:Analyst,[access State,access City,access Street]=>forbid

访问控制规则r3禁止数据分析人员同时访问State、City和Street。然而,数据分析人员可以单独访问三者中的某一个或两个数据资源,例如单独访问State,或者同时访问State和City。

上述访问控制规则描述完成后,在接收到用于数据分析的访问控制请求后,基于该访问控制规则对该访问控制请求进行控制。该访问控制方法具体包括如下步骤:

针对每条访问控制规则,首先检查数据访问请求是否触发该访问控制规则;如果触发,再检查数据访问请求是否满足该访问控制规则的限制;若满足,则继续遍历后续的访问控制规则,直至数据访问请求满足所有的访问控制规则时,该数据资源请求才被授权;否则,该数据资源请求将被拒绝。

以上实施方式仅用于说明本发明,而并非对本发明的限制,有关技术领域的普通技术人员,在不脱离本发明的精神和范围的情况下,还可以做出各种变化和变型,因此所有等同的技术方案也属于本发明的范畴,本发明的专利保护范围应由权利要求限定。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1