APP下载

大数据平台上基于属性的角色访问控制模型

2019-03-05苏秋月

现代计算机 2019年3期
关键词:访问控制组件对象

苏秋月

(四川大学计算机学院,成都610065)

0 引言

大数据时代下,随着政府、企业的信息系统越来越多,系统之间的资源共享与业务协同的需求越来越迫切。而大数据平台可以帮助政府和企业打破部门间的数据孤岛,支持多源异构数据源的集成,支持跨行业、跨部门、跨平台的数据共享与交换[1]。但平台上数据安全问题也随之而来,如何保证数据不被未授权访问是数据使用过程中必须解决的问题。

学者Gupta 等人[2-3]总结开源项目Apache Ranger、Sentry 以及Hadoop 原生基于访问控制列表(Access Control List,ACL)这三种访问控制机制的特点,提出了Hadoop 生态系统的多层授权框架和Hadoop 生态系统授权(HeAC)模型。陈垚坤等人[4]将基于属性的访问控制(Attribute-Based Access Control,ABAC)模型应用到Hadoop 平台中,提供了细粒度、灵活的访问控制。但是当平台中存在大量的属性时,属性管理难度增大,并且访问控制策略由多个实体属性组成的集合,访问权限判定过程也较为复杂。最近,Gupta 等人[5]在Hadoop 生态系统中讨论了角色与属性结合的方法,将对象标签作为对象属性添加到RBAC 模型中,提出基于对象标签的角色访问控制(OT-RBAC)模型。但文中只增加了对象属性,未考虑主体属性、环境属性等上下文环境对访问授权的影响。

综上,本文提出了大数据平台上基于属性的角色访问控制(Attribute-based Role Access Control,ARAC)模型。该模型将基于属性的策略应用到RBAC 模型中,根据用户属性和环境属性来确定用户可分配的角色,自动地建立用户-角色的分配关系;同样,属性策略也用于建立角色-权限的映射关系,其中考虑到Hadoop 平台多层访问架构的特点,在策略中加入了组件属性和数据对象属性,而不是只根据数据本身作为授权对象,实现对平台中数据灵活、统一的权限管理。最后我们在Hadoop 平台上实现了ARAC 模型,并进行了实验分析,结果表明该模型在性能损失较小的情况下,为大数据平台了提供细粒度、灵活的访问控制。

1 ARAC模型

本文提出的大数据平台上基于属性的角色访问控制(ARAC)模型如图1 所示。ARAC 模型中包括的实体有:用户U、用户组G、角色R、组件C、数据对象O、操作OP。

其中用户U 是与计算机交互以访问Hadoop 生态系统组件和数据对象的人。用户组G 是具有相同属性和权限的用户集合。组件C 是指Hadoop 平台中的组件,例如HDFS、YARN、Hive、HBase、Storm、Kafka、Atlas等。数据对象O 是组件中包含的不同类型的资源,例如HDFS 中的资源路径(path),Hive 中的数据库(database)、表(table),YARN 中的队列(queue)等。由于Hadoop 平台中多层访问框架的特点,用户在对数据对象进行操作之前,先要有访问组件的权限,即只有同时拥有组件和数据对象的访问权限才能对数据对象实施操作。操作OP 是指对不同的数据对象执行不同的访问行为,如对HDFS 文件或目录进行读、写、执行操作,而对Hive 中数据库、表进行创建、查询、删除等操作。除了实体之外,模型中还包含了一些属性。下面会对属性相关的概念进行形式化的定义,具体如定义1 所示。

图1 ARAC模型

定义1 属性:属性是对实体的具体描述,记为AT::=(Attribute_name op attribute_value)。其中attribute_name 是指属性名称;op 指属性运算符,包括<,=,>,≤,≠,≥等;attribute_value 指属性的取值,可由有限的原子值或集合值来表示。其中AT⊆(UAT∪EAT∪CAT∪OAT),表示不同类型属性集合的子集;entity 表示实体类型,包括用户U、环境E、组件C、对象O;Range(at)表示属性的范围,是一个原子值的有限枚举集。

用户属性UAT 表示对在Hadoop 平台中执行操作的用户特征描述,包括用户的身份标识、所属组、名称、安全等级等;环境属性EAT 是对执行操作过程中上下文环境的描述,包括时间、位置等;组件属性CAT 是对组件特征进行了描述,包括组件类型,组件中拥有的数据类型等;数据对象属性OAT 是对数据对象的特征描述,包括数据对象的标识、数据类型、数据拥有者和安全标签等。

2 基于属性的策略

2.1 用户-角色分配策略

文献[6-7]采用了传统RBAC 模型,需要安全管理员根据用户身份手动为其分配角色,从而授权相应的权限。在大数据环境中,数据和用户在不断移动,使得安全管理员无法提前预知所有的用户信息,更无法提前预设用户-角色对应关系,从而难以精确、细粒度对用户授予实际的访问权限。

因此在我们的模型中,利用属性来描述用户,通过定义用户属性和环境属性与角色的映射关系,动态地建立用户-角色隐含关系。这一特点使安全管理员无需知道全部的用户信息就能为用户授权,并且自动分配角色到用户不仅减轻了授权管理负担,还提供了足够的灵活性和动态授权,也为用户安全的匿名访问提供了可能。

定义6 用户-角色分配RA:RA ⊆UAT×EAT×R,表示用户属性、环境属性到角色的映射关系,隐含了用户到角色的对应关系。若∃uat∈UAT,∃eat∈EAT,则有函数:

其中∃r∈R,这里用户属性、环境属性到角色的映射函数assign_role 表示了角色的分配策略。例如管理员定义了用户属性uat::=(department=外科),环境属性为eat::=(access_time=8:00AM~20:00PM)对应的角色为医生,则assign_role(department=外科,access_time=8:00AM~20:00PM)=医生。

2.2 角色-权限分配策略

Hadoop 平台存在多层访问架构,当用户请求访问生态系统中的数据时,首先使用组件授权策略检查是否拥有对数据所在组件的访问权限,该步骤发生在平台应用网关如Apache Knox;若没有权限访问组件直接拒绝访问,否则继续根据数据授权策略检查用户对数据的访问权限;若有权限则通过访问请求,没有就拒绝请求。另外由于平台中数据的大规模和多样性,管理员很难为每种组件类型的数据进行细粒度、灵活的权限管理,导致授权过度或授权不足现象出现,并且授权管理难度较大。

因此,本文提出的ARAC 模型中不再对数据对象本身进行授权,而是根据组件属性或数据对象属性、环境属性和操作定义权限。然后通过定义权限与角色的映射,从而地建立角色-权限的动态关系。

定义7 权限PERMS,表示模型中对组件、数据对象的操作权限集合。这里我们将权限分为两种类型:对组件的访问权限和对数据对象的访问权限,将统一的基于属性的访问策略用于平台中多层访问权限的判定。

定义8 角色-权限分配PA:,表示角色到权限的映射关系。若∃r∈R,则有函数:

这里∃perms∈PERMS,我们使用角色到权限的映射函数assign_perms 定义权限的分配策略。例如管理员为角色医生授予访问权限perms 是对组件属性为cat::=(type=HDFS,Hive)和数据对象属性为oat::=(tag=PII)在环境属性为eat::=(location=医院)下进行的操作op::=(type=读,写,查询,创建,删除)。则权限分配策略为:

assign_perms(r=医生)=(cat::=(type=HDFS,Hive))⋀(oat::=(tag=PII))

⋀(eat::=(location=医院))⋀(op::=(type=读,写,查询,创建,删除))

3 综合分析

为了更加直观、简洁地分析ARAC 模型的优势,本文从以下五个方面进行了分析:

(1)细粒度访问控制。ARAC 模型使用属性来描述访问请求过程中用户、环境、组件和数据对象,可以严格控制访问请求者获得权限的各种条件,并且访问范围可以精确到表、字段级别的数据,满足最小权限原则。

(2)动态授权。ARAC 模型中各种实体属性的定义和设置有很大的灵活性,并支持大规模的动态扩展,可以满足各种应用系统的访问控制需求。

(3)授权复杂程度。ARAC 模型保留了RBAC 模型的优势,使用角色来间接地建立用户和权限之间的关系,避免在用户和数据之间设置很多关系参数,系统管理员只需要设置角色与权限的映射,降低了授权复杂程度。

(4)属性管理复杂度。ARAC 模型使用用户组层次结构来管理用户属性,用户可以通过从所在组及组继承其他组获得用户的属性。管理员无需为每一个用户设置属性,实现了用户属性的简单管理。

(5)大数据平台中多组件数据权限统一管理。结合Hadoop 平台多层访问框架的特点,针对组件属性和数据对象属性授权,统一控制平台中数据的访问权限。

4 结语

本文提出的大数据平台上基于属性的角色访问控制(ARAC)模型。该模型以RBAC 模型框架为基础,使用基于属性的策略分别建立用户-角色关系和角色-权限关系,实现了将角色自动分配给用户,减轻了管理员的工作负担。同时,使用平台中的组件属性和数据对象属性、环境属性定义与角色的分配策略,实现平台中多个组件数据权限统一管理。分析表明ARAC 模型可有效地为大数据平台提供细粒度、管理简单、动态的访问控制。

猜你喜欢

访问控制组件对象
一种跨策略域的林业资源访问控制模型设计
无人机智能巡检在光伏电站组件诊断中的应用
无人机快速巡检光伏电站中异常光伏组件的方法
Kistler全新的Kitimer2.0系统组件:使安全气囊和安全带测试更加可靠和高效
晒晒全国优秀县委书记拟推荐对象
舰载雷达TR组件冲击计算方法分析
云的访问控制研究
攻略对象的心思好难猜
图说车事
云计算访问控制技术研究综述