国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

大數(shù)據(jù)平臺(tái)上基于屬性的角色訪問(wèn)控制模型

2019-03-05 01:37蘇秋月
現(xiàn)代計(jì)算機(jī) 2019年3期
關(guān)鍵詞:訪問(wèn)控制組件對(duì)象

蘇秋月

(四川大學(xué)計(jì)算機(jī)學(xué)院,成都610065)

0 引言

大數(shù)據(jù)時(shí)代下,隨著政府、企業(yè)的信息系統(tǒng)越來(lái)越多,系統(tǒng)之間的資源共享與業(yè)務(wù)協(xié)同的需求越來(lái)越迫切。而大數(shù)據(jù)平臺(tái)可以幫助政府和企業(yè)打破部門(mén)間的數(shù)據(jù)孤島,支持多源異構(gòu)數(shù)據(jù)源的集成,支持跨行業(yè)、跨部門(mén)、跨平臺(tái)的數(shù)據(jù)共享與交換[1]。但平臺(tái)上數(shù)據(jù)安全問(wèn)題也隨之而來(lái),如何保證數(shù)據(jù)不被未授權(quán)訪問(wèn)是數(shù)據(jù)使用過(guò)程中必須解決的問(wèn)題。

學(xué)者Gupta 等人[2-3]總結(jié)開(kāi)源項(xiàng)目Apache Ranger、Sentry 以及Hadoop 原生基于訪問(wèn)控制列表(Access Control List,ACL)這三種訪問(wèn)控制機(jī)制的特點(diǎn),提出了Hadoop 生態(tài)系統(tǒng)的多層授權(quán)框架和Hadoop 生態(tài)系統(tǒng)授權(quán)(HeAC)模型。陳垚坤等人[4]將基于屬性的訪問(wèn)控制(Attribute-Based Access Control,ABAC)模型應(yīng)用到Hadoop 平臺(tái)中,提供了細(xì)粒度、靈活的訪問(wèn)控制。但是當(dāng)平臺(tái)中存在大量的屬性時(shí),屬性管理難度增大,并且訪問(wèn)控制策略由多個(gè)實(shí)體屬性組成的集合,訪問(wèn)權(quán)限判定過(guò)程也較為復(fù)雜。最近,Gupta 等人[5]在Hadoop 生態(tài)系統(tǒng)中討論了角色與屬性結(jié)合的方法,將對(duì)象標(biāo)簽作為對(duì)象屬性添加到RBAC 模型中,提出基于對(duì)象標(biāo)簽的角色訪問(wèn)控制(OT-RBAC)模型。但文中只增加了對(duì)象屬性,未考慮主體屬性、環(huán)境屬性等上下文環(huán)境對(duì)訪問(wèn)授權(quán)的影響。

綜上,本文提出了大數(shù)據(jù)平臺(tái)上基于屬性的角色訪問(wèn)控制(Attribute-based Role Access Control,ARAC)模型。該模型將基于屬性的策略應(yīng)用到RBAC 模型中,根據(jù)用戶屬性和環(huán)境屬性來(lái)確定用戶可分配的角色,自動(dòng)地建立用戶-角色的分配關(guān)系;同樣,屬性策略也用于建立角色-權(quán)限的映射關(guān)系,其中考慮到Hadoop 平臺(tái)多層訪問(wèn)架構(gòu)的特點(diǎn),在策略中加入了組件屬性和數(shù)據(jù)對(duì)象屬性,而不是只根據(jù)數(shù)據(jù)本身作為授權(quán)對(duì)象,實(shí)現(xiàn)對(duì)平臺(tái)中數(shù)據(jù)靈活、統(tǒng)一的權(quán)限管理。最后我們?cè)贖adoop 平臺(tái)上實(shí)現(xiàn)了ARAC 模型,并進(jìn)行了實(shí)驗(yàn)分析,結(jié)果表明該模型在性能損失較小的情況下,為大數(shù)據(jù)平臺(tái)了提供細(xì)粒度、靈活的訪問(wèn)控制。

1 ARAC模型

本文提出的大數(shù)據(jù)平臺(tái)上基于屬性的角色訪問(wèn)控制(ARAC)模型如圖1 所示。ARAC 模型中包括的實(shí)體有:用戶U、用戶組G、角色R、組件C、數(shù)據(jù)對(duì)象O、操作OP。

其中用戶U 是與計(jì)算機(jī)交互以訪問(wèn)Hadoop 生態(tài)系統(tǒng)組件和數(shù)據(jù)對(duì)象的人。用戶組G 是具有相同屬性和權(quán)限的用戶集合。組件C 是指Hadoop 平臺(tái)中的組件,例如HDFS、YARN、Hive、HBase、Storm、Kafka、Atlas等。數(shù)據(jù)對(duì)象O 是組件中包含的不同類型的資源,例如HDFS 中的資源路徑(path),Hive 中的數(shù)據(jù)庫(kù)(database)、表(table),YARN 中的隊(duì)列(queue)等。由于Hadoop 平臺(tái)中多層訪問(wèn)框架的特點(diǎn),用戶在對(duì)數(shù)據(jù)對(duì)象進(jìn)行操作之前,先要有訪問(wèn)組件的權(quán)限,即只有同時(shí)擁有組件和數(shù)據(jù)對(duì)象的訪問(wèn)權(quán)限才能對(duì)數(shù)據(jù)對(duì)象實(shí)施操作。操作OP 是指對(duì)不同的數(shù)據(jù)對(duì)象執(zhí)行不同的訪問(wèn)行為,如對(duì)HDFS 文件或目錄進(jìn)行讀、寫(xiě)、執(zhí)行操作,而對(duì)Hive 中數(shù)據(jù)庫(kù)、表進(jìn)行創(chuàng)建、查詢、刪除等操作。除了實(shí)體之外,模型中還包含了一些屬性。下面會(huì)對(duì)屬性相關(guān)的概念進(jìn)行形式化的定義,具體如定義1 所示。

圖1 ARAC模型

定義1 屬性:屬性是對(duì)實(shí)體的具體描述,記為AT::=(Attribute_name op attribute_value)。其中attribute_name 是指屬性名稱;op 指屬性運(yùn)算符,包括<,=,>,≤,≠,≥等;attribute_value 指屬性的取值,可由有限的原子值或集合值來(lái)表示。其中AT?(UAT∪EAT∪CAT∪OAT),表示不同類型屬性集合的子集;entity 表示實(shí)體類型,包括用戶U、環(huán)境E、組件C、對(duì)象O;Range(at)表示屬性的范圍,是一個(gè)原子值的有限枚舉集。

用戶屬性UAT 表示對(duì)在Hadoop 平臺(tái)中執(zhí)行操作的用戶特征描述,包括用戶的身份標(biāo)識(shí)、所屬組、名稱、安全等級(jí)等;環(huán)境屬性EAT 是對(duì)執(zhí)行操作過(guò)程中上下文環(huán)境的描述,包括時(shí)間、位置等;組件屬性CAT 是對(duì)組件特征進(jìn)行了描述,包括組件類型,組件中擁有的數(shù)據(jù)類型等;數(shù)據(jù)對(duì)象屬性O(shè)AT 是對(duì)數(shù)據(jù)對(duì)象的特征描述,包括數(shù)據(jù)對(duì)象的標(biāo)識(shí)、數(shù)據(jù)類型、數(shù)據(jù)擁有者和安全標(biāo)簽等。

2 基于屬性的策略

2.1 用戶-角色分配策略

文獻(xiàn)[6-7]采用了傳統(tǒng)RBAC 模型,需要安全管理員根據(jù)用戶身份手動(dòng)為其分配角色,從而授權(quán)相應(yīng)的權(quán)限。在大數(shù)據(jù)環(huán)境中,數(shù)據(jù)和用戶在不斷移動(dòng),使得安全管理員無(wú)法提前預(yù)知所有的用戶信息,更無(wú)法提前預(yù)設(shè)用戶-角色對(duì)應(yīng)關(guān)系,從而難以精確、細(xì)粒度對(duì)用戶授予實(shí)際的訪問(wèn)權(quán)限。

因此在我們的模型中,利用屬性來(lái)描述用戶,通過(guò)定義用戶屬性和環(huán)境屬性與角色的映射關(guān)系,動(dòng)態(tài)地建立用戶-角色隱含關(guān)系。這一特點(diǎn)使安全管理員無(wú)需知道全部的用戶信息就能為用戶授權(quán),并且自動(dòng)分配角色到用戶不僅減輕了授權(quán)管理負(fù)擔(dān),還提供了足夠的靈活性和動(dòng)態(tài)授權(quán),也為用戶安全的匿名訪問(wèn)提供了可能。

定義6 用戶-角色分配RA:RA ?UAT×EAT×R,表示用戶屬性、環(huán)境屬性到角色的映射關(guān)系,隱含了用戶到角色的對(duì)應(yīng)關(guān)系。若?uat∈UAT,?eat∈EAT,則有函數(shù):

其中?r∈R,這里用戶屬性、環(huán)境屬性到角色的映射函數(shù)assign_role 表示了角色的分配策略。例如管理員定義了用戶屬性u(píng)at::=(department=外科),環(huán)境屬性為eat::=(access_time=8:00AM~20:00PM)對(duì)應(yīng)的角色為醫(yī)生,則assign_role(department=外科,access_time=8:00AM~20:00PM)=醫(yī)生。

2.2 角色-權(quán)限分配策略

Hadoop 平臺(tái)存在多層訪問(wèn)架構(gòu),當(dāng)用戶請(qǐng)求訪問(wèn)生態(tài)系統(tǒng)中的數(shù)據(jù)時(shí),首先使用組件授權(quán)策略檢查是否擁有對(duì)數(shù)據(jù)所在組件的訪問(wèn)權(quán)限,該步驟發(fā)生在平臺(tái)應(yīng)用網(wǎng)關(guān)如Apache Knox;若沒(méi)有權(quán)限訪問(wèn)組件直接拒絕訪問(wèn),否則繼續(xù)根據(jù)數(shù)據(jù)授權(quán)策略檢查用戶對(duì)數(shù)據(jù)的訪問(wèn)權(quán)限;若有權(quán)限則通過(guò)訪問(wèn)請(qǐng)求,沒(méi)有就拒絕請(qǐng)求。另外由于平臺(tái)中數(shù)據(jù)的大規(guī)模和多樣性,管理員很難為每種組件類型的數(shù)據(jù)進(jìn)行細(xì)粒度、靈活的權(quán)限管理,導(dǎo)致授權(quán)過(guò)度或授權(quán)不足現(xiàn)象出現(xiàn),并且授權(quán)管理難度較大。

因此,本文提出的ARAC 模型中不再對(duì)數(shù)據(jù)對(duì)象本身進(jìn)行授權(quán),而是根據(jù)組件屬性或數(shù)據(jù)對(duì)象屬性、環(huán)境屬性和操作定義權(quán)限。然后通過(guò)定義權(quán)限與角色的映射,從而地建立角色-權(quán)限的動(dòng)態(tài)關(guān)系。

定義7 權(quán)限PERMS,表示模型中對(duì)組件、數(shù)據(jù)對(duì)象的操作權(quán)限集合。這里我們將權(quán)限分為兩種類型:對(duì)組件的訪問(wèn)權(quán)限和對(duì)數(shù)據(jù)對(duì)象的訪問(wèn)權(quán)限,將統(tǒng)一的基于屬性的訪問(wèn)策略用于平臺(tái)中多層訪問(wèn)權(quán)限的判定。

定義8 角色-權(quán)限分配PA:,表示角色到權(quán)限的映射關(guān)系。若?r∈R,則有函數(shù):

這里?perms∈PERMS,我們使用角色到權(quán)限的映射函數(shù)assign_perms 定義權(quán)限的分配策略。例如管理員為角色醫(yī)生授予訪問(wèn)權(quán)限perms 是對(duì)組件屬性為cat::=(type=HDFS,Hive)和數(shù)據(jù)對(duì)象屬性為oat::=(tag=PII)在環(huán)境屬性為eat::=(location=醫(yī)院)下進(jìn)行的操作op::=(type=讀,寫(xiě),查詢,創(chuàng)建,刪除)。則權(quán)限分配策略為:

assign_perms(r=醫(yī)生)=(cat::=(type=HDFS,Hive))?(oat::=(tag=PII))

?(eat::=(location=醫(yī)院))?(op::=(type=讀,寫(xiě),查詢,創(chuàng)建,刪除))

3 綜合分析

為了更加直觀、簡(jiǎn)潔地分析ARAC 模型的優(yōu)勢(shì),本文從以下五個(gè)方面進(jìn)行了分析:

(1)細(xì)粒度訪問(wèn)控制。ARAC 模型使用屬性來(lái)描述訪問(wèn)請(qǐng)求過(guò)程中用戶、環(huán)境、組件和數(shù)據(jù)對(duì)象,可以嚴(yán)格控制訪問(wèn)請(qǐng)求者獲得權(quán)限的各種條件,并且訪問(wèn)范圍可以精確到表、字段級(jí)別的數(shù)據(jù),滿足最小權(quán)限原則。

(2)動(dòng)態(tài)授權(quán)。ARAC 模型中各種實(shí)體屬性的定義和設(shè)置有很大的靈活性,并支持大規(guī)模的動(dòng)態(tài)擴(kuò)展,可以滿足各種應(yīng)用系統(tǒng)的訪問(wèn)控制需求。

(3)授權(quán)復(fù)雜程度。ARAC 模型保留了RBAC 模型的優(yōu)勢(shì),使用角色來(lái)間接地建立用戶和權(quán)限之間的關(guān)系,避免在用戶和數(shù)據(jù)之間設(shè)置很多關(guān)系參數(shù),系統(tǒng)管理員只需要設(shè)置角色與權(quán)限的映射,降低了授權(quán)復(fù)雜程度。

(4)屬性管理復(fù)雜度。ARAC 模型使用用戶組層次結(jié)構(gòu)來(lái)管理用戶屬性,用戶可以通過(guò)從所在組及組繼承其他組獲得用戶的屬性。管理員無(wú)需為每一個(gè)用戶設(shè)置屬性,實(shí)現(xiàn)了用戶屬性的簡(jiǎn)單管理。

(5)大數(shù)據(jù)平臺(tái)中多組件數(shù)據(jù)權(quán)限統(tǒng)一管理。結(jié)合Hadoop 平臺(tái)多層訪問(wèn)框架的特點(diǎn),針對(duì)組件屬性和數(shù)據(jù)對(duì)象屬性授權(quán),統(tǒng)一控制平臺(tái)中數(shù)據(jù)的訪問(wèn)權(quán)限。

4 結(jié)語(yǔ)

本文提出的大數(shù)據(jù)平臺(tái)上基于屬性的角色訪問(wèn)控制(ARAC)模型。該模型以RBAC 模型框架為基礎(chǔ),使用基于屬性的策略分別建立用戶-角色關(guān)系和角色-權(quán)限關(guān)系,實(shí)現(xiàn)了將角色自動(dòng)分配給用戶,減輕了管理員的工作負(fù)擔(dān)。同時(shí),使用平臺(tái)中的組件屬性和數(shù)據(jù)對(duì)象屬性、環(huán)境屬性定義與角色的分配策略,實(shí)現(xiàn)平臺(tái)中多個(gè)組件數(shù)據(jù)權(quán)限統(tǒng)一管理。分析表明ARAC 模型可有效地為大數(shù)據(jù)平臺(tái)提供細(xì)粒度、管理簡(jiǎn)單、動(dòng)態(tài)的訪問(wèn)控制。

猜你喜歡
訪問(wèn)控制組件對(duì)象
一種跨策略域的林業(yè)資源訪問(wèn)控制模型設(shè)計(jì)
無(wú)人機(jī)智能巡檢在光伏電站組件診斷中的應(yīng)用
無(wú)人機(jī)快速巡檢光伏電站中異常光伏組件的方法
Kistler全新的Kitimer2.0系統(tǒng)組件:使安全氣囊和安全帶測(cè)試更加可靠和高效
曬曬全國(guó)優(yōu)秀縣委書(shū)記擬推薦對(duì)象
艦載雷達(dá)TR組件沖擊計(jì)算方法分析
云的訪問(wèn)控制研究
攻略對(duì)象的心思好難猜
圖說(shuō)車(chē)事
云計(jì)算訪問(wèn)控制技術(shù)研究綜述
昌江| 永兴县| 高邮市| 宁德市| 廊坊市| 合川市| 梁河县| 休宁县| 商洛市| 鄱阳县| 石阡县| 博乐市| 浮梁县| 竹溪县| 玛沁县| 克拉玛依市| 淮阳县| 栾城县| 垣曲县| 房产| 深泽县| 奎屯市| 丰都县| 平度市| 同江市| 灵石县| 沾益县| 清丰县| 泰宁县| 徐汇区| 丹凤县| 霍邱县| 志丹县| 安国市| 凉城县| 中方县| 丹凤县| 喀喇| 班戈县| 南木林县| 平安县|