摘? 要: 對(duì)數(shù)據(jù)倉庫安全模型進(jìn)行了分析,討論了現(xiàn)有的數(shù)據(jù)倉庫安全模型,并對(duì)數(shù)據(jù)倉庫安全模型的發(fā)展方向進(jìn)行了展望。
關(guān)鍵詞: 數(shù)據(jù)倉庫? 數(shù)據(jù)倉庫安全? 安全模型
?
數(shù)據(jù)倉庫是在以事務(wù)處理為主要任務(wù)的數(shù)據(jù)庫基礎(chǔ)上發(fā)展起來的,但是它與數(shù)據(jù)庫有著根本的不同。數(shù)據(jù)倉庫的主要特征是面向主題的、集成的、與時(shí)間相關(guān)的、不可修改的數(shù)據(jù)集合[1]。數(shù)據(jù)倉庫是一種決策支持系統(tǒng),它主要是對(duì)企業(yè)決策提供強(qiáng)有力的支持,因此它的安全性更加重要。因?yàn)閿?shù)據(jù)倉庫中數(shù)據(jù)的丟失將損害企業(yè)的決策,所以數(shù)據(jù)倉庫的安全性相對(duì)于數(shù)據(jù)庫來說更為重要。
近幾年來,雖然對(duì)數(shù)據(jù)倉庫的研究較多,但是控制對(duì)數(shù)據(jù)倉庫的訪問卻是一個(gè)正在發(fā)展的技術(shù)領(lǐng)域,對(duì)數(shù)據(jù)倉庫的安全控制方面的研究仍舊涉及很少。對(duì)數(shù)據(jù)倉庫的安全控制和對(duì)于傳統(tǒng)的操作型數(shù)據(jù)庫的安全控制是不同的。數(shù)據(jù)倉庫的控制有著更高的復(fù)雜性,原因主要在于數(shù)據(jù)倉庫的建立目的與限制對(duì)數(shù)據(jù)的訪問是矛盾的;數(shù)據(jù)倉庫中存在著不同粒度的數(shù)據(jù);數(shù)據(jù)倉庫中的數(shù)據(jù)是以多維的方式存在的。這些因素決定了數(shù)據(jù)倉庫安全的研究是一個(gè)復(fù)雜的領(lǐng)域。目前對(duì)于數(shù)據(jù)倉庫安全性的研究還比較少,國內(nèi)還處于起步階段,但是它卻有著極其重要的現(xiàn)實(shí)意義。本文主要是通過對(duì)幾個(gè)數(shù)據(jù)倉庫安全模型的研究,對(duì)數(shù)據(jù)倉庫安全性目前研究的主要內(nèi)容、現(xiàn)狀和發(fā)展趨勢進(jìn)行了分析,并給出了一些模型的應(yīng)用實(shí)例。
1? 數(shù)據(jù)倉庫安全模型
一個(gè)好的安全模型是數(shù)據(jù)倉庫安全性的重要保障。現(xiàn)存的許多數(shù)據(jù)倉庫在設(shè)計(jì)階段都沒有能夠很好地在數(shù)據(jù)倉庫的安全方面進(jìn)行很好的設(shè)計(jì),這使得在數(shù)據(jù)倉庫建成之后再添加關(guān)于安全方面的設(shè)計(jì)時(shí)成本大增,而且在數(shù)據(jù)倉庫建成之后再實(shí)施安全策略時(shí)也比較困難。因此在設(shè)計(jì)階段就設(shè)計(jì)好數(shù)據(jù)倉庫的安全模型對(duì)于構(gòu)建一個(gè)安全的數(shù)據(jù)倉庫有著極其重要的意義。本文主要分析了四種關(guān)于數(shù)據(jù)倉庫和OLAP的安全模型。
1.1 基于元數(shù)據(jù)的數(shù)據(jù)倉庫安全模型設(shè)計(jì)
元數(shù)據(jù)是描述數(shù)據(jù)倉庫內(nèi)數(shù)據(jù)的結(jié)構(gòu)和建立方法的數(shù)據(jù)。元數(shù)據(jù)是數(shù)據(jù)倉庫中很重要的一部分,它將會(huì)影響數(shù)據(jù)倉庫中所有的層次,常被開發(fā)者用來管理控制和開發(fā)數(shù)據(jù)倉庫。元數(shù)據(jù)也是用戶訪問數(shù)據(jù)倉庫的一部分,它常被用來控制訪問控制和分析數(shù)據(jù)。
通過對(duì)元數(shù)據(jù)的控制來加強(qiáng)數(shù)據(jù)倉庫的安全性,這種情況下與安全主題和客體相關(guān)的訪問規(guī)則被以元數(shù)據(jù)的形式存儲(chǔ)。當(dāng)一個(gè)用戶訪問數(shù)據(jù)倉庫中的數(shù)據(jù)時(shí),安全查詢機(jī)制層將會(huì)查詢這個(gè)訪問是否被允許。為了保證查詢的正確進(jìn)行,可通過分析“安全元數(shù)據(jù)”來分析相應(yīng)的訪問許可機(jī)制。
N.Katic于1998年提出一個(gè)基于元數(shù)據(jù)的安全模型[2]。這是通過“安全管理者”的方式來實(shí)現(xiàn)的。通過它可以管理、定義、描述用戶和用戶群體。此外還設(shè)置了一個(gè)安全查詢管理層(SQML),它的作用是通過檢查是否允許一個(gè)任務(wù)的執(zhí)行來過濾用戶的查詢。圖1描述了這個(gè)安全模型。
?
此模型的主要作用是如果用戶企圖查詢他沒有訪問權(quán)限的數(shù)據(jù),則由“安全管理者”和“信息服務(wù)器”可以把用戶想查詢而又沒有查詢權(quán)限的那部分?jǐn)?shù)據(jù)過濾掉,而只把他可以訪問的那些數(shù)據(jù)返回給他。這種操作對(duì)于用戶來說是透明的,用戶并不知道還有些數(shù)據(jù)他沒有訪問到。數(shù)據(jù)倉庫的信息對(duì)于用戶來說好像是提供了他所需要的所有數(shù)據(jù)。這是一個(gè)很重要的安全策略,使用戶不知道自己被禁止了部分?jǐn)?shù)據(jù),因而他不會(huì)去試圖訪問他原本看不到的數(shù)據(jù)。這樣也極大地增強(qiáng)了數(shù)據(jù)倉庫中數(shù)據(jù)的安全性。
該模型主要特點(diǎn)是把數(shù)據(jù)倉庫中的元數(shù)據(jù)擴(kuò)充為二類元數(shù)據(jù):結(jié)構(gòu)元數(shù)據(jù)和訪問元數(shù)據(jù)。利用訪問元數(shù)據(jù)來控制用戶對(duì)數(shù)據(jù)倉庫的訪問。充分利用了元數(shù)據(jù)在數(shù)據(jù)倉庫中的作用。通過元數(shù)據(jù)減少了用戶試圖訪問無權(quán)訪問的數(shù)據(jù)的可能性,減少了攻擊數(shù)據(jù)倉庫的行為,從而增強(qiáng)了安全性。
1.2 基于角色的數(shù)據(jù)倉庫安全性模型設(shè)計(jì)
角色是數(shù)據(jù)庫中一個(gè)很重要的概念。通過角色的定義可以加強(qiáng)數(shù)據(jù)庫的安全性。由于數(shù)據(jù)倉庫中的數(shù)據(jù)存儲(chǔ)與數(shù)據(jù)庫中的數(shù)據(jù)存儲(chǔ)有著諸多的不同,所以將數(shù)據(jù)庫中角色的實(shí)現(xiàn)照搬到數(shù)據(jù)倉庫中是行不通的。
Remzi Kirkgoze,Nevena Katic于1997年提出一種基于角色的OLAP數(shù)據(jù)立方體訪問控制策略[3]。這個(gè)模型是一個(gè)基于AMAC(Adapted Mandatory Access Control)的控制OLAP多維立方體的安全控制策略。
在這個(gè)模型中主要描述了數(shù)據(jù)倉庫中每個(gè)角色的安全限制規(guī)則。每個(gè)用戶有一個(gè)角色,每個(gè)角色對(duì)應(yīng)一個(gè)安全規(guī)則表。這些規(guī)則表組成了角色的安全限制文件。根據(jù)這個(gè)角色安全限制文件,每個(gè)用戶可以訪問到他被授權(quán)訪問的數(shù)據(jù)。
這個(gè)模型是一個(gè)只有“角色”作為安全主體(Scurity Subject)的數(shù)據(jù)倉庫安全模型,該模型權(quán)限只能賦予角色。安全對(duì)象(Secrtity Object)是安全系統(tǒng)中的客體,在OLAP環(huán)境中維表、事實(shí)表及它們的屬性都是安全對(duì)象。每一個(gè)安全主體被授權(quán)能對(duì)安全對(duì)象進(jìn)行某種操作,這些操作稱為訪問類型。
把每個(gè)安全對(duì)象應(yīng)用分段策略得到所有單級(jí)片段后,應(yīng)用謂詞訪問策略得出每種角色能訪問的片段集。假設(shè)用戶現(xiàn)在的角色是R,如果他想訪問某個(gè)對(duì)象,則該系統(tǒng)能產(chǎn)生訪問該對(duì)象的片段集合A,并與安全限制規(guī)則表中R能訪問的片段集合B進(jìn)行比較;如果A包含于B,則系統(tǒng)將處理查詢,否則將被拒絕訪問。
此模型的特點(diǎn)是能為不同的子立方體賦予不同角色,并能為系統(tǒng)用戶賦予不同角色,達(dá)到靈活性與安全性的統(tǒng)一。此模型是對(duì)于關(guān)系型數(shù)據(jù)庫中基于角色的訪問控制的一種擴(kuò)展,是角色的訪問控制在數(shù)據(jù)倉庫中的應(yīng)用。
1.3 基于授權(quán)的安全模型
授權(quán)是指一個(gè)對(duì)象對(duì)系統(tǒng)對(duì)象或者系統(tǒng)本身所擁有的合法訪問權(quán)限。Edgar Weippl等人提出了一種對(duì)數(shù)據(jù)倉庫和OLAP的一個(gè)授權(quán)模型[4],他們通過一種簡單的描述符號(hào)來描述這種訪問授權(quán),它比用SQL的授權(quán)機(jī)制更直觀。
在這個(gè)授權(quán)模型中包括主體對(duì)象、訪問類型、客體對(duì)象和謂詞。對(duì)象指的是數(shù)據(jù)倉庫中多維立方體中的維度、維度中的層次、事實(shí)表。訪問類型主要考慮六種基本的操作:read,drill-down,roll-up,slice,dice,drill-through。
模型中以用戶而不是角色作為授權(quán)對(duì)象。本文通過下面的例子來說明這個(gè)模型。例如數(shù)據(jù)倉庫中的一個(gè)銷售鏈包括四個(gè)維度:時(shí)間、地理位置、商品、銷售度量。
時(shí)間:日-月-年
商品:產(chǎn)品-子類別-類別
地理位置:鄉(xiāng)鎮(zhèn)-縣市-地區(qū)-省份
銷售度量:單價(jià)、利潤
考慮地方經(jīng)理和產(chǎn)品經(jīng)理二個(gè)不同的角色,他們職責(zé)不同,地方經(jīng)理可能是一個(gè)地方的管理者,而一個(gè)產(chǎn)品經(jīng)理可能主要是負(fù)責(zé)一個(gè)單獨(dú)的商品銷售情況和各種商品的銷售情況。
下面通過一個(gè)例子來說明此模型的使用。例如:
(張三,{單價(jià)},{(時(shí)間,{(Drill-Down,月)}),(地理位置,{(Drill-Down,省份),(Roll-Up,地區(qū))}),(商品,{(Drill-Down,類別),(Roll-Up,產(chǎn)品)})})。
這說明允許張三訪問每種產(chǎn)品的單價(jià),但是不允許訪問每種產(chǎn)品的利潤,允許訪問子類別或者類別。同時(shí),他也不能檢索基于每年或者每天的合成數(shù)據(jù),但是允許訪問每個(gè)城市或商店的數(shù)據(jù)。如果加上下面的集合:
(張三,{單價(jià),利潤},{(時(shí)間,{(Drill-Down,年)}),(地理位置,{(Drill-Down,省份),(Roll-Up,商店),(Slice,地區(qū)=“濟(jì)南”)}),(商品,{(Drill-Down,類別),(Roll-Up,商品)})})。
這樣,張三就能夠完全訪問濟(jì)南地區(qū)的所有商店的數(shù)據(jù)。由這二個(gè)數(shù)據(jù)集他就能夠完成他的工作:監(jiān)督濟(jì)南地區(qū)的商店并且能以綜合的方式比較它們的性能如何。
此模型的特點(diǎn)是:從邏輯上把授權(quán)模型分為二部分SUBJECT和OBJECT,通過一種簡單的操作用戶可以方便地描述所需要的安全訪問權(quán)限,從而增強(qiáng)了表述能力和安全的可用性。通過一套簡單的描述符號(hào),對(duì)于任意一種給定的安全策略,都可以很容易地實(shí)現(xiàn)它的訪問控制權(quán)限。此模型主要是作者通過對(duì)關(guān)系數(shù)據(jù)庫中SQL語言機(jī)制的演變,提出的一種更適合數(shù)據(jù)倉庫中多維數(shù)據(jù)訪問的策略。但是要實(shí)現(xiàn)此種控制還需要開發(fā)能夠解釋此種語言的機(jī)制。
1.4 基于視圖的數(shù)據(jù)倉庫安全模型
A.Rosenthal等人在2000年提出了一種基于視圖的數(shù)據(jù)倉庫安全模型[5]。這個(gè)模型是通過從數(shù)據(jù)庫與數(shù)據(jù)倉庫的聯(lián)系方面來解決問題的。現(xiàn)在,在數(shù)據(jù)倉庫中訪問控制的管理常常存在于一個(gè)與數(shù)據(jù)源策略相互獨(dú)立的地方。其結(jié)果是造成不一致性,對(duì)于變化反映滯后,并且浪費(fèi)管理工作。針對(duì)這種情況,本文提出把源數(shù)據(jù)所在的數(shù)據(jù)源和數(shù)據(jù)倉庫都看作是同一個(gè)分布式數(shù)據(jù)庫的一部分。由于在數(shù)據(jù)庫中已經(jīng)有了比較成熟的依靠視圖機(jī)制來控制各個(gè)用戶的訪問權(quán)限的方法,把數(shù)據(jù)倉庫和數(shù)據(jù)源作為同一個(gè)分布式數(shù)據(jù)庫的一部分,這樣在數(shù)據(jù)倉庫中就不用再單獨(dú)定義數(shù)據(jù)的視圖機(jī)制,而讓它延續(xù)用數(shù)據(jù)庫中的視圖訪問機(jī)制即可。這就是說,允許自動(dòng)配置對(duì)數(shù)據(jù)倉庫的許多訪問控制。從某種意義上說,這樣減少了管理員學(xué)習(xí)過程中要走的曲線過程,同時(shí)也減少了軟件提供商需要實(shí)現(xiàn)的軟件數(shù)量。上述安全模型可用圖2描述。
?
這種安全模型的特點(diǎn)是系統(tǒng)易于管理,使得授權(quán)管理系統(tǒng)及其應(yīng)用更健壯。系統(tǒng)能夠自動(dòng)地從數(shù)據(jù)源分析用戶對(duì)于數(shù)據(jù)的訪問權(quán)限,然后自動(dòng)地生成用戶在數(shù)據(jù)倉庫中所能夠訪問的數(shù)據(jù)。因?yàn)閿?shù)據(jù)倉庫中的數(shù)據(jù)都是通過數(shù)據(jù)抽取轉(zhuǎn)換工具從數(shù)據(jù)源處得到的。這樣就減少了技術(shù)人員在數(shù)據(jù)倉庫中在進(jìn)行相應(yīng)方位策略的配置問題。同時(shí)能夠很好地解決變化之后的問題。但是僅僅通過從數(shù)據(jù)庫沿用過來的視圖安全是不能夠滿足數(shù)據(jù)倉庫需要的。因?yàn)閿?shù)據(jù)倉庫的數(shù)據(jù)模型是多維數(shù)據(jù)和關(guān)系數(shù)據(jù)的混合,它要比數(shù)據(jù)庫中單純的關(guān)系型數(shù)據(jù)復(fù)雜得多。視圖機(jī)制對(duì)于數(shù)據(jù)庫中writeupdate操作機(jī)制很奏效,而在數(shù)據(jù)倉庫中主要進(jìn)行的操作是讀取數(shù)據(jù)分析數(shù)據(jù),僅有此不能很好地滿足數(shù)據(jù)倉庫的需要。但是這確實(shí)提供了一種安全機(jī)制。
2? 總結(jié)與展望
本文分析的幾種數(shù)據(jù)倉庫安全模型具有很強(qiáng)的代表性。它們分別以不同的方式達(dá)到了增強(qiáng)數(shù)據(jù)倉庫安全性的目的?;谠獢?shù)據(jù)的模型,充分考慮了元數(shù)據(jù)在數(shù)據(jù)倉庫中的重要作用。通過一些限制對(duì)元數(shù)據(jù)訪問的方法來減少數(shù)據(jù)倉庫受攻擊的可能性。其他幾種基于角色的模型、基于授權(quán)的模型以及基于視圖的模型也都有其各自的特點(diǎn)。但是可以看出,這些安全模型大部分都是在數(shù)據(jù)庫安全模型方面的擴(kuò)展。當(dāng)然這也是一種理所當(dāng)然的趨勢,因?yàn)楫吘箶?shù)據(jù)庫的安全理論已經(jīng)比較成熟??墒怯捎跀?shù)據(jù)倉庫的建立目的、數(shù)據(jù)模型、訪問策略等與數(shù)據(jù)庫不同,二者的安全策略也是有相應(yīng)區(qū)別。從數(shù)據(jù)倉庫本身的特點(diǎn)出發(fā),利用一些已經(jīng)成熟的安全理論來構(gòu)造一種更加安全的、實(shí)施更加方便的安全模型,這也是下一步工作的重點(diǎn)。
總之,數(shù)據(jù)倉庫是一項(xiàng)基于數(shù)據(jù)管理和利用的綜合性技術(shù)和解決方案,它將成為數(shù)據(jù)庫市場的新一輪的增長點(diǎn)。對(duì)數(shù)據(jù)倉庫的安全性訪問作為數(shù)據(jù)倉庫技術(shù)與信息安全技術(shù)的結(jié)合點(diǎn),必將會(huì)面臨更大的挑戰(zhàn)和機(jī)遇。
?
參考文獻(xiàn)
1? Inmon W H著,王志海譯.Building the Data Warehouse. 北京:機(jī)械工業(yè)出版社,2000
2? Katic N,Quirchmayr G,Schiefer J et al.A Prototype Model for DataWarehouse Security based on Metadata.
IEEE Computer Society,1998;8
3? Kirkgoze R,Katic N,Stolba M et al.A Security Concept for OLAP.in:Proceedings of the 8th.International
Workshop on Database and Expert Systems Applications(DEXA′97),IEEE Computer Society,1997
4? Weippl E,Mangisengi O,Essmayr W et al.An Autho rization Model for Data Warehouses and OLAP.in:
Proceedings of the Workshop on Security in Distributed Data Warehousing,in Conjunction with 2th.IEEE Symposium Reliable Distributed Systems (SRDS′2001),2001
5? Rosenthal A,Sciore E.View Security asthe Basis for Data Warehouse Security.in:Proceedings of the International Workshop on Design and Management of Data? Warehouse(DMDW′2000),Sweden,2000