馬潔
(寶雞職業(yè)技術(shù)學(xué)院 陜西 寶雞 721000)
基于AWS的訪問(wèn)控制系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)
馬潔
(寶雞職業(yè)技術(shù)學(xué)院 陜西 寶雞721000)
通過(guò)對(duì)XACML和Amazon Web Services云計(jì)算平臺(tái)的研究,確定了時(shí)間屬性、用戶(hù)屬性、動(dòng)作屬性等5個(gè)屬性需求用以支持針對(duì)AWS的基于XACML訪問(wèn)控制系統(tǒng)的設(shè)計(jì),根據(jù)AWS可接受的數(shù)據(jù)類(lèi)型JSON以及用戶(hù)信息采集方法確定了3個(gè)基本的系統(tǒng)模塊:用戶(hù)信息采集,分屬性用戶(hù)信息及XACML訪問(wèn)控制策略和JSON格式訪問(wèn)控制策略,最終實(shí)現(xiàn)系統(tǒng)設(shè)計(jì)。
訪問(wèn)控制;云計(jì)算;AWS;XACML;JSON
在云計(jì)算中用戶(hù)訪問(wèn)云計(jì)算平臺(tái)的過(guò)程實(shí)際上就是主體(云用戶(hù))訪問(wèn)客體(云計(jì)算平臺(tái))的過(guò)程。而所有用戶(hù)的數(shù)據(jù)信息均存儲(chǔ)在云計(jì)算平臺(tái)中,也就是云計(jì)算服務(wù)提供商處,因此對(duì)于如何獲取這些數(shù)據(jù)信息,也就是對(duì)于資源的訪問(wèn)控制成為了數(shù)據(jù)安全的重中之重。在云計(jì)算中應(yīng)用基于 XACML(eXtensible Access Control Markup Language,可擴(kuò)展訪問(wèn)控制標(biāo)記語(yǔ)言)的訪問(wèn)控制可以提供多策略控制途徑,在訪問(wèn)控制的前期,可以對(duì)用戶(hù)進(jìn)行細(xì)粒度的訪問(wèn)控制安全認(rèn)證;在訪問(wèn)控制的后續(xù)工作中,又可以為整個(gè)云計(jì)算平臺(tái)的數(shù)據(jù)系統(tǒng)提供高效的管理與保護(hù)措施;從而保證用戶(hù)的數(shù)據(jù)信息在云計(jì)算平臺(tái)中安全有效[1]。
1.1XACML
XACML(eXtensible Access Control Markup Language,可擴(kuò)展訪問(wèn)控制標(biāo)記語(yǔ)言)定義了一種通用的用于保護(hù)資源的策略語(yǔ)言和一種訪問(wèn)控制決策語(yǔ)言,并且與基于屬性的授權(quán)機(jī)制相結(jié)合,可對(duì)資源進(jìn)行細(xì)粒度的訪問(wèn)控制,為建立Web服務(wù)的訪問(wèn)控制模型提供了良好的技術(shù)支持,尤其是對(duì)于本身訪問(wèn)控制安全性并不十分出眾的公共云服務(wù)。
1.2Amazon Web Services
Amazon Web Services是一組云計(jì)算服務(wù),它們?cè)试S通過(guò)應(yīng)用程序訪問(wèn)Amazon的計(jì)算基礎(chǔ)設(shè)施,從主要功能來(lái)劃分屬于基礎(chǔ)設(shè)施即服務(wù)類(lèi) (IaaS)。經(jīng)過(guò)Amazon對(duì)于這個(gè)平臺(tái)的調(diào)整與設(shè)計(jì),它的泛用性以及易用性已經(jīng)大大的提高了[2]。Amazon提供的幾個(gè)云計(jì)算服務(wù)基本能夠滿(mǎn)足大多數(shù)應(yīng)用系統(tǒng)的核心需求。它們包括存儲(chǔ)、計(jì)算、消息傳遞和數(shù)據(jù)庫(kù)。
云計(jì)算平臺(tái)的資源擁有者對(duì)于其他用戶(hù)使用自身資源的訪問(wèn)控制需求,即對(duì)于資源使用者的屬性有哪些需求。按照目前的云計(jì)算平臺(tái)發(fā)展程度、特點(diǎn)以及 Amazon Web Services平臺(tái)的自身特點(diǎn),用戶(hù)界面中的屬性可以分為以下5類(lèi),如圖1所示。
圖1 基于AWS的訪問(wèn)控制系統(tǒng)屬性劃分
1)時(shí)間屬性
時(shí)間屬性是對(duì)于云計(jì)算平臺(tái)的資源擁有者來(lái)說(shuō)很重要的屬性之一,因?yàn)橐胭Y源或者應(yīng)用有較好的用戶(hù)體驗(yàn),則資源擁有者應(yīng)當(dāng)盡量在資源被使用的時(shí)候可是實(shí)時(shí)的監(jiān)控資源的使用情況。但是用戶(hù)的使用習(xí)慣各不相同,所以需要對(duì)資源使用者的使用時(shí)間進(jìn)行規(guī)范,因此需要引入時(shí)間屬性[3]。
2)用戶(hù)屬性
用戶(hù)屬性主要針對(duì)個(gè)別用戶(hù)使用,資源擁有者需要填寫(xiě)完整的用戶(hù)名用以確定用戶(hù)權(quán)限。系統(tǒng)允許資源擁有者添加用戶(hù)屬性。該屬性方法類(lèi)似基于角色控制的訪問(wèn)控制方法,只不過(guò)在基于屬性的訪問(wèn)控制中,用戶(hù)名也作為用戶(hù)的一個(gè)屬性值出現(xiàn)。
3)動(dòng)作屬性
動(dòng)作屬性主要針對(duì)通過(guò)了訪問(wèn)控制的用戶(hù)可以對(duì)應(yīng)用進(jìn)行的動(dòng)作進(jìn)行規(guī)范。包括三個(gè)選項(xiàng),修改,使用,無(wú)(只讀)[4]。這3個(gè)屬性鍵值中,修改權(quán)限默認(rèn)有使用及只讀權(quán)限,使用權(quán)限默認(rèn)有只讀權(quán)限。
4)地點(diǎn)屬性
地點(diǎn)屬性主要針對(duì)用戶(hù)登錄的IP來(lái)判斷用戶(hù)登錄地區(qū),從而實(shí)現(xiàn)對(duì)用戶(hù)的登陸地區(qū)的訪問(wèn)控制。該屬性鍵值可選值最小到洲,即可以選擇允許或者禁止某大洲的用戶(hù)登錄/使用/修改等。
5)數(shù)據(jù)流量屬性
數(shù)據(jù)流量屬性主要針對(duì)資源使用者使用的數(shù)據(jù)流量的多少來(lái)控制。資源使用者需要填寫(xiě)數(shù)據(jù)限額數(shù),單位為 MB。默認(rèn)狀態(tài)為不限數(shù)據(jù)流量。
整個(gè)訪問(wèn)控制系統(tǒng)的設(shè)計(jì)由3個(gè)主要部分組成,首先是用戶(hù)界面,其允許用戶(hù)按照需求分類(lèi)將自己的需求有選擇的填寫(xiě)給系統(tǒng),這部分主要將用戶(hù)提供的信息捕捉;
其次是后臺(tái)部分的用戶(hù)信息與XML文件的信息生成,這部分主要實(shí)現(xiàn)將用戶(hù)在用戶(hù)界面提供的信息生成基于XACML規(guī)范的XML策略文件;最后是將XML數(shù)據(jù)轉(zhuǎn)換成JSON數(shù)據(jù),并將JSON格式的策略文件輸出給用戶(hù)[5]。
根據(jù)分析得出的用戶(hù)需求以及提出的用于訪問(wèn)控制的屬性,系統(tǒng)被劃分為3個(gè)大的模塊。
圖2 AWS的基于XACML訪問(wèn)控制系統(tǒng)模塊圖
模塊一:主要實(shí)現(xiàn)對(duì)用戶(hù)需求確定的訪問(wèn)控制屬性的具體信息的采集,通過(guò)用戶(hù)界面上的下拉表單以及文本框來(lái)獲取用戶(hù)信息。對(duì)應(yīng)模塊一中的五個(gè)次要模塊,又分為五個(gè)標(biāo)簽,每個(gè)標(biāo)簽對(duì)應(yīng)需求中的不同屬性需求。
模塊二:主要實(shí)現(xiàn)使用在用戶(hù)界面采集到的用戶(hù)訪問(wèn)控制信息生成XACML訪問(wèn)控制策略。所有的XACML訪問(wèn)控制策略均根據(jù)模塊一中的五個(gè)次模塊限定好格式,因此模塊二需要將用戶(hù)界面采集的信息填入預(yù)存的策略文件中。并保存為XML格式的訪問(wèn)控制策略文件。
模塊三:主要實(shí)現(xiàn)將上一模塊中根據(jù)用戶(hù)界面采集到的信息生成的 XACML訪問(wèn)控制策略由 XML格式轉(zhuǎn)換為Amazon Web Services Management Console可以接受的JSON格式,并最終在指定路徑輸出一個(gè) JSON格式的訪問(wèn)控制策略文件。
4.1信息搜集與XML格式轉(zhuǎn)換
根據(jù)上文所述的模塊劃分,基于AWS的訪問(wèn)控制系統(tǒng)的實(shí)現(xiàn)也分為了3個(gè)模塊,第一個(gè)模塊是實(shí)現(xiàn)采集用戶(hù)對(duì)于訪問(wèn)控制的需求信息。這部分主要使用java swing控件實(shí)現(xiàn)用戶(hù)界面,并將用戶(hù)界面采集的信息存儲(chǔ),用以提交給模塊二使用。
模塊二主要需要對(duì)用戶(hù)界面中用戶(hù)提供的訪問(wèn)控制信息進(jìn)行采集,調(diào)用 getText()方法以及 getSelectedItem()方法對(duì)文本框以及下拉列表中用戶(hù)信息的采集。并將數(shù)據(jù)傳遞給按照標(biāo)準(zhǔn)XACML格式編輯好的訪問(wèn)控制策略文檔,從而在指定目錄生成XML格式的訪問(wèn)控制策略文件。
模塊三主要實(shí)現(xiàn)了將模塊二中根據(jù)用戶(hù)界面采集的信息生成的XACML訪問(wèn)控制策略文件由XML格式轉(zhuǎn)換為Amazon Web Services Management Console可以接受的JSON格式,首先先從XML文檔中解析出服務(wù)器需要接收到的信息,其主要功能由ToJsonSAXHandler類(lèi)實(shí)現(xiàn),ToJsonSAXHandler類(lèi)繼承了 DefaultHandler類(lèi),在解析XML的過(guò)程中負(fù)責(zé)處理SAX事件[6]。收集到了XML文件中的信息后,則需要將這些信息轉(zhuǎn)換為JSON格式。并且最終生成并輸出JSON格式的訪問(wèn)控制策略文件。通過(guò)采用Java其具體的實(shí)現(xiàn)部分關(guān)鍵代碼則如圖3所示。
這樣就可以生成JSON格式的基于XACML規(guī)范的訪問(wèn)控制策略,從而應(yīng)用到資源擁有者對(duì)于組授權(quán)的 IAM步驟中,從而完成了從用戶(hù)填寫(xiě)屬性鍵值到授權(quán)的過(guò)程,實(shí)現(xiàn)了之前設(shè)計(jì)的訪問(wèn)控制系統(tǒng)。
4.2基于XACML的訪問(wèn)控制策略創(chuàng)建
通過(guò)對(duì)PAP策略管理單元的創(chuàng)建,并為PDP部署策略。而其具體的部署流程則如圖4所示。
而在創(chuàng)建中,需要對(duì)目標(biāo)主體和目標(biāo)課題進(jìn)行分別的創(chuàng)建,以目標(biāo)主體為例,對(duì)其進(jìn)行的創(chuàng)建中需要定義其不同的屬性、匹配函數(shù)、屬性名,其具體的代碼在為:
圖3 XML格式與JSON格式轉(zhuǎn)換
圖4 訪問(wèn)控制策略流程創(chuàng)建
同時(shí)由于在該訪問(wèn)控制中其包含多個(gè)不同屬性,因此,在對(duì)系統(tǒng)進(jìn)行設(shè)計(jì)過(guò)程中,需要將不同的屬性交付給生成的Target的構(gòu)造函數(shù),從而組成成不同的策略目標(biāo)。其具體的實(shí)現(xiàn)代碼為:
文中首先對(duì)用戶(hù)需求進(jìn)行了分析,確定了基于屬性的訪問(wèn)控制策略需要使用的屬性類(lèi)型以及定義,并基于時(shí)間屬性、用戶(hù)屬性、動(dòng)作屬性、地點(diǎn)屬性、流量屬性等共5個(gè)屬性的分類(lèi)以及用戶(hù)信息采集、XACML訪問(wèn)控制策略文件的生成與XML至JSON格式的轉(zhuǎn)換3個(gè)大的流程來(lái)對(duì)訪問(wèn)控制系統(tǒng)進(jìn)行模塊劃分,從而更好地實(shí)現(xiàn)訪問(wèn)控制系統(tǒng)的設(shè)計(jì)。
[1]陳濤.云計(jì)算理論及技術(shù)研究[J].重慶交通大學(xué)學(xué)報(bào),2009,9(4):101-106.
[2]姚學(xué)禮.基于內(nèi)容過(guò)濾垃圾綜述[J].計(jì)算機(jī)工程與應(yīng)用,2010,12(23):34-39.
[3]ZHANG Deng-ke,WANG Xing-wei,YI Xiu-shuang.A spam sample feature selection mechanism improved by optimization algorithm[J].Journal of Northeastern University,2011,32(1):190-193.
[4]田明.云計(jì)算環(huán)境下的訪問(wèn)控制技術(shù)研究[J].計(jì)算機(jī)應(yīng)用技術(shù),2014,5(1):25-26.
[5]丁岳偉,高騰.多系統(tǒng)啟動(dòng)引導(dǎo)的研究[J].計(jì)算機(jī)工程與設(shè)計(jì),2009,30(19):4549-4551.
[6]王修君,沈鴻.一種基于增量學(xué)習(xí)型矢量量化的有效文本分類(lèi)算法[J].計(jì)算機(jī)學(xué)報(bào),2007,30(8):1277-1285.
Design and implementation access control system based on the AWS
MA Jie
(Baoji Professional Technology Institute,Baoji 721000,China)
This paper studied the XACML and Amazon Web Services cloud computing platform,identified the five properties such as time property、user property,action property requirements to support for the AWS based on XACML access control system design.Based on the data type of the AWS acceptable JSON,user information acquisition method to determine the system module:Collecting user information,user Information and divide attribute of XACML access control and JSON access control strategy,finally designed the system.
access control;cloud computing;AWS;XACML;JSON
TN99
A
1674-6236(2016)06-0182-03
2015-05-13稿件編號(hào):201505108
馬潔(1980—),女,陜西寶雞人,碩士,講師。研究方向:計(jì)算機(jī)應(yīng)用技術(shù)。