專利名稱:提供對數(shù)據(jù)庫的訪問的數(shù)據(jù)管理系統(tǒng)、方法和安全性結(jié)構(gòu)的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及數(shù)據(jù)管理系統(tǒng)、為機構(gòu)提供對作為該系統(tǒng)組成部分的公共數(shù)據(jù)庫的訪問的方法以及實現(xiàn)該系統(tǒng)和方法的安全性結(jié)構(gòu)。
背景技術(shù):
在單個機構(gòu)的計算機系統(tǒng)內(nèi),常見的是提供可供該機構(gòu)成員訪問的例如服務器上的中央數(shù)據(jù)庫。眾所周知,采用安全性結(jié)構(gòu)來控制成員對該數(shù)據(jù)庫內(nèi)各種數(shù)據(jù)文件的訪問。具體地說,這些數(shù)據(jù)文件可能歸各個成員所有,給予這些成員對數(shù)據(jù)文件的特定訪問權(quán)。同樣,可以針對各數(shù)據(jù)文件來授予許可權(quán),以允許就那些許可權(quán)定義的成員執(zhí)行那些許可權(quán)中定義的功能,例如讀、寫、編輯等。其它功能,例如控制用戶ID和用戶密碼可以僅限于具有管理權(quán)的特定成員。這些成員可以完全自由地訪問或更改數(shù)據(jù)庫的任何部分。
從WO 01/77863中已知,提供一種可被許多不同機構(gòu)訪問的多媒體素材的外部數(shù)據(jù)庫。任何經(jīng)授權(quán)可使用該數(shù)據(jù)庫的機構(gòu)可以查看所有的多媒體素材,根據(jù)內(nèi)置于系統(tǒng)中的程序規(guī)則獲取經(jīng)授權(quán)的所請求多媒體素材的拷貝。
發(fā)明內(nèi)容
本發(fā)明基于這樣的認識需要提供外部數(shù)據(jù)庫以用于存儲例如多媒體素材,以便不同各方可使用以及處理同一數(shù)據(jù)。本發(fā)明還認識到在同一數(shù)據(jù)庫上提供不同機構(gòu)擁有的數(shù)據(jù)的問題。具體來說,一些機構(gòu)可能不希望其它機構(gòu)查看其數(shù)據(jù)或者甚至是知道其數(shù)據(jù)在該數(shù)據(jù)庫上或者知道他們使用該數(shù)據(jù)庫。應當明白,先前在內(nèi)部供各機構(gòu)使用的系統(tǒng)并不適合,因為即使不允許一些成員觀看某些文件,這些成員仍會知道存在這些文件。實際上,更嚴格地說,擁有管理權(quán)的成員始終可以查看任何文件。
本發(fā)明的目的在于避免或至少減少這些問題。
根據(jù)本發(fā)明,提供一種數(shù)據(jù)管理系統(tǒng)、如媒體管理系統(tǒng),它包括用于存儲多個數(shù)據(jù)庫存的數(shù)據(jù)庫;以及用于控制數(shù)據(jù)庫的數(shù)據(jù)庫存中數(shù)據(jù)的存儲以及允許多個外部機構(gòu)對數(shù)據(jù)訪問的接口,每個機構(gòu)包括一個或多個各自的成員;其中所述接口包括控制機構(gòu)成員對數(shù)據(jù)的訪問的安全性結(jié)構(gòu)。
根據(jù)本發(fā)明,還提供一種向多個外部機構(gòu)提供對包含多個數(shù)據(jù)庫存的公共數(shù)據(jù)庫的訪問的方法,每個機構(gòu)包括一個或多個各自的成員,所述方法包括用于控制機構(gòu)成員對數(shù)據(jù)庫存的訪問的安全性結(jié)構(gòu)的步驟。
根據(jù)本發(fā)明,還提供一種安全性結(jié)構(gòu),供存儲多個數(shù)據(jù)庫存的數(shù)據(jù)庫使用,所述安全性結(jié)構(gòu)實現(xiàn)不同外部機構(gòu)與數(shù)據(jù)庫存的數(shù)據(jù)之間的接口,每個機構(gòu)具有一個或多個各自的成員,所述安全性結(jié)構(gòu)控制不同機構(gòu)的成員對數(shù)據(jù)庫存的數(shù)據(jù)的訪問。
這樣,無論各個機構(gòu)內(nèi)的各種成員的權(quán)限如何,安全性結(jié)構(gòu)允許多個不同的外部機構(gòu)使用同一數(shù)據(jù)庫,但是控制所有成員的訪問。通過以此方式提供安全性結(jié)構(gòu),可以提供一種公共數(shù)據(jù)庫,允許不同的機構(gòu)及其成員共同使用特定數(shù)據(jù)文件的數(shù)據(jù),而其它機構(gòu)可能沒有充分的訪問權(quán)來知道存在那些數(shù)據(jù)文件或知道上述機構(gòu)在使用該數(shù)據(jù)庫。即使一個以上機構(gòu)的成員擁有對同一數(shù)據(jù)的訪問權(quán),利用安全性結(jié)構(gòu),就可以只允許一些成員進行比其他成員級別低的操作,例如只能查看。
應當指出,通常這些機構(gòu)將操作相應的數(shù)據(jù)存儲/通信系統(tǒng),并且包括到該數(shù)據(jù)庫的外部連接。
因此,安全性結(jié)構(gòu)實現(xiàn)不同機構(gòu)的系統(tǒng)與公共數(shù)據(jù)庫之間的接口。數(shù)據(jù)庫中的數(shù)據(jù)在安全性結(jié)構(gòu)的控制下,可以被多個不同機構(gòu)的系統(tǒng)訪問和處理。
數(shù)據(jù)存儲/通信系統(tǒng)可以包括對各系統(tǒng)的相應管理員權(quán)限。
利用安全性結(jié)構(gòu),所有機構(gòu)的每個成員的訪問權(quán)的確定與各個數(shù)據(jù)存儲/通信系統(tǒng)無關(guān)。因此,一個機構(gòu)的成員無需具有對其它機構(gòu)擁有的數(shù)據(jù)庫存的數(shù)據(jù)的任何權(quán)限。
最好是成員對數(shù)據(jù)的訪問至少包括讀、寫和編輯數(shù)據(jù)。
因此,對于每個成員,安全性結(jié)構(gòu)可以控制從特定數(shù)據(jù)庫存讀、寫和編輯數(shù)據(jù)。對于安全性結(jié)構(gòu)來說,還可以控制其它的訪問特征,包括不直接涉及數(shù)據(jù)庫存中數(shù)據(jù)的處理的功能。
最好是數(shù)據(jù)庫存具有不同的相應所屬權(quán)。
安全性結(jié)構(gòu)可以根據(jù)查找的數(shù)據(jù)所在的數(shù)據(jù)庫存的所屬權(quán)來控制成員對數(shù)據(jù)的訪問。
一個或多個數(shù)據(jù)庫存可以歸不同的各個機構(gòu)所有。
因此,每個機構(gòu)可以擁有其自己的存儲大量不同數(shù)據(jù)文件的數(shù)據(jù)庫存。擁有特定數(shù)據(jù)庫存的機構(gòu)的成員可以擁有對該數(shù)據(jù)庫存的完全訪問權(quán),而安全性結(jié)構(gòu)可以阻止其他機構(gòu)的成員對該數(shù)據(jù)庫存的數(shù)據(jù)執(zhí)行特定功能。具體地說,安全性結(jié)構(gòu)可以阻止其它機構(gòu)成員被授予刪除該數(shù)據(jù)庫存的文件的許可權(quán)。
最好是,安全性結(jié)構(gòu)允許成員請求有關(guān)該數(shù)據(jù)庫的功能操作,這些功能包括對數(shù)據(jù)的訪問。
由此,成員可以請求寫、讀或編輯特定數(shù)據(jù)。成員還可以請求其它功能,比如更改數(shù)據(jù)庫的密碼。
最好是,當這些機構(gòu)之一的成員請求一項功能時,安全性結(jié)構(gòu)要求該成員的ID通過驗證。
這樣,當嘗試訪問該數(shù)據(jù)庫時,除非訪問者是ID可通過驗證的成員,否則安全性結(jié)構(gòu)拒絕此訪問。
最好是,安全性結(jié)構(gòu)包括這些機構(gòu)的各個成員可用功能的列表,當這些機構(gòu)之一的成員請求一種功能時,安全性結(jié)構(gòu)要求確定所請求的功能是否可供該成員使用。
這樣,可以在該系統(tǒng)上給不同的成員授予不同級別的功能。具體地說,此安全性結(jié)構(gòu)可能只允許特定成員讀數(shù)據(jù),這樣,不論可能向該成員授予對特定數(shù)據(jù)什么許可權(quán),該成員仍是只可以讀取該數(shù)據(jù)。這樣,一個機構(gòu)的成員不能向另一個機構(gòu)的成員授予超越根據(jù)對該機構(gòu)的這個成員或多個成員所允許的預定范圍的許可權(quán)。
最好是,安全性結(jié)構(gòu)包括關(guān)于每個機構(gòu)的一個或多個角色,每個角色涉及一個或多個功能,并且定義有資格操作該角色的一個或多個功能的機構(gòu)成員。
這樣,定義了可供成員使用的功能。當一個成員被定義為角色的一部分時,它就有資格(通常至少)操作為該角色定義的功能。
這提供了一種為特定成員定義各種功能的相對直接的方法。它還允許安全性結(jié)構(gòu)以相對直接和方便的方式來操作。具體地說,不是針對個別成員定義隨意選擇的不同功能(這樣難以跟蹤什么功能可供哪些成員使用),預定角色定義一個完整的功能集,通過作為各個角色的一部分而賦予這些成員一個或多個功能集。
最好是,安全性結(jié)構(gòu)包括一個或多個模板,每個模板提供一個或多個功能的列表,角色具有指向這些模板的指針,以便指示為該角色定義的成員可使用的一個或多個功能。
鑒于角色可能與各個機構(gòu)有關(guān),可以建立模板以供任何機構(gòu)使用。這樣,不同的機構(gòu)可能擁有同名角色,但是指向不同的模板。因此,例如擁有數(shù)據(jù)庫存所有權(quán)的機構(gòu)可能包括稱為“用戶”且指向提供完全讀、寫和編輯功能的模板的角色,而相關(guān)的機構(gòu)可能具有也稱為“用戶”而指向只具有讀和復制功能的模板的角色。
最好是,安全性結(jié)構(gòu)包括關(guān)于每個相應機構(gòu)的、所有可見到所述相應機構(gòu)的其它機構(gòu)的指示,當這些機構(gòu)之一的成員請求一項功能時,安全性結(jié)構(gòu)需要確定該功能未要求訪問該機構(gòu)成員不可見的機構(gòu)所擁有的數(shù)據(jù)庫存的數(shù)據(jù)。
這樣,使用數(shù)據(jù)庫的機構(gòu)就只對已經(jīng)在安全性結(jié)構(gòu)中專門如此記錄的其它機構(gòu)是可見的。因此,無論擁有任何其它權(quán)力,機構(gòu)的成員都無法訪問、查看或使用對其不可見的機構(gòu)所擁有的任何數(shù)據(jù)。實際上,在此方面,一個機構(gòu)的各成員不知道正在使用該數(shù)據(jù)庫的另一個機構(gòu)的存在,除非允許可見性的其它機構(gòu)專門將它們列出。
最好是,安全性結(jié)構(gòu)規(guī)定每個功能的目標具有與之相關(guān)的一個或多個許可權(quán),這些許可權(quán)允許定義的功能被定義的成員執(zhí)行,當機構(gòu)之一的成員請求一項功能時,安全性結(jié)構(gòu)需要確定該功能目標的許可權(quán)中包括所請求的功能和成員。
這樣,無論發(fā)出請求的成員擁有什么權(quán)限,安全性結(jié)構(gòu)都提供一種機制來確保功能本身對于該成員是允許的。因此,如果相關(guān)成員或擁有適當機構(gòu)的管理權(quán)的成員發(fā)出更改該成員密碼的請求,該請求只由安全性結(jié)構(gòu)許可。對于擁有另一機構(gòu)的管理權(quán)的另一機構(gòu)的成員,不一定會許可。
最好是,安全性結(jié)構(gòu)規(guī)定每個功能允許多個目標。此功能的最終授權(quán)將取決于對可以與每個功能相關(guān)聯(lián)的可選商業(yè)邏輯(為了授權(quán))的評估。這使系統(tǒng)能夠?qū)?可能)涉及多個機構(gòu)的多個目標執(zhí)行復雜的操作。
最好是,數(shù)據(jù)庫存的數(shù)據(jù)文件具有相關(guān)許可權(quán),這些許可權(quán)允許定義的成員對相應數(shù)據(jù)文件執(zhí)行定義的功能,當機構(gòu)之一的成員請求對數(shù)據(jù)文件執(zhí)行一項功能時,安全性結(jié)構(gòu)要求確定該數(shù)據(jù)文件的許可權(quán)中包括所請求的功能和該成員。
這樣,即使特定成員確實有權(quán)執(zhí)行特定功能、例如刪除,除非該數(shù)據(jù)文件本身包括對該成員執(zhí)行該功能的許可權(quán),否則安全性結(jié)構(gòu)也不允許執(zhí)行此功能。
根據(jù)本發(fā)明,還提供一種計算機程序,它包括當該程序運行于計算機上時執(zhí)行安全性結(jié)構(gòu)的所有步驟的程序代碼裝置。
根據(jù)本發(fā)明,還提供一種計算機程序產(chǎn)品,它包括存儲在計算機可讀媒體上、在該程序產(chǎn)品運行于計算機上時執(zhí)行安全性結(jié)構(gòu)的步驟的程序代碼裝置。
參考附圖,通過下文僅以舉例的方式給出的說明,可以更加清楚地理解本發(fā)明。
圖1說明實施本發(fā)明的配置;圖2說明用戶/應用服務器的交互作用;圖3至6說明安全性結(jié)構(gòu)的目錄結(jié)構(gòu);圖7說明組、用戶/成員、角色和模板之間的關(guān)系;圖8至10說明安全性結(jié)構(gòu)檢查流程;圖11說明系統(tǒng)的參與者;圖12說明安全性結(jié)構(gòu)的概況;以及圖13說明用戶更改密碼的流程圖。
具體實施例方式
本申請?zhí)岢鲆环N媒體管理系統(tǒng)(MMS),它被設(shè)計為允許多個公司或機構(gòu)在數(shù)字媒體的管理和工作流程中進行合作。例如,MMS可讓兩個公司就同一個廣告宣傳活動進行合作,共享和處理該數(shù)字媒體(例如視頻和圖像)。MMS采用公共數(shù)據(jù)庫,其中數(shù)據(jù)被劃分到各數(shù)據(jù)庫存中,以便將數(shù)據(jù)庫劃分為各個不同部分。通常,至少一部分采用MMS的機構(gòu)對相應的數(shù)據(jù)庫存擁有所有權(quán)。
如圖1所示,設(shè)置數(shù)據(jù)庫2用于存儲數(shù)據(jù)。該數(shù)據(jù)被安排在數(shù)據(jù)庫存4中,數(shù)據(jù)庫存又可再劃分成數(shù)據(jù)文件6。多個機構(gòu)8可以通過外部網(wǎng)絡(luò)10、諸如因特網(wǎng)或萬維網(wǎng)訪問數(shù)據(jù)庫2。每個機構(gòu)可以包括一個或多個成員12,它們本身可以通過屬于各機構(gòu)自有內(nèi)部系統(tǒng)的網(wǎng)絡(luò)鏈接。
外部機構(gòu)8通過安全性結(jié)構(gòu)14與數(shù)據(jù)庫2實現(xiàn)接口。正如下文將要闡述的,安全性結(jié)構(gòu)14包括存儲有關(guān)機構(gòu)8、成員12、數(shù)據(jù)庫存4和數(shù)據(jù)文件6的信息,并管理哪些成員允許什么訪問。當成員12請求有關(guān)數(shù)據(jù)庫2的任何功能時,它還實現(xiàn)對可允許訪問執(zhí)行校驗的過程。
安全性結(jié)構(gòu)14可以構(gòu)成物理接口或數(shù)據(jù)庫的集成部分。但是,建議它以軟件實現(xiàn),并用于控制常規(guī)硬件。
MMS范圍內(nèi)的安全性可以認為包括兩個主要部分。這兩個部分是系統(tǒng)安全性和應用安全性。
系統(tǒng)安全性是與構(gòu)成MMS體系結(jié)構(gòu)的組件以及作為個體和整體時如何保證其安全性有關(guān)的系統(tǒng)方面的描述。系統(tǒng)安全性定義各個組件的如下事項-訪問各組件(如數(shù)據(jù)文件6)的路徑,即在系統(tǒng)內(nèi)如何訪問該組件。對于數(shù)據(jù)庫服務器,這會描述哪些組件可以連接到服務器并執(zhí)行SQL操作。為了理解(在常規(guī)操作下)可用來達到組件的網(wǎng)絡(luò)路徑,這是很重要的。
-訪問該組件的實體(如成員12)的標識。對于萬維網(wǎng)應用的情況,應用服務器充當系統(tǒng)內(nèi)后端組件的代理。這意味著,后端組件除知道它正在被該應用服務器訪問外,不太可能知道其它任何事,不知道用戶身份。這對應用服務器內(nèi)運行的應用程序提出更高的要求,以便確保它只執(zhí)行允許用戶進行的操作。
-在MMS系統(tǒng)范圍內(nèi)傳遞驗證憑證的方法。這包括如何獲得系統(tǒng)的用戶(即機構(gòu)8的成員12)的用戶ID/密碼,以及移動和存儲應用服務器所要求的憑證,以便它可以訪問后端服務。
-系統(tǒng)內(nèi)各組件的備份和恢復過程。為使組件在受損的情況下可以可靠地恢復到先前的有效狀態(tài),這是需要的。
-系統(tǒng)安全性的最后一個要點是理解測試和驗證為每個組件編寫的策略的機制。
需要為之定義系統(tǒng)安全性的組件有目錄服務器、萬維網(wǎng)服務器、數(shù)據(jù)庫、UNIX系統(tǒng)、FTP服務器、應用服務器以及資產(chǎn)貯存器和網(wǎng)絡(luò)。
應用安全性解決應用如何在其內(nèi)部實施安全性。這在n-層系統(tǒng)(尤其是基于萬維網(wǎng)的系統(tǒng))中尤其重要,因為萬維網(wǎng)服務器/應用服務器在用戶和后端資源(如圖2所示)之間充當代理。
只要涉及到用戶或成員,用戶與應用程序的唯一交互是通過應用服務器。任何進一步的交互由應用服務器上運行的應用程序傳遞到要求的資源。從確保用戶只能看到一個系統(tǒng)(實際有許多)的角度來看,這是一個優(yōu)點。問題是后端資源不是直接知道用戶的。它們只能完全相信應用程序所告知它們的。在常規(guī)布署方案中,應用服務器擁有一個用戶和用于連接到諸如數(shù)據(jù)庫之類的東西的密碼。此ID擁有數(shù)據(jù)庫內(nèi)足夠的許可權(quán),可以執(zhí)行所有用戶的動作。這意味著,應用服務器是一個可對系統(tǒng)中其它組件實施攻擊的潛在弱點。此問題可以被描述為“困惑的代理”問題,因為可以存在這種可能性將數(shù)據(jù)發(fā)送到應用服務器,并讓它執(zhí)行用戶或許不能做的動作。其結(jié)果是應用服務器內(nèi)的代碼在處理任何動作時都需要知道如下三件事1.誰在執(zhí)行動作;2.他們執(zhí)行的是什么動作;3.他們對什么執(zhí)行該動作。
本發(fā)明特別考慮到系統(tǒng)安全性。
為了實現(xiàn)安全性結(jié)構(gòu)14,采用特定結(jié)構(gòu)來完成目錄服務器和LDAP(輕載目錄訪問協(xié)議)的工作。LDAP是一種作為用于訪問在分層目錄內(nèi)組織的信息的機制而開發(fā)的協(xié)議。此結(jié)構(gòu)樹內(nèi)的任何項目均可以通過識別其鑒別名(DN)來查找。該結(jié)構(gòu)樹在初始后綴下面組織。DN的組元列出其在層次結(jié)構(gòu)中的位置。
圖3表示其中擁有三個條目的樹。該樹的后綴DN為o=mms。對應于存儲在MMS中的各機構(gòu)的其它條目及其DN分別為o=SonyMarcomms,o=mms和o=Design Agency,o=mms。值得注意的是,DN是新屬性值對與其父葉的DN的組合。因此,如果需要在o=SonyMarcomms,o=mms下添加新的機構(gòu)單元people,則DN可以為ou=People,o=Sony Marcomms,o=mms。對應于樹中的每個DN存儲數(shù)據(jù),可以表示的字段由目錄方案來管理。
LDAP協(xié)議本身非常簡單,其設(shè)計目的在于高效地訪問條目,而非能夠為之提供表示和功能查詢接口。LDAP包括7種操作ADD、MODIFY、DELETE、MODRDN、BIND、UNBIND和REBIND。
存儲在MMS的目錄服務器中的層次結(jié)構(gòu)是理解數(shù)據(jù)如何進行組織以及如何才能實現(xiàn)定義安全性所要求的映射的關(guān)鍵。在MMS目錄服務器內(nèi),所有用戶信息的基后綴均為o=mms。此下的層次結(jié)構(gòu)則被設(shè)計為反映應用的需要。
第一層分組屬于預訂MMS的機構(gòu)。這些機構(gòu)和相關(guān)角色、組和成員(將在下文中說明)彼此分開,這需要在樹結(jié)構(gòu)中予以反映。圖3的實例顯示其中擁有二個機構(gòu)的樹。在DIT(目錄信息樹)中,關(guān)于這些機構(gòu)的條目附于該機構(gòu)之下。機構(gòu)還包括可見到此機構(gòu)的其它機構(gòu)的列表。機構(gòu)的可見性是一個重要特征,將在下文予以說明。
機構(gòu)8中擁有一定數(shù)量(0至多個)用戶/成員12。這些用戶/成員被分組歸到機構(gòu)的成員分支下,并按uid屬性(用戶ID)存儲。如圖4所示。
機構(gòu)8還包括一定數(shù)量的組,為了管理用這些組將用戶/成員12集合在一起,機構(gòu)8還包括一些資產(chǎn)的訪問許可權(quán)。這些組按cn屬性(公共名)存儲在機構(gòu)的組分支之下。如圖5所示。這些組本身由本身就可以是組的各成員構(gòu)成。每個成員是指向用戶或另一個組的鑒別名。
機構(gòu)8還包括一定數(shù)量的角色,這些角色用于確定機構(gòu)8內(nèi)用戶/成員的功能許可權(quán)。每個角色包括一個成員列表以及它所引用的角色全局(global of role)。MMS的角色信息以全局方式存儲在DIT的模板部分。模板部分包括多個模板,各個模板定義特定的功能集,諸如讀、寫、編輯等。也可以規(guī)定模板只定義一個相應的功能。
為機構(gòu)8創(chuàng)建的角色引用DIT模板部分內(nèi)的單個模板。進而可以引用模板區(qū)內(nèi)的其它模板。機構(gòu)的角色在DIT中角色分支下查找,如圖6所示。
為了使角色在系統(tǒng)內(nèi)發(fā)揮作用,需要有一個不同機構(gòu)所引用的角色全局主列表。該信息存儲在DIT的ou=Roles,cn=Globals,o=mms部分下。模板信息包括機構(gòu)的缺省信息和在整個樹中被引用的角色。
圖7中表示組與角色之間在誰與誰相關(guān)方面的關(guān)系。
為了概述圖7,一個組20包括零個或零個以上成員12以及零個或零個以上組20,一個角色22包括零個或零個以上成員12并引用一個和一個模板24,一個模板由零個或零個以上角色22引用并且引用零個或零個以上模板24。隱含意義是,成員12可以是零個或零個以上組20和角色22的成員。
給定目錄服務器的結(jié)構(gòu)和所存儲的數(shù)據(jù),定義獲取用戶的組關(guān)系可采用的過程是非常必要的。此過程需要滿足DIT靈活性的要求,還要允許將來進行優(yōu)化的可能性。這種優(yōu)化必須通過將結(jié)果高速緩存來實現(xiàn)。此過程按如下所述進行。
-獲取用戶DN需要有用戶或成員12的鑒別名才能開始此操作。可以采用以下LDAP過濾器利用用戶的uid屬性(因為它在該目錄內(nèi)是唯一的)來獲取。
(uid=用戶ID)-列出用戶直接所屬的組利用你要查找其成員資格的用戶12的DN,使用以下LDAP過濾器獲取該用戶12直接所屬的組20的列表。
(&(objectclass=mmsGroup)(|(uniquemember=userDN)(mmsAdministrator=userDN)(mmsOwner=userDN)))-遍歷這些組以找出完整列表對于每個組20,通過組20內(nèi)的uniquemember字段內(nèi)的dn引用獲取它所屬的組20(此操作是遞歸性的)。組20的用戶12的當前列表是需要存儲在一個集合內(nèi)以便檢查循環(huán)引用的成員。利用以下LDAP過濾器檢查組20所屬的那些組20(&(objectclass=mmsGroup)(uniquemember=groupDN))。
下文描述獲取用戶12能夠執(zhí)行的角色22的列表的過程。在高吞吐量環(huán)境中,此過程需要通過對結(jié)果進行高速緩存來優(yōu)化。此過程按如下所述進行。
獲取用戶DN-需要有用戶或成員12的鑒別名才能開始此操作。這可采用以下LDAP過濾器利用用戶的uid屬性(它是唯一的)來獲取(uid=用戶ID)列出用戶所屬的角色-下一個階段是列出機構(gòu)8內(nèi)為用戶12分配的角色22。這通過以下LDAP過濾器來完成。
(&(objectclass=mmsRole)(uniqumember=userDN))遍歷這些模板角色以創(chuàng)建最終列表-一旦已知機構(gòu)8內(nèi)的角色22的列表,就需要將各個角色(通過模板信息)映射到許可角色22和通過引用模板24定義的功能的最終列表。對于機構(gòu)8的每個檢索的角色22,必須進行查找以獲取并入其中的子角色。這是一個遍歷角色層次結(jié)構(gòu)的遞歸操作,可以通過裝入每個角色22的屬性并利用uniquemember屬性查找子角色來完成。
媒體管理系統(tǒng)提供一個可從外部機構(gòu)8訪問的數(shù)據(jù)庫2,每個機構(gòu)8具有一個或多個成員12。因此,成員12是本系統(tǒng)的用戶12。
當用戶12首先嘗試在系統(tǒng)上執(zhí)行一項功能時,安全性結(jié)構(gòu)14嘗試對用戶12進行驗證。
為了滿足驗證的要求,安全性結(jié)構(gòu)支持如下兩項1.驗證一組憑證的能力對于要驗證的用戶12,它們必須向系統(tǒng)提供一組憑證。這些憑證之一始終是用戶身份(對應于它們的用戶ID)。第二個要求是用戶還要提供可以被確認的令牌、如密碼。然后,MMS可以提取這些憑證,并將它們與集中存儲在目錄服務器中的那些進行比較,以判斷是否證實用戶12有效。
2.在任何給定時間知道當前憑證的能力一旦用戶通過驗證,系統(tǒng)在執(zhí)行過程中任何時候調(diào)用該信息。這意味著在應用控制流程中的給定點處,可以獲取當前通過驗證的用戶12的身份。
一旦用戶12在系統(tǒng)內(nèi)通過驗證,授權(quán)的三個要求之一被滿足,因為應用程序就已知動作或功能的始發(fā)者。它還意味著,安全性結(jié)構(gòu)14還可利用此信息,從而能夠核查誰在MMS系統(tǒng)內(nèi)執(zhí)行了動作。
根據(jù)安全性結(jié)構(gòu)的決策流程,給出圖8所示作業(yè)鏈的第一步。
功能訪問要求定義MMS內(nèi)限定對系統(tǒng)內(nèi)功能的訪問權(quán)的要求。MMS內(nèi)限定對功能的訪問權(quán)的方法是通過角色22來實現(xiàn)的。如上所述,角色22定義可以在MMS內(nèi)執(zhí)行的功能。在其最簡單級別,角色22是功能對所允許用戶12的映射。因此,角色22涉及所有允許使用它的用戶12。此外,還要求可以對角色22進行組合,以構(gòu)成功能塊(更類似于組中有組的形式)。
在MMS的范圍內(nèi),提供兩條信息,以便能夠授權(quán)用戶12執(zhí)行動作。用戶12必須通過MMS驗證(如上所述),用戶12必須是他們嘗試執(zhí)行的角色22的成員。角色22本身是由MMS根據(jù)系統(tǒng)要求固定設(shè)置的(不可能定義新的角色)。需要有一個用于定義角色22和角色22的組的中心源。機構(gòu)8可以根據(jù)它們的需要從其中提取。這可使不同機構(gòu)在可以于MMS內(nèi)使用的功能方面受到限制。這還意味著可以通過更改集中引用容易地對MMS添加功能和從中刪除功能。
在用戶交互方面,角色關(guān)系模型賦予開發(fā)者根據(jù)用戶12擁有許可權(quán)來執(zhí)行的功能向用戶12呈現(xiàn)界面的能力,例如只有錄入員看到錄入標簽。
遵循流程圖,其中詳細說明了為了判斷用戶是否被允許執(zhí)行動作而需要進行的決策流程,給出圖9所示的更新圖。
圖9表示檢查操作或功能是否可允許的前兩個步驟。功能本身不一定很重要(其目標才是重要的)。為了能夠使用此方法,要點是給系統(tǒng)的最終用戶12呈現(xiàn)可供管理角色22的分配和委托的界面。表示此功能的最佳方式視使用情況和參與者定義而定。此處的使用情況稍微與為資產(chǎn)管理定義的情況重疊,但這是在系統(tǒng)內(nèi)分配角色22的最初源。
執(zhí)行操作/角色此動作在用戶12嘗試在MMS內(nèi)執(zhí)行動作的情況下進行。這是適用于MMS內(nèi)任何類型動作的通用使用情況。對此的授權(quán)是基于用戶12是否是相應角色22的成員,同時也基于該動作所操作的數(shù)據(jù)是否屬于他們擁有許可權(quán)的數(shù)據(jù)。下文參考圖10進行說明。
創(chuàng)建角色此動作是在創(chuàng)建新角色22的情況下進行。這是管理功能。此動作所需的信息是要創(chuàng)建的角色的角色詳情。角色22在機構(gòu)8的范圍之外創(chuàng)建,并被用作那些能夠使用此角色的機構(gòu)的模板。
刪除角色此動作是在刪除現(xiàn)有角色22的情況下進行。刪除角色22連同MMS內(nèi)對它的所有引用。這高效刪除每個人的角色。這是管理功能。
賦予角色此動作為機構(gòu)8內(nèi)用戶12賦予角色22的成員資格。此動作的必需信息是對用戶8的引用以及將要為之授予他們許可權(quán)的角色22。此賦予可采取簡單成員資格的形式,也可采取角色管理員的形式。對此動作的授權(quán)基于用戶是否是用戶管理員或機構(gòu)管理員。
對角色添加角色此動作用于在角色22內(nèi)對角色22組合。這可將一個角色22添加到另一個角色中。這可以創(chuàng)建角色包來對功能組合,更易于管理應用安全性。此動作要輸入的是對正在添加的角色的引用,以及要添加到其中的角色的引用。這是管理操作。
從角色中刪除角色此動作用于將角色22與另一個角色脫離組合。此動作是上一個動作的逆功能。此動作要輸入的是對要刪除的角色的引用以及對要從其中刪除的角色的引用。這是應用環(huán)境外的管理操作。
撤銷角色此動作從角色中刪除用戶的許可權(quán)。它可用于刪除角色成員資格和角色管理員特權(quán)。此動作要輸入的是對角色的引用以及對要從其中刪除的用戶的引用。此動作只可供作為用戶管理員和機構(gòu)管理員的用戶使用。
將角色分配給機構(gòu)此動作用于將角色22(或角色集)分配給機構(gòu)8。使用此動作,使不同的機構(gòu)8可被賦予不同的功能。此動作要輸入的是對要分配的角色的引用以及對要分配到的機構(gòu)的引用。這是管理動作。
從機構(gòu)撤銷角色此動作用于將角色22(或角色集)從機構(gòu)8刪除。此動作要輸入的是對要刪除的角色的引用以及對要從其中刪除該角色的機構(gòu)的引用。此動作是管理操作。
如上所述,安全性結(jié)構(gòu)14所執(zhí)行的安全性流程的建立是從對要驗證用戶8的初始要求直到確定他們是否擁有在MMS內(nèi)執(zhí)行功能或角色的許可權(quán)。安全性結(jié)構(gòu)14為了可以授予對特定動作或功能的訪問權(quán)還需要理解該動作目標指向的資源。采取這個要求得出安全性結(jié)構(gòu)的最終決策流程,如圖10所示。
作為此步驟的一部分,安全性結(jié)構(gòu)14判斷就相關(guān)目標是否列出擁有執(zhí)行所請求功能的許可權(quán)的用戶12。在對數(shù)據(jù)文件6本身執(zhí)行動作或功能的情況中,數(shù)據(jù)文件6已將其本身與用戶12的詳情以及他們被允許執(zhí)行什么功能(諸如讀、寫、編輯等)相關(guān)聯(lián)。同樣,在目標是有關(guān)用戶12的數(shù)據(jù)時,只有用戶12對他/她自己的數(shù)據(jù)進行動作或用戶12擁有機構(gòu)8的相應管理權(quán)時才允許該動作。圖13說明用戶嘗試更改密碼的流程圖。
安全性結(jié)構(gòu)包括用于存儲針對數(shù)據(jù)和文件夾的許可權(quán)的機制。這些許可權(quán)基于用戶12本身或用戶12是否是已經(jīng)分配有這些許可權(quán)的組20的成員。
還可以在資產(chǎn)元數(shù)據(jù)級指定許可權(quán)。
建議提供一種許可權(quán)層次結(jié)構(gòu),這將允許用戶12授予其他用戶12許可權(quán)以執(zhí)行編輯。下表通過指定在LDAP中授予/撤銷的許可權(quán)的平直列表來說明可能配置的方案
授予在撤銷之前執(zhí)行以確保一致性。例如,授予刪除和撤銷查看按確保兩個動作互相抵消的順序執(zhí)行。
在用戶交互方面,許可權(quán)模型為用戶界面的開發(fā)者賦予根據(jù)資產(chǎn)和元數(shù)據(jù)許可權(quán)向用戶呈現(xiàn)界面的能力。例如,如果用戶沒有對資產(chǎn)的編輯許可權(quán),在都柏林核心元數(shù)據(jù)(Dublin Core metadata)屏幕上可以禁用輸入字段和按鈕。
資產(chǎn)具有所屬的機構(gòu)8和擁有者。擁有者可能是創(chuàng)建該資產(chǎn)/文件夾的用戶,雖然此所有權(quán)關(guān)系可能隨時間而改變(例如最初的擁有者離開公司)。所屬機構(gòu)可能是擁有者的機構(gòu),但是可能代表另一個機構(gòu)創(chuàng)建資產(chǎn)。
代理資產(chǎn)與其主機具有同一機構(gòu)。在如下情況時執(zhí)行此規(guī)則-代理被錄入-在主機上改變所屬機構(gòu)同樣,“新版本”資產(chǎn)與它們的“前一版本”具有同一機構(gòu)。在如下情況時執(zhí)行此規(guī)則-版本被錄入理解資產(chǎn)控制要求的最佳方式是查看與MMS內(nèi)資產(chǎn)相關(guān)的使用情況,以及與資產(chǎn)和資產(chǎn)管理相關(guān)的角色種類。
使用情況是與文件夾和MMS內(nèi)資產(chǎn)的管理相關(guān)的可執(zhí)行動作。
創(chuàng)建根文件夾此動作的功能是創(chuàng)建用戶或組文件夾。
創(chuàng)建子文件夾此動作的功能是在文件夾內(nèi)創(chuàng)建文件夾。
編輯文件夾此動作的功能是編輯文件夾,例如更改有效日期。
設(shè)置文件夾擁有者此動作的功能是更改文件夾擁有者或所屬機構(gòu)。
刪除文件夾此動作的功能是刪除文件夾和它參與的任何包含關(guān)系(作為父文件夾和/或子文件夾)。軟刪除或硬刪除均可供使用(可使用LDAP來配置)。軟刪除結(jié)束日期以使文件夾不再有效,而硬刪除刪除記錄。
查看文件夾的訪問權(quán)此動作的功能是查看文件夾的訪問許可權(quán)。
授予文件夾的訪問權(quán)此動作的功能是授予對文件夾的訪問權(quán)。
撤銷文件夾的訪問權(quán)此動作的功能是撤銷對文件夾的訪問權(quán)。
編輯文件夾都柏林核心元數(shù)據(jù)此動作的功能是編輯文件夾的都柏林核心元數(shù)據(jù)。
添加文件夾的用戶定義的元數(shù)據(jù)此動作的功能是向文件夾添加用戶定義的元數(shù)據(jù)。
編輯文件夾的用戶定義的元數(shù)據(jù)此動作的功能是編輯文件夾的用戶定義的元數(shù)據(jù)。
刪除文件夾的用戶定義的元數(shù)據(jù)此動作的功能是刪除文件夾的用戶定義的元數(shù)據(jù)。
查看對文件夾用戶定義的元數(shù)據(jù)的訪問權(quán)此動作的功能是查看對文件夾用戶定義的元數(shù)據(jù)的訪問許可權(quán)。
授予對文件夾用戶定義的元數(shù)據(jù)的訪問權(quán)此動作的功能是授予對文件夾的用戶定義的元數(shù)據(jù)的訪問權(quán)。
撤銷對文件夾用戶定義的元數(shù)據(jù)的訪問權(quán)此動作的功能是撤銷對文件夾的用戶定義的元數(shù)據(jù)的訪問權(quán)。
創(chuàng)建鏈接此動作的功能是創(chuàng)建文件夾與其它文件夾/資產(chǎn)之間的包含關(guān)系。
刪除鏈接此動作的功能是刪除文件夾與其它文件夾/資產(chǎn)之間的包含關(guān)系。軟刪除或硬刪除均可供使用(可使用LDAP來配置)。軟刪除結(jié)束日期以使鏈接不再有效,而硬刪除刪除記錄。
錄入資產(chǎn)此動作的功能是錄入/創(chuàng)建資產(chǎn)。
錄入代理此動作的功能是錄入/創(chuàng)建作為另一個資產(chǎn)的代理的資產(chǎn)。代理應該為只讀的,即不允許對代理的編輯許可權(quán)。如果用戶授予編輯許可權(quán),則MMS系統(tǒng)將會在業(yè)務層中出故障且不返回信息。
錄入版本此動作的功能是錄入/創(chuàng)建作為現(xiàn)有資產(chǎn)的新版本的資產(chǎn)?,F(xiàn)有資產(chǎn)日期結(jié)束,從而不再有效。新版本被放置于現(xiàn)有資產(chǎn)所在的文件夾中。
編輯資產(chǎn)此動作的功能是編輯資產(chǎn),例如更改有效日期。
設(shè)置資產(chǎn)擁有者此動作的功能是更改資產(chǎn)的擁有者或所屬機構(gòu)。
刪除資產(chǎn)此動作的功能是刪除資產(chǎn)和它所參與的任何關(guān)系。軟刪除或硬刪除均可供使用(可使用LDAP來配置)。軟刪除讓資產(chǎn)結(jié)束日期以使之不再有效,而硬刪除刪除記錄。
查看對資產(chǎn)的訪問權(quán)此動作的功能是查看資產(chǎn)的訪問許可權(quán)。
授予對資產(chǎn)的訪問權(quán)此動作的功能是授予對資產(chǎn)的訪問權(quán)。
撤銷對資產(chǎn)的訪問權(quán)此動作的功能是撤銷對資產(chǎn)的訪問權(quán)。
編輯資產(chǎn)的都柏林核心元數(shù)據(jù)此動作的功能是編輯資產(chǎn)的都柏林核心元數(shù)據(jù)。
編輯資產(chǎn)格式元數(shù)據(jù)此動作的功能是編輯資產(chǎn)的格式元數(shù)據(jù)。此動作僅會在再次提取資產(chǎn)的格式元數(shù)據(jù)時執(zhí)行,例如新格式元數(shù)據(jù)提取器被設(shè)為可用時。
添加資產(chǎn)的用戶定義的元數(shù)據(jù)此動作的功能是向資產(chǎn)添加用戶定義的元數(shù)據(jù)。
編輯資產(chǎn)的用戶定義的元數(shù)據(jù)此動作的功能是編輯資產(chǎn)的用戶定義的元數(shù)據(jù)。
刪除資產(chǎn)的用戶定義的元數(shù)據(jù)此動作的功能是刪除資產(chǎn)的用戶定義的元數(shù)據(jù)。
查看對資產(chǎn)用戶定義的元數(shù)據(jù)的訪問權(quán)此動作的功能是查看對資產(chǎn)用戶定義的元數(shù)據(jù)的訪問許可權(quán)。
授予對資產(chǎn)用戶定義的元數(shù)據(jù)的訪問權(quán)此動作的功能是授予對資產(chǎn)的用戶定義的元數(shù)據(jù)的訪問權(quán)。
撤銷對資產(chǎn)用戶定義的元數(shù)據(jù)的訪問權(quán)此動作的功能是撤銷對資產(chǎn)的用戶定義的元數(shù)據(jù)的訪問權(quán)。
創(chuàng)建代理關(guān)系此動作的功能是創(chuàng)建兩個資產(chǎn)之間的代理關(guān)系。代理應該為只讀的,因此所有對代理的編輯許可權(quán)都將被取消。
刪除代理關(guān)系此動作的功能是刪除兩個資產(chǎn)之間的代理關(guān)系。
創(chuàng)建組任何驗證的用戶具有在MMS內(nèi)創(chuàng)建組的功能。此組創(chuàng)建在他們的機構(gòu)的范圍內(nèi),用戶被自動安裝為該組的擁有者。然后就可以使用組來保存其它組和用戶的集合,并且可用于限定對MMS內(nèi)資產(chǎn)的許可權(quán)。此動作要輸入的是要創(chuàng)建的組的名稱。
刪除組刪除組是將其從系統(tǒng)中刪除。它刪除該組以及從其它位置對該組的任何引用(注意,如果存在對該組的引用,則應該顯示警告消息)。此動作要輸入的是對該組的引用。對此動作的授權(quán)是根據(jù)用戶是否是組的擁有者、機構(gòu)管理員或MMS管理員而定的。
授予組的成員資格這是用戶授予另一實體(用戶或組)某個組內(nèi)成員資格的動作。此動作要輸入的是要授予的成員資格所屬的組和對要添加到該組的用戶/組的引用。對此動作的授權(quán)是根據(jù)用戶是否是組的擁有者、機構(gòu)管理員、域管理員或MMS管理員而定的。
從組中撤銷成員資格這是從某個組刪除一個實體(用戶或組)的動作。此動作所要輸入的是對該組的引用和對要從其中刪除的實體的引用。對此動作的授權(quán)是根據(jù)用戶是否是組的擁有者、機構(gòu)管理員、域管理員或MMS管理員而定的。不能對組的擁有者撤銷成員資格。
本部分定義文檔中用到的術(shù)語。原因是在ASP(應用服務提供商)環(huán)境中提供基于角色的安全性體系結(jié)構(gòu)是一個復雜的操作。
記住,現(xiàn)在安全性結(jié)構(gòu)14要求能夠理解給定動作所操作的目標,下一階段定義表示MMS內(nèi)目標的方法。參考圖3到圖6進行上述討論。表示需要的方法足夠通用,使得安全性管理器只需知道到哪里查詢請求是否被允許,而無需知道所有可能的目標。這相當于知道如何轉(zhuǎn)換角色的規(guī)則即可,而無需知道所有現(xiàn)存的角色。因此,框架對于所考慮的資源是中立的,它提供用于訪問數(shù)據(jù)庫內(nèi)諸如資產(chǎn)和文件夾等的基礎(chǔ),同時還能夠處理對目錄服務器內(nèi)的角色22、用戶12和機構(gòu)8的查詢。
圖10所示的目標定位的最后一個方面是MMS內(nèi)的資源和信息所具有的可見性。任何機構(gòu)8需要能夠指定它們準備與之合作的機構(gòu)8。這種關(guān)系需要明確。這需要是在流程的“動作目標是否允許”部分中的第一檢查之一。因此,諸如數(shù)據(jù)庫存4或數(shù)據(jù)文件6的任何資源都需要為某個機構(gòu)8所有,并且任何訪問都需要由所屬機構(gòu)的機構(gòu)優(yōu)選來作為中介。
在運行MMS時,允許各個操作員或參與者根據(jù)他們屬于MMS的職責擁有不同級別的控制權(quán)。圖11說明參與MMS的各種參與者。
用戶12是MMS內(nèi)的基本單元。用戶12能夠在系統(tǒng)內(nèi)執(zhí)行除錄入新資產(chǎn)以外的大多數(shù)動作。用戶可以修改他們自己的數(shù)據(jù)和他們擁有訪問權(quán)的數(shù)據(jù)、創(chuàng)建和控制組20以及搜索/下載資產(chǎn)。用戶12對系統(tǒng)擁有的訪問權(quán)取決于他們所屬的機構(gòu)8和組20。
用戶管理員30被允許執(zhí)行用戶12可以執(zhí)行的任何動作,并且另外還擁有關(guān)于在MMS內(nèi)創(chuàng)建和管理用戶12的功能。用戶管理員30可以在與它們自己相同的機構(gòu)8內(nèi)控制角色22、密碼和用戶12的個人詳細信息。他們還可以在他們的機構(gòu)內(nèi)創(chuàng)建新用戶12。
允許文件夾管理員32執(zhí)行用戶12可以執(zhí)行的任何動作,以及另外還擁有關(guān)于文件夾(即數(shù)據(jù)文件6的集合)管理的功能。文件夾管理員32可以管理他們機構(gòu)8范圍內(nèi)的任何文件夾。這包括創(chuàng)建、刪除和許可。
允許組管理員34執(zhí)行用戶12可以執(zhí)行的任何動作以及另外還擁有關(guān)于組管理的功能。組管理員34可以管理他們自己機構(gòu)8范圍內(nèi)現(xiàn)有的任何組。
允許資產(chǎn)管理員36執(zhí)行用戶12可以執(zhí)行的任何動作以及另外還擁有涉及資產(chǎn)的職責和功能。資產(chǎn)管理員擁有對他們機構(gòu)所有的任何資產(chǎn)的管理特權(quán)以及錄入新資產(chǎn)的功能。
機構(gòu)管理員38擁有對屬于他們自己機構(gòu)8范圍內(nèi)的任何對象的管理特權(quán)。
錄入員40是一個特殊角色,供可以將新資產(chǎn)引入系統(tǒng)但不能搜索和查看現(xiàn)有資產(chǎn)的人使用。此職責應該被指派給負責批量錄入新資產(chǎn)的人,或者此職責可以添加給用戶12,以賦予他們錄入文件的附加特權(quán)。
MMS還可以包括核查功能。
就安全性而言,有兩種使用術(shù)語核查的方式。它們是核查應用或系統(tǒng)的安全性的功能以及核查應用內(nèi)發(fā)生什么的功能。這兩個功能都很重要。要理解這些要求,重要的是理解在MMS環(huán)境中如何控制安全性。
如圖12所示,通過應用內(nèi)的安全性結(jié)構(gòu)14的基本流程,動作才會被執(zhí)行。如上所述,安全性結(jié)構(gòu)根據(jù)嘗試執(zhí)行該動作的用戶12的許可權(quán)、他們的角色以及嘗試執(zhí)行動作所針對的對象作出關(guān)于是否執(zhí)行該動作的決策。在這一點,該結(jié)構(gòu)記錄所嘗試的動作以及該動作是被允許還是被拒絕。然后,就可以嘗試執(zhí)行該動作,并向調(diào)用者返回任何響應或告知調(diào)用者他們沒有足夠許可權(quán)執(zhí)行所請求的動作。
在發(fā)行應用程序之前會測試其安全性。萬維網(wǎng)應用程序在此方向上提出引起關(guān)注的難題,因為HTTP協(xié)議是無狀態(tài)的。因此,可能請求一個頁面,但是不一定訪問過緊鄰的前一個頁面。一旦用戶12進行授權(quán)的會話,他們可(在理論上)觸發(fā)系統(tǒng)內(nèi)的任何動作。因此,需要一個徹底審查和測試過程,以便確保安全性結(jié)構(gòu)14在限定應用程序內(nèi)的訪問權(quán)時正常發(fā)揮作用。從這個角度來看,極重要的是該結(jié)構(gòu)擁有盡可能少的入口點(在本例中為一個),這樣就只有一個為執(zhí)行此檢查而需要實施的接口。
一旦應用程序運行,用戶12就可以訪問具有不同級別許可權(quán)的功能??梢杂涗浾l在系統(tǒng)內(nèi)何時做過什么是非常重要的,這樣可以追蹤系統(tǒng)內(nèi)的潛在問題。應用程序內(nèi)的所有動作按動作粒度被記錄,這是重要的。可以使用軟件來分析萬維網(wǎng)服務器記錄并且達到非常接近此功能。此處的問題是,請求該動作的用戶12不一定會被捕捉到,而且也可能未捕捉到該動作的參數(shù)和詳細信息。因此,該系統(tǒng)內(nèi)進行的所有動作都會被記錄。能夠?qū)崿F(xiàn)這一點就允許如下事項支持桌面任何技術(shù)支持功能都將(在某個階段)需要知道用戶12一直在嘗試什么動作,以便幫助他們處理問題。從幫助桌面的觀點來看,最好有關(guān)于用戶正在做什么的兩個角度,使得它們可以從用戶那里獲取用戶認為他們正在做什么的信息,以及從系統(tǒng)獲取系統(tǒng)認為他們正在做什么的信息。這還可在系統(tǒng)的用戶界面內(nèi)提供到不一致性區(qū)域的極好反饋路徑。
可計量性如果核查數(shù)據(jù)庫中出現(xiàn)某個情況,則可能是用戶執(zhí)行(或嘗試)了該動作。這在機構(gòu)與技術(shù)支持交談時申明應用程序出錯以便蓋住用戶錯誤的支持情況中非常有幫助。在ASP環(huán)境中,各公司可能彼此共享資產(chǎn),在法律角度上來說,這對于MMS供應商也是重要的。在此情況下,兩個競爭對手公司不希望對方具有其資產(chǎn)/公司架構(gòu)的可視性。在可能授予此訪問權(quán)的情況下,能夠證明此訪問權(quán)不是因為應用程序出錯而授予的,這對于MMS供應商來說非常重要。在允許訪問權(quán)的用戶ID泄密時,仍允許MMS供應商能夠說明違反安全性的發(fā)生是因為特定帳戶泄密。
驗證安全性受損理論上,黑客可能獲取進入運行MMS的系統(tǒng)的入口,在應用環(huán)境外對一些東西進行更改。核查跟蹤提供一些東西來對照比較,以便可以判斷此類更改的性質(zhì)和范圍。
識別可能的非法入侵嘗試核查數(shù)據(jù)庫也記錄對用戶無訪問權(quán)的東西進行訪問的嘗試。如果用戶界面完善,就應該不會發(fā)生這種情況。實際上,這種情況會出現(xiàn),只是應該不會經(jīng)常出現(xiàn)。若能看到失敗執(zhí)行()動作的次數(shù),就可以初步確認可能的入侵嘗試和所嘗試的安全性侵犯。例如,用戶帳戶可能被泄密,黑客利用它來操縱HTTP請求以嘗試觸發(fā)其它動作。此類活動會在日志記錄的分析時顯示,這可供MMS的管理員決定是否需要監(jiān)控或鎖定用戶帳戶。
為了完整,下文給出上文所用的一些術(shù)語的定義。
ASP(應用服務供應商)ASP是多個機構(gòu)的應用供應商。這表明此類應用供應商為個人組成的多個集體提供服務。從應用的角度來說,意味著對每個機構(gòu)提供一個功能塊,且這些功能塊不一定相同。另外,應用需要同時知道用戶身份及其所屬機構(gòu),以便理解其安全性要求(這也會影響數(shù)據(jù)的可見性)。
組在此文檔中,組是為了組織涉及資產(chǎn)訪問的用戶的集合而使用的實體。組可以跨機構(gòu),即單個組可以包含多個機構(gòu)的成員。組還可以分層設(shè)置,這樣可以在MMS框架內(nèi)組中有組。
角色角色是用于在MMS內(nèi)定義職責和可用功能的機制。角色是用于對用戶的操作功能進行分組的機制。它們存在于單個機構(gòu)的范圍內(nèi),而不能跨多個機構(gòu)。原因是為了保持角色與組之間非常明確的區(qū)分。角色以對于整個MMS來說全局的方式存儲,然后根據(jù)各個機構(gòu)的需求被引用,這樣不同的機構(gòu)就可以被賦予不同的功能。全局角色可以包含所包括的角色列表,這樣可以將角色組合到角色包中。這種分組不在機構(gòu)級進行。
驗證驗證是從MMS的最終用戶提取一組憑證并對照中央保存儲存內(nèi)容來驗證它的過程。最終結(jié)果可以說具有合理的可信度,被驗證的用戶是他們所聲稱的身份。
授權(quán)授權(quán)是選擇通過驗證的用戶并決定允許他們在MMS內(nèi)執(zhí)行動作或操作。授權(quán)只能對通過驗證的用戶進行。
用戶用戶是使用MMS應用的個體。用戶屬于單個機構(gòu)。用戶還可以屬于零個或零個以上組,并被指派零個或零個以上角色。
機構(gòu)機構(gòu)是使用MMS來管理它們的數(shù)字資產(chǎn)的實體。一個機構(gòu)由許多用戶、組和角色組成。
資產(chǎn)資產(chǎn)是存儲在MMS內(nèi)的數(shù)字媒體。
目錄服務器目錄服務器是MMS系統(tǒng)內(nèi)的組件,它存儲MMS內(nèi)所有用戶、組、機構(gòu)和角色的目錄。這是完成關(guān)于安全性判斷的決策的中央庫。
應用服務器應用服務器是MMS應用所在的平臺。它提供創(chuàng)建應用所基于的基礎(chǔ)設(shè)施(例如/J2EE萬維網(wǎng)和豆容器)。
動作動作是用戶在MMS系統(tǒng)內(nèi)執(zhí)行的功能/操作。它也可以稱為操作。
文件夾文件夾是MMS內(nèi)對項目分組的方式。MMS實質(zhì)上可以視為媒體資產(chǎn)的虛擬文件系統(tǒng)。在此上下文中,文件夾是一系列資產(chǎn)或其它文件夾的容器。
可見性理解ASP環(huán)境中的可見性的概念是很重要的。通常,機構(gòu)都不具有對ASP內(nèi)其他機構(gòu)的任何可見性。在MMS的情況中,機構(gòu)之間彼此許可對方的可見性,為了在機構(gòu)之間對媒體協(xié)同工作和共享媒體,這確實是必要的。缺省情況下,機構(gòu)(及其所有相關(guān)資源)對于MMS內(nèi)的任何其他機構(gòu)是不可見的??梢愿拇丝梢娦詠碓试S完成機構(gòu)間協(xié)同工作(但其關(guān)系是明確的而非暗含的)。
權(quán)利要求
1.一種數(shù)據(jù)管理系統(tǒng),它包括用于存儲多個數(shù)據(jù)庫存的數(shù)據(jù)庫;以及用于控制在所述數(shù)據(jù)庫的數(shù)據(jù)庫存中數(shù)據(jù)的存儲以及允許多個外部機構(gòu)訪問所述數(shù)據(jù)的接口,每個機構(gòu)包括一個或多個各自的成員;其中所述接口包括控制所述機構(gòu)的成員對所述數(shù)據(jù)的訪問的安全性結(jié)構(gòu)。
2.一種為多個外部機構(gòu)提供對包含多個數(shù)據(jù)庫存的公共數(shù)據(jù)庫的訪問的方法,每個機構(gòu)包括一個或多個各自的成員,所述方法包括用于控制所述機構(gòu)的成員對所述數(shù)據(jù)的訪問的安全性結(jié)構(gòu)的各步驟。
3.一種供存儲多個數(shù)據(jù)庫存的數(shù)據(jù)庫使用的安全性結(jié)構(gòu),所述安全性結(jié)構(gòu)實現(xiàn)不同外部機構(gòu)與所述數(shù)據(jù)庫存的數(shù)據(jù)之間的接口,每個機構(gòu)擁有一個或多個各自的成員,而且所述安全性結(jié)構(gòu)控制不同機構(gòu)的成員對所述數(shù)據(jù)庫存的數(shù)據(jù)的訪問。
4.如權(quán)利要求1、2或3所述的系統(tǒng)、方法或結(jié)構(gòu),其特征在于,所述機構(gòu)操作各個數(shù)據(jù)存儲/通信系統(tǒng)并且包括至所述數(shù)據(jù)庫的外部連接。
5.如權(quán)利要求4所述的系統(tǒng)、方法或結(jié)構(gòu),其特征在于,所述數(shù)據(jù)存儲/通信系統(tǒng)包括用于相應系統(tǒng)的各種管理員權(quán)限。
6.如前述任一權(quán)利要求所述的系統(tǒng)、方法或結(jié)構(gòu),其特征在于,所述成員對數(shù)據(jù)的訪問至少包括讀、寫和編輯所述數(shù)據(jù)。
7.如前述任一權(quán)利要求所述的系統(tǒng)、方法或結(jié)構(gòu),其特征在于,所述數(shù)據(jù)庫存具有不同的相應所有權(quán)關(guān)系。
8.如前述任一權(quán)利要求所述的系統(tǒng)、方法或結(jié)構(gòu),其特征在于,一個或多個所述數(shù)據(jù)庫存為相應的機構(gòu)所有。
9.如前述任一權(quán)利要求所述的系統(tǒng)、方法或結(jié)構(gòu),其特征在于,所述安全性結(jié)構(gòu)允許所述成員請求有關(guān)所述數(shù)據(jù)庫的功能的操作,所述功能包括對數(shù)據(jù)的訪問。
10.如權(quán)利要求9所述的系統(tǒng)、方法或結(jié)構(gòu),其特征在于,所述機構(gòu)之一的成員請求功能時,安全性結(jié)構(gòu)要求所述成員的ID通過驗證。
11.如權(quán)利要求9或10所述的系統(tǒng)、方法或結(jié)構(gòu),其特征在于,所述安全性結(jié)構(gòu)包括可供所述機構(gòu)的相應成員使用的功能列表,當所述機構(gòu)之一的成員請求功能時,所述安全性結(jié)構(gòu)要求判斷所請求的功能是否可供所述成員使用。
12.如權(quán)利要求11所述的系統(tǒng)、方法或結(jié)構(gòu),其特征在于,所述安全性結(jié)構(gòu)包括關(guān)于每個機構(gòu)的一個或多個角色,每個角色與一個或多個功能相關(guān)并且定義有資格操作所述角色的所述一個或多個功能的機構(gòu)的成員。
13.如權(quán)利要求12所述的系統(tǒng)、方法或結(jié)構(gòu),其特征在于,所述安全性結(jié)構(gòu)包括一個或多個模板,每個模板提供一個或多個功能的列表,以及所述角色具有指向所述模板的指針,以便指示所述一個或多個功能可供為所述角色定義的成員使用。
14.如權(quán)利要求9至13中任一個所述的系統(tǒng)、方法或結(jié)構(gòu),其特征在于,所述安全性結(jié)構(gòu)包括關(guān)于每個相應機構(gòu)的、可見到所述相應機構(gòu)的所有其他機構(gòu)的指示,當所述機構(gòu)之一的成員請求功能時,所述安全性結(jié)構(gòu)要求確定所述功能未要求訪問對于所述成員的機構(gòu)不可見的機構(gòu)所擁有的數(shù)據(jù)庫存的數(shù)據(jù)。
15.如權(quán)利要求9至14中任一項所述的系統(tǒng)、方法或結(jié)構(gòu),其特征在于,所述安全性結(jié)構(gòu)規(guī)定功能的每個目標具有與之相關(guān)的一個或多個許可權(quán),所述許可權(quán)允許定義的成員執(zhí)行定義的功能,以及當所述機構(gòu)之一的成員請求功能時,所述安全性結(jié)構(gòu)要求確定所述請求的功能和所述成員包含在所述功能的目標的所述許可權(quán)中。
16.如權(quán)利要求9至15中任一個所述的系統(tǒng)、方法或結(jié)構(gòu),其特征在于,所述安全性結(jié)構(gòu)規(guī)定每個功能允許多個目標。
17.一種系統(tǒng)、方法或結(jié)構(gòu),其中所述數(shù)據(jù)庫存的數(shù)據(jù)文件具有相關(guān)的許可權(quán),所述許可權(quán)允許定義的成員對相應數(shù)據(jù)文件執(zhí)行定義的功能,以及當所述機構(gòu)之一的成員請求對數(shù)據(jù)文件執(zhí)行的功能時,所述安全性結(jié)構(gòu)要求確定所請求的功能和所述成員包含在所述數(shù)據(jù)文件的所述許可權(quán)之中。
18.一種計算機程序,它包括用于在計算機運行所述程序時、執(zhí)行前述權(quán)利要求中任一個的所有步驟的程序代碼裝置。
19.一種計算機程序產(chǎn)品,它包括存儲在計算機可讀媒體中、用于在計算機上運行所述程序產(chǎn)品時執(zhí)行權(quán)利要求1至17中任一個的所有步驟的程序代碼裝置。
全文摘要
一種數(shù)據(jù)管理系統(tǒng),它包括用于存儲多個數(shù)據(jù)庫存的數(shù)據(jù)庫;以及用于控制在所述數(shù)據(jù)庫的數(shù)據(jù)庫存中數(shù)據(jù)的存儲并允許多個外部機構(gòu)訪問所述數(shù)據(jù)的接口,每個機構(gòu)包括一個或多個各自的成員,其中所述接口包括控制機構(gòu)成員對數(shù)據(jù)的訪問的安全性結(jié)構(gòu)。
文檔編號G06F21/62GK1495638SQ0315797
公開日2004年5月12日 申請日期2003年9月2日 優(yōu)先權(quán)日2002年9月2日
發(fā)明者J·W·赫斯, J W 赫斯, A·瓦爾克 申請人:索尼英國有限公司