基于分布式计算的ABAC策略执行和存储方法及系统技术方案

技术编号:39298153 阅读:13 留言:0更新日期:2023-11-07 11:06
本发明专利技术公开了基于分布式计算的ABAC策略执行和存储方法及系统,包括:定义多个策略,每个策略针对单个指标维度进行操作;分析策略决策链中的所有策略,并根据策略操作的不同指标维度进行分组,每个策略对应有数据表和特定的指标维度;获取集群中的节点数,为每个节点分配唯一名称,根据分配的节点名称计算得到节点标识符;在集群的节点中接收请求,通过策略决策链确定要为请求执行的相应策略,如果根据计算主键类型相对应的实际值计算得到的节点标识符与请求所在的节点标识符不同,则将属性检索和赋值操作重定向到相对应的节点上执行。本发明专利技术避免了多节点间数据同步合并的问题,大幅降低了硬件资源的消耗以及提高了系统吞吐量。降低了硬件资源的消耗以及提高了系统吞吐量。降低了硬件资源的消耗以及提高了系统吞吐量。

【技术实现步骤摘要】
基于分布式计算的ABAC策略执行和存储方法及系统


[0001]本专利技术涉及策略控制
,具体涉及基于分布式计算的ABAC策略执行和存储方法及系统。

技术介绍

[0002]访问控制系统是按主体身份及其所归属的某项定义组来限制主体对某些资源或者功能的使用的一种技术。对于访问控制NIST有如下定义:“访问是一种利用计算机资源去做某件事情的能力,访问控制是一种手段,通过它这种能力在某些情况下被允许或者受限制(通常是通过物理上和基于系统的控制)。”访问控制的目的是确保特定的数据和资源能够在合适的时间和地点被合适的主体正确地访问和利用,而访问控制模型是规定主体如何访问客体的一种架构,访问控制模型从最初的自主访问控制(DAC)和强制访问控制(MAC)发展到基于角色的访问控制(RBAC),近些年来业内有出现了基于属性的访问控制(ABAC),随着动态安全能力越来越收到业界的关注,又提出了一种风险自适应的访问控制(RAdAC)。典型的访问控制流程如图1所示。
[0003]访问控制模型的基本组成是访问控制策略,一套访问控制流程通常由一条或多条访问控制策略组成。在早期的DAC、MAC以及RBAC访问控制模型中因为定义策略时所用的操作数类型有限,例如在常见的应用于TCP或UDP层的防火墙策略中操作数的类型通常只有源地址,目的地址,源端口,目的端口,协议类型这5种。在基于角色的访问控制(RBAC)中操作数的类型通常也只有账号,角色,所属分组,部门等,即使再扩展加上时间和地点信息作为操作数,类型依然是有限的。所以定义这类访问控制策略的通常做法都是用程序实现固定格式的规则,例如:规则1:如果(角色 = 管理员)则允许访问;规则2:如果(IP地址在 10.33.1.1 到 10.34.255.255 范围内)并且(目的端口 = 8000)则不允许访问。
[0004]这种规则定义很简单,因为操作数类型是有限的,数据判断运算符也是有限的,所以每一条规则的格式都不会变化,即使出现不确定数量的规则也可以通过简单定义一个数组存储来实现。
[0005]对于近些年出现的基于属性的访问控制模型(ABAC),因为该访问控制模型的操作数类型(属性)是完全不确定的,所以无法像上述模型一样用规定格式的规则来实现,对于这种模型,通常情况下主体发出的一个请求是否可以允许对客体执行某些动作需要经过多个策略的决策,并且在决策过程中存在基于多个维度的数据统计工作,统计出的结果需要存储在不同的内部存储结构中用作后续的决策运算,举例如下:一条访问请求中包含如下关键属性:账号,IP地址,设备码,访问的应用域名。该请求需要经过如下4个策略:1、如果一个账号使用的设备数超过阈值则需要二次认证(账号维度统计);2、如果在一个设备上登录过的账号数超过阈值则需要二次认证(设备码维度统
计);3、如果从同一个IP接入的设备数超过阈值则需要二次认证(IP维度统计);4、如果同一个应用被访问次数过大则禁止访问一段时间(应用维度统计)。
[0006]可以看出,当决策系统处理该访问请求时需要进行4种维度的统计,统计的数据需要记录在不同的数据结构中。当处理的请求量增大时整个系统通常均考虑采用集群方式运行,在集群运行时会带来一个问题:请求会被分发到各个节点上运行,基于各个维度的统计数据如何保证准确性?假设访问同一个应用的多个请求被分发到多个节点上,每个节点都基于自己数据的应用维度统计,这样数据不一致决策结果必然是错误的。
[0007]对于上述问题,业界通常有2种解决办法:1、实时计算的结果采用第三方外部存储来解决,比如采用redis或数据库,这样多节点统一读取同一份数据,保证结果的准确性;2、实时计算过程采用各自独立计算,后续采用周期性或者特定条件触发的数据同步计算,以此来确保结果的准确性。
[0008]针对上述第1种解决办法存在的最大问题在于整个系统的吞吐量很大程度会受限于外部存储系统的性能,进而限制了整个系统的运行性能。
[0009]针对上述第2种解决办法存在问题在于多个节点间数据的同步合并问题非常复杂,针对不同的计算方式会有不同的同步合并算法,同时在未同步前系统依然存在数据不准确的问题。

技术实现思路

[0010]专利技术目的:本专利技术目的在于针对现有技术的不足,提供基于分布式计算的ABAC策略执行和存储方法及系统,将不同维度的运算操作合理分配到不同的策略中,并通过合理计算同一个维度计算的归属节点的方式,避免了利用外部存储做计算媒介,同时也避免了多节点间数据同步合并的问题,大幅降低了硬件资源的消耗以及提高了系统吞吐量。
[0011]技术方案:本专利技术所述基于分布式计算的ABAC策略执行和存储方法,包括如下步骤:S1:定义多个策略,其中,每个策略针对单个指标维度进行操作,并执行特定的规则或条件,在单个策略之间建立连接,以形成策略决策链;S2:分析策略决策链中的所有策略,并根据策略操作的不同指标维度进行分组,其中,每个策略对应有数据表,该数据表的主键代表一个特定的指标维度;S3:获取集群中的节点数,为每个节点分配唯一名称,根据分配的节点名称计算得到节点标识符;S4:在所述集群的节点中接收请求,通过所述策略决策链确定要为所述请求执行的相应策略,如果执行的策略涉及属性检索和赋值操作时,则执行如下步骤:S401:根据策略操作的数据表,获取与数据表相关联的主键类型;S402:获取请求所在节点的节点标识符;S403:根据所述S401确定的主键类型,从所述请求中提取与所述主键类型相对应的实际值;S404:根据实际值计算确定用于实现所述策略的节点标识符;
S405:如果S404计算得到的节点标识符与S402中请求所在的节点标识符不同,则将属性检索和赋值操作重定向到与S404计算得到的节点标识符相对应的节点上执行。
[0012]进一步完善上述技术方案,所述S1中针对存在多个指标维度运行的策略,需拆分为多个单独的策略,每个策略对应于单个指标维度,拆分后的单独策略之间通过策略决策链建立连接。
[0013]进一步地,所述S2中的指标维度包括账号、IP、设备码、应用,指标维度对应的数据表分别为:数据表、IP数据表、设备码数据表、应用数据表,数据表对应的主键分别为:账号、IP、设备码、域名。
[0014]进一步地,所述S3中根据分配的节点名称计算得到节点标识符包括:根据分配的节点名称计算哈希值,并用该哈希值%节点数量,将结果记录为该节点的节点标识符。
[0015]进一步地,所述S404包括:计算实际值的哈希值,利用实际值计算的哈希值%节点数量,将结果记录为用于实现所述策略的节点标识符。
[0016]进一步地,根据每个策略的作用范围,将不同指标维度的操作到不同的策略中,并配置同一主体和同一指标维度计算的归属节点,以将相同主体和相同指标维度的计算请求被定向到同一个节点上。
[0017]用于实现上述的基于分布式计算的ABAC策略执行和存储方法的系统,包括:策略定义模块,用于定义策略,每个策略只能操作同一个维度的指标,单个策略之间建立连接,本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.基于分布式计算的ABAC策略执行和存储方法,其特征在于,包括如下步骤:S1:定义多个策略,其中,每个策略针对单个指标维度进行操作,在单个策略之间建立连接,以形成策略决策链;S2:分析策略决策链中的所有策略,并根据策略操作的不同指标维度进行分组,其中,每个策略对应有数据表,该数据表的主键代表一个特定的指标维度;S3:获取集群中的节点数,为每个节点分配唯一名称,根据分配的节点名称计算得到节点标识符;S4:在所述集群的节点中接收请求,通过所述策略决策链确定要为所述请求执行的相应策略,如果执行的策略涉及属性检索和赋值操作时,则执行如下步骤:S401:根据策略操作的数据表,获取与数据表相关联的主键类型;S402:获取请求所在节点的节点标识符;S403:根据所述S401确定的主键类型,从所述请求中提取与所述主键类型相对应的实际值;S404:根据实际值计算确定用于实现所述策略的节点标识符;S405:如果S404计算得到的节点标识符与S402中请求所在的节点标识符不同,则将属性检索和赋值操作重定向到与S404计算得到的节点标识符相对应的节点上执行。2.根据权利要求1所述的基于分布式计算的ABAC策略执行和存储方法,其特征在于:所述S1中针对存在多个指标维度运行的策略,需拆分为多个单独的策略,每个策略对应于单个指标维度,拆分后的单独策略之间通过策略决策链建立连接。3.根据权利要求1所述的基于分布式计算的ABAC策略执行和存储方法,其特征在于:所述S2中的指标维度包括账号、IP、设备码、应用,指标维度对应的数据表分别为:数据表、IP数据表、设备码数据表、应用数据表,数据表对应的主键分别为:账号、IP、设备码、域名。4.根据权利要求1所述的基于分布式计算的ABAC策略执行和存储方法,其特征在于:所述S3中根据分配的节点名称计算得到节点标识符包括:根据分配的节点名称计算哈希值,并用该哈希值%节点数量,将结果记录为该节点的节点标识符。5.根据权利要求1所述的基于分布式计算的ABAC策略执行和存储方法,其特征在于,所述S404包括:计算实际值的哈希值,利用实际值计算的哈希值%节点数量,将结果记录为用于实现所述策略的节点标识符。6.根据权利要求1所述的基于分布式计算的...

【专利技术属性】
技术研发人员:翟欣虎杨正权秦益飞
申请(专利权)人:江苏易安联网络技术有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1