馬潔
(寶雞職業技術學院 陜西 寶雞 721000)
基于AWS的訪問控制系統設計與實現
馬潔
(寶雞職業技術學院 陜西 寶雞721000)
通過對XACML和Amazon Web Services云計算平臺的研究,確定了時間屬性、用戶屬性、動作屬性等5個屬性需求用以支持針對AWS的基于XACML訪問控制系統的設計,根據AWS可接受的數據類型JSON以及用戶信息采集方法確定了3個基本的系統模塊:用戶信息采集,分屬性用戶信息及XACML訪問控制策略和JSON格式訪問控制策略,最終實現系統設計。
訪問控制;云計算;AWS;XACML;JSON
在云計算中用戶訪問云計算平臺的過程實際上就是主體(云用戶)訪問客體(云計算平臺)的過程。而所有用戶的數據信息均存儲在云計算平臺中,也就是云計算服務提供商處,因此對于如何獲取這些數據信息,也就是對于資源的訪問控制成為了數據安全的重中之重。在云計算中應用基于 XACML(eXtensible Access Control Markup Language,可擴展訪問控制標記語言)的訪問控制可以提供多策略控制途徑,在訪問控制的前期,可以對用戶進行細粒度的訪問控制安全認證;在訪問控制的后續工作中,又可以為整個云計算平臺的數據系統提供高效的管理與保護措施;從而保證用戶的數據信息在云計算平臺中安全有效[1]。
1.1XACML
XACML(eXtensible Access Control Markup Language,可擴展訪問控制標記語言)定義了一種通用的用于保護資源的策略語言和一種訪問控制決策語言,并且與基于屬性的授權機制相結合,可對資源進行細粒度的訪問控制,為建立Web服務的訪問控制模型提供了良好的技術支持,尤其是對于本身訪問控制安全性并不十分出眾的公共云服務。
1.2Amazon Web Services
Amazon Web Services是一組云計算服務,它們允許通過應用程序訪問Amazon的計算基礎設施,從主要功能來劃分屬于基礎設施即服務類 (IaaS)。經過Amazon對于這個平臺的調整與設計,它的泛用性以及易用性已經大大的提高了[2]。Amazon提供的幾個云計算服務基本能夠滿足大多數應用系統的核心需求。它們包括存儲、計算、消息傳遞和數據庫。
云計算平臺的資源擁有者對于其他用戶使用自身資源的訪問控制需求,即對于資源使用者的屬性有哪些需求。按照目前的云計算平臺發展程度、特點以及 Amazon Web Services平臺的自身特點,用戶界面中的屬性可以分為以下5類,如圖1所示。

圖1 基于AWS的訪問控制系統屬性劃分
1)時間屬性
時間屬性是對于云計算平臺的資源擁有者來說很重要的屬性之一,因為要想資源或者應用有較好的用戶體驗,則資源擁有者應當盡量在資源被使用的時候可是實時的監控資源的使用情況。但是用戶的使用習慣各不相同,所以需要對資源使用者的使用時間進行規范,因此需要引入時間屬性[3]。
2)用戶屬性
用戶屬性主要針對個別用戶使用,資源擁有者需要填寫完整的用戶名用以確定用戶權限。系統允許資源擁有者添加用戶屬性。該屬性方法類似基于角色控制的訪問控制方法,只不過在基于屬性的訪問控制中,用戶名也作為用戶的一個屬性值出現。
3)動作屬性
動作屬性主要針對通過了訪問控制的用戶可以對應用進行的動作進行規范。包括三個選項,修改,使用,無(只讀)[4]。這3個屬性鍵值中,修改權限默認有使用及只讀權限,使用權限默認有只讀權限。
4)地點屬性
地點屬性主要針對用戶登錄的IP來判斷用戶登錄地區,從而實現對用戶的登陸地區的訪問控制。該屬性鍵值可選值最小到洲,即可以選擇允許或者禁止某大洲的用戶登錄/使用/修改等。
5)數據流量屬性
數據流量屬性主要針對資源使用者使用的數據流量的多少來控制。資源使用者需要填寫數據限額數,單位為 MB。默認狀態為不限數據流量。
整個訪問控制系統的設計由3個主要部分組成,首先是用戶界面,其允許用戶按照需求分類將自己的需求有選擇的填寫給系統,這部分主要將用戶提供的信息捕捉;
其次是后臺部分的用戶信息與XML文件的信息生成,這部分主要實現將用戶在用戶界面提供的信息生成基于XACML規范的XML策略文件;最后是將XML數據轉換成JSON數據,并將JSON格式的策略文件輸出給用戶[5]。
根據分析得出的用戶需求以及提出的用于訪問控制的屬性,系統被劃分為3個大的模塊。

圖2 AWS的基于XACML訪問控制系統模塊圖
模塊一:主要實現對用戶需求確定的訪問控制屬性的具體信息的采集,通過用戶界面上的下拉表單以及文本框來獲取用戶信息。對應模塊一中的五個次要模塊,又分為五個標簽,每個標簽對應需求中的不同屬性需求。
模塊二:主要實現使用在用戶界面采集到的用戶訪問控制信息生成XACML訪問控制策略。所有的XACML訪問控制策略均根據模塊一中的五個次模塊限定好格式,因此模塊二需要將用戶界面采集的信息填入預存的策略文件中。并保存為XML格式的訪問控制策略文件。
模塊三:主要實現將上一模塊中根據用戶界面采集到的信息生成的 XACML訪問控制策略由 XML格式轉換為Amazon Web Services Management Console可以接受的JSON格式,并最終在指定路徑輸出一個 JSON格式的訪問控制策略文件。
4.1信息搜集與XML格式轉換
根據上文所述的模塊劃分,基于AWS的訪問控制系統的實現也分為了3個模塊,第一個模塊是實現采集用戶對于訪問控制的需求信息。這部分主要使用java swing控件實現用戶界面,并將用戶界面采集的信息存儲,用以提交給模塊二使用。
模塊二主要需要對用戶界面中用戶提供的訪問控制信息進行采集,調用 getText()方法以及 getSelectedItem()方法對文本框以及下拉列表中用戶信息的采集。并將數據傳遞給按照標準XACML格式編輯好的訪問控制策略文檔,從而在指定目錄生成XML格式的訪問控制策略文件。
模塊三主要實現了將模塊二中根據用戶界面采集的信息生成的XACML訪問控制策略文件由XML格式轉換為Amazon Web Services Management Console可以接受的JSON格式,首先先從XML文檔中解析出服務器需要接收到的信息,其主要功能由ToJsonSAXHandler類實現,ToJsonSAXHandler類繼承了 DefaultHandler類,在解析XML的過程中負責處理SAX事件[6]。收集到了XML文件中的信息后,則需要將這些信息轉換為JSON格式。并且最終生成并輸出JSON格式的訪問控制策略文件。通過采用Java其具體的實現部分關鍵代碼則如圖3所示。
這樣就可以生成JSON格式的基于XACML規范的訪問控制策略,從而應用到資源擁有者對于組授權的 IAM步驟中,從而完成了從用戶填寫屬性鍵值到授權的過程,實現了之前設計的訪問控制系統。
4.2基于XACML的訪問控制策略創建
通過對PAP策略管理單元的創建,并為PDP部署策略。而其具體的部署流程則如圖4所示。
而在創建中,需要對目標主體和目標課題進行分別的創建,以目標主體為例,對其進行的創建中需要定義其不同的屬性、匹配函數、屬性名,其具體的代碼在為:



圖3 XML格式與JSON格式轉換

圖4 訪問控制策略流程創建
同時由于在該訪問控制中其包含多個不同屬性,因此,在對系統進行設計過程中,需要將不同的屬性交付給生成的Target的構造函數,從而組成成不同的策略目標。其具體的實現代碼為:

文中首先對用戶需求進行了分析,確定了基于屬性的訪問控制策略需要使用的屬性類型以及定義,并基于時間屬性、用戶屬性、動作屬性、地點屬性、流量屬性等共5個屬性的分類以及用戶信息采集、XACML訪問控制策略文件的生成與XML至JSON格式的轉換3個大的流程來對訪問控制系統進行模塊劃分,從而更好地實現訪問控制系統的設計。
[1]陳濤.云計算理論及技術研究[J].重慶交通大學學報,2009,9(4):101-106.
[2]姚學禮.基于內容過濾垃圾綜述[J].計算機工程與應用,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].計算機應用技術,2014,5(1):25-26.
[5]丁岳偉,高騰.多系統啟動引導的研究[J].計算機工程與設計,2009,30(19):4549-4551.
[6]王修君,沈鴻.一種基于增量學習型矢量量化的有效文本分類算法[J].計算機學報,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稿件編號:201505108
馬潔(1980—),女,陜西寶雞人,碩士,講師。研究方向:計算機應用技術。