專利名稱:用于數(shù)據(jù)訪問的基于單元格的安全表示的制作方法
用于數(shù)據(jù)訪問的基于單元格的安全表示背景網(wǎng)絡(luò)、數(shù)據(jù)和客戶機(jī)的無處不在的性質(zhì)不僅使得數(shù)據(jù)訪問對于企業(yè)環(huán)境更高效,而且施加更強(qiáng)大的控制和管理要求以防止對網(wǎng)絡(luò)和數(shù)據(jù)的非預(yù)期訪問。給予任一用 戶對企業(yè)數(shù)據(jù)的不受束縛的訪問不再是一般慣例。數(shù)據(jù)庫現(xiàn)在已經(jīng)變成與人力資源、財(cái) 務(wù)、產(chǎn)品開發(fā)、項(xiàng)目計(jì)劃等相關(guān)的所有種類的信息的巨大混合物。然而,雇員仍然需要 訪問特定數(shù)據(jù)集以提供所請求的信息。為了更為有效,常規(guī)解決方案提供安全等級分層結(jié)構(gòu)以限制對系統(tǒng)和數(shù)據(jù)的訪 問。數(shù)據(jù)庫系統(tǒng)提供基于例如用戶許可來限制對表的訪問的表安全性。然而,這些表可 包括大量行和列,應(yīng)給予用戶對某些信息的訪問權(quán)且不應(yīng)允許訪問某些信息。用于限制 對表的訪問的其他技術(shù)包括使用安全標(biāo)簽以及通過對表本身進(jìn)行安全登錄。這些和其他 常規(guī)技術(shù)中的每一種都不提供允許管理員選擇性地限制對數(shù)據(jù)的訪問但切出一數(shù)據(jù)集以 供用戶訪問和查看的解決方案。概述下面提供了簡明的概述,以便提供對此處所描述的一些新穎實(shí)施例的基本理 解。本概述不是詳盡的概述,并且它不旨在標(biāo)識關(guān)鍵/重要元素或描繪本發(fā)明的范圍。 其唯一的目的是以簡化形式呈現(xiàn)一些概念,作為稍后呈現(xiàn)的更詳細(xì)描述的序言。所公開的體系結(jié)構(gòu)方便在每一個(gè)用戶的基礎(chǔ)上的基于單元格的安全性。用于該 能力的安全模型不僅包括維度級表,而且被擴(kuò)展成包括單元格級表。一替換實(shí)現(xiàn)可采用 與數(shù)據(jù)庫應(yīng)用程序中的事實(shí)表類似的單元格級安全表。在一特定實(shí)現(xiàn)中,可以在性能管理服務(wù)器應(yīng)用程序中采用單元格級安全性。認(rèn) 證可由諸如提供與性能管理服務(wù)器應(yīng)用程序兼容的能力和功能的服務(wù)器應(yīng)用程序等另一 應(yīng)用程序的認(rèn)證服務(wù)來遠(yuǎn)程執(zhí)行。然而,授權(quán)功能可對于性能管理服務(wù)器應(yīng)用程序本地 執(zhí)行。該安全模型可包括現(xiàn)有維度表加上單元格安全表,該單元格安全表包括單元格 許可表、單元格限定符表以及包括單元格許可表、單元格限定符兩者的表。與對給定用 戶應(yīng)用于單元格的安全性相關(guān)聯(lián)的元數(shù)據(jù)可被本地地存儲在服務(wù)器應(yīng)用程序元數(shù)據(jù)存儲 中,以便針對通過認(rèn)證和授權(quán)的用戶正在查詢的數(shù)據(jù)立方體進(jìn)行檢索和應(yīng)用。然后向用 戶呈現(xiàn)經(jīng)過濾的結(jié)果。為了為實(shí)現(xiàn)上述及相關(guān)目的,本文結(jié)合下面的描述和附圖來描述某些說明性方 面。這些方面指示了可以實(shí)施本文所公開的原理的各種方式,所有方面及其等效方面旨 在落入所要求保護(hù)的主題的范圍內(nèi)。結(jié)合附圖閱讀下面的詳細(xì)描述,其他優(yōu)點(diǎn)和新穎特 征將變得顯而易見。附圖簡述
圖1示出了計(jì)算機(jī)實(shí)現(xiàn)的數(shù)據(jù)安全系統(tǒng)。圖2示出了其中性能管理服務(wù)器應(yīng)用程序包括圖1的系統(tǒng)的系統(tǒng)。圖3示出了數(shù)據(jù)表中的維度和單元格安全性。
圖4示出了可用于提供單元格級安全性的示例性安全表集。圖5示出了用于性能管理服務(wù)器應(yīng)用程序的認(rèn)證和授權(quán)方案。圖6示出了保護(hù)數(shù)據(jù)的計(jì)算機(jī)實(shí)現(xiàn)的方法。圖7示出了對基于單元格的安全性進(jìn)行認(rèn)證和授權(quán)的方法。圖8示出了通 過擴(kuò)展安全模型來提供基于單元格的安全性的方法。圖9示出了根據(jù)所公開的體系結(jié)構(gòu)的可用于執(zhí)行基于單元格的安全性的計(jì)算系 統(tǒng)的框圖。圖10示出了方便性能管理服務(wù)器應(yīng)用程序中的基于單元格的安全性的示例性計(jì) 算環(huán)境的示意性框圖。詳細(xì)描述所公開的體系結(jié)構(gòu)方便在每一個(gè)用戶的基礎(chǔ)上的基于單元格的安全性。用于該 能力的安全模型不僅包括維度級表,而且被擴(kuò)展成包括單元格級表。該安全模型可包括 現(xiàn)有維度表加上單元格安全表,該單元格安全表包括單元格許可表、單元格限定符表以 及包括單元格許可表、單元格限定符兩者的表。與對給定用戶應(yīng)用于單元格的安全性相 關(guān)聯(lián)的元數(shù)據(jù)可被本地地存儲在本地元數(shù)據(jù)存儲中,以便針對通過認(rèn)證和授權(quán)的用戶正 在查詢的數(shù)據(jù)立方體進(jìn)行檢索和應(yīng)用。在一特定實(shí)現(xiàn)中,在性能管理服務(wù)器應(yīng)用程序中 采用單元格級安全性,其中認(rèn)證由認(rèn)證服務(wù)遠(yuǎn)程執(zhí)行,但授權(quán)功能對于性能管理服務(wù)器 應(yīng)用程序本地執(zhí)行?,F(xiàn)在將參考附圖,全部附圖中相同的附圖標(biāo)記用于表示相同的元件。在下面的 描述中,為了進(jìn)行說明,闡述了很多具體細(xì)節(jié)以便提供對本發(fā)明的全面理解。然而,顯 而易見,可以沒有這些具體細(xì)節(jié)的情況下實(shí)施各新穎實(shí)施例。在其他情況下,以框圖形 式示出了公知的結(jié)構(gòu)和設(shè)備以便于描述它們。本發(fā)明將涵蓋落入所要求保護(hù)的主題的精 神和范圍內(nèi)的所有修改、等效方案和替換方案。圖1示出了計(jì)算機(jī)實(shí)現(xiàn)的數(shù)據(jù)安全系統(tǒng)100。系統(tǒng)100包括用于為數(shù)據(jù)立方體 106的單元格定義安全屬性的定義組件102。提供用于將屬性104存儲為安全元數(shù)據(jù)110 以基于用戶查詢來應(yīng)用于數(shù)據(jù)立方體106的存儲組件108。系統(tǒng)100還可包括安全組件 112,該安全組件112用于基于用戶查詢來對數(shù)據(jù)立方體106應(yīng)用安全元數(shù)據(jù)110以生成 受保護(hù)的數(shù)據(jù)立方體114。安全屬性104可以在每一個(gè)用戶的基礎(chǔ)上定義,并且可包括對單元格的讀訪 問、有條件讀、讀/寫訪問或無訪問的許可。系統(tǒng)100還可包括用戶可用來根據(jù)維度和 度量來為用戶定義安全屬性104的用戶界面。定義組件102還便于定義維度屬性,并將這些維度屬性存儲為安全元數(shù)據(jù)110的 一部分。定義組件102和存儲組件108可以是用于在每一個(gè)用戶的基礎(chǔ)上保護(hù)數(shù)據(jù)立方 體單元格的性能管理應(yīng)用程序的一部分。如將在下文中描述的,安全元數(shù)據(jù)110可被存儲為安全表集,其中這些安全表 包括單元格許可表、單元格限定符表以及單元格許可和單元格限定符兩者的表。圖2示出了其中性能管理服務(wù)器應(yīng)用程序202包括圖1的系統(tǒng)100的系統(tǒng)200。 應(yīng)用程序202可以是可由客戶機(jī)204經(jīng)由瀏覽器或類似瀏覽器的客戶機(jī)應(yīng)用程序來訪問的 web應(yīng)用程序。在操作中,用戶可訪問服務(wù)器應(yīng)用程序202,訪問定義組件102以將安全屬性104分配給例如數(shù)據(jù)庫中的數(shù)據(jù)單元格。這些分配然后經(jīng)由存儲組件108被存儲為 安全元數(shù)據(jù)110。當(dāng)接收到來自對其施加安全屬性104的用戶的查詢時(shí),檢索安全元數(shù)據(jù) 并將其應(yīng)用于數(shù)據(jù)立方體以便為該特定用戶創(chuàng)建受保護(hù)的數(shù)據(jù)立方體。查詢結(jié)果然后以 基于安全屬性104的經(jīng)過濾的狀態(tài)被返回給用戶。注意,用戶可以是設(shè)法訪問數(shù)據(jù)立方 體106的另一軟件實(shí)體(例如,系統(tǒng)或方法)。由此,安全屬性104也可基于特定系統(tǒng)或 其他軟件模塊來分配。換言之,性能管理服務(wù)器應(yīng)用程序202的數(shù)據(jù)安全系統(tǒng)包括定義組件、存儲組 件以及安全組件,該定義組件用于為數(shù)據(jù)立方體的維度和度量定義安全屬性,該存儲組 件用于將屬性作為安全元數(shù)據(jù)存儲在性能管理應(yīng)用程序中,而安全組件用于基于用戶來 對數(shù)據(jù)立方體的維度和度量應(yīng)用安全元數(shù)據(jù)以生成受保護(hù)的數(shù)據(jù)立方體。
安全元數(shù)據(jù)被存儲為表集,其中這些表包括單元格許可表、單元格限定符表、 以及單元格許可和單元格限定符兩者的表。安全屬性包括在每一個(gè)用戶的基礎(chǔ)上在受保 護(hù)的數(shù)據(jù)立方體中應(yīng)用的對單元格的讀訪問、有條件讀、讀/寫訪問或無訪問,并且被 存儲為單元格級安全表。應(yīng)用程序202還可包括用來針對特定用戶將安全屬性分配給維 度和度量的用戶界面。由于度量是已知的,因此該用戶界面可用于在度量上定義單元格安全性(例 如,讀、有條件讀、以及讀/寫、無訪問)并在維度上定義限定符。限定符與維度安全 性類似。受保護(hù)的數(shù)據(jù)立方體的單元格的安全屬性可以在用戶與該單元格交互時(shí)經(jīng)由用 戶界面來展示。圖3示出了數(shù)據(jù)表中的維度和單元格安全性300。表302示出了地理維度數(shù)據(jù)以 及銷售和成本度量數(shù)據(jù)的簡單表的所有行和列。在沒有安全性的情況下,用戶將看見表 302中的數(shù)據(jù),即地理國家美國、加拿大和墨西哥的維度,以及銷售和成本度量。表304 表示在應(yīng)用維度安全性時(shí)展示的數(shù)據(jù)。此處,用戶被阻止接收和查看墨西哥地理維度的 數(shù)據(jù),這也阻塞對銷售和成本的訪問(整行將不被允許查看,如整行的虛線邊框所指示 的)。表306表示對墨西哥維度使用單元格安全性。用戶被允許看見墨西哥是查詢結(jié)果 的一部分,但該用戶不被允許看見銷售和成本值。由此,基于單元格的安全性允許更具 信息性的信息,但對可基于用戶期望看見數(shù)據(jù)而展示的數(shù)據(jù)具有更細(xì)粒度的控制。圖4示出了可用于提供單元格級安全性的示例性安全表400的集合。安全表400 包括維度表402和單元格表404。維度表402可包括用戶表406、角色表408、數(shù)據(jù)許可 表410、模型許可表412、用戶屬性表414、用戶角色表416、以及其他所需維度表。單 元格表404可包括單元格許可表418、單元格限定符表420、包括單元格限定符和單元格 許可兩者的組合表422、以及其他所需單元格表。單元格限定符表420可以是單元格許可 表418的子集。單元格許可表418可包括諸如單元格許可ID、模型許可ID、度量、許可 等列。在部署(或保存)時(shí),使用來自單元格表404的安全信息來在數(shù)據(jù)立方體上創(chuàng)建 對應(yīng)的單元格安全性。圖5示出了用于性能管理服務(wù)器應(yīng)用程序202的認(rèn)證和授權(quán)方案。如圖所示, 認(rèn)證可由遠(yuǎn)程認(rèn)證服務(wù)502執(zhí)行,諸如可以在與服務(wù)器應(yīng)用程序202與安裝在一起的伴隨 服務(wù)器應(yīng)用程序中采用。另一方面,授權(quán)可由服務(wù)器應(yīng)用程序202的本地授權(quán)服務(wù)來本 地地執(zhí)行。注意,授權(quán)是將特定許可授予實(shí)體或用戶,而認(rèn)證是相對于另一實(shí)體確立身份。例如,身份可以是客戶機(jī)、用戶、計(jì)算機(jī)等。使用存儲在性能管理服務(wù)器應(yīng)用程序202中的維度和單元格安全性來進(jìn)行授權(quán)。為了充分利用遠(yuǎn)程認(rèn)證服務(wù),性能管理服務(wù)器應(yīng)用程序202可被打包為遠(yuǎn)程服務(wù)的 共享服務(wù),由此展示web服務(wù)。在遠(yuǎn)程認(rèn)證服務(wù)認(rèn)證用戶之后,可使用遠(yuǎn)程服務(wù)對象模 型來從該遠(yuǎn)程服務(wù)中檢索用戶相關(guān)信息。由此,本地用戶表被減到最少以維護(hù)遠(yuǎn)程用戶 表和本地表用戶ID之間的映射。以下是表示用于執(zhí)行所公開的體系結(jié)構(gòu)的各新穎方面的示例性方法的一系列流 程圖。盡管出于解釋簡明的目的,此處例如以流圖或流程圖形式示出的一個(gè)或多個(gè)方法 被示出并描述為一系列動作,但是可以理解和明白,各方法不受動作的次序的限制,因 為根據(jù)本發(fā)明,某些動作可以按與此處所示并描述的不同的次序和/或與其他動作同時(shí) 發(fā)生。例如,本領(lǐng)域技術(shù)人員將會明白并理解,方法可被替換地表示為一系列相互關(guān)聯(lián) 的狀態(tài)或事件,諸如以狀態(tài)圖的形式。此外,并非在一方法中示出的所有動作都是新穎 實(shí)現(xiàn)所必需的。圖6示出了保護(hù)數(shù)據(jù)的計(jì)算機(jī)實(shí)現(xiàn)的方法。在600,針對特定用戶將安全屬性分 配給數(shù)據(jù)立方體的單元格。安全屬性可以是由諸如管理員或另一用戶等另一用戶先前定 義的屬性。在602,然后將安全屬性存儲為元數(shù)據(jù)。元數(shù)據(jù)可以與其他元數(shù)據(jù)本地地存 儲在一起。在604,接收并針對數(shù)據(jù)立方體處理用戶查詢。在606,對查詢結(jié)果應(yīng)用安 全元數(shù)據(jù)以返回經(jīng)過濾的結(jié)果。在608,向用戶展示(呈現(xiàn))經(jīng)過濾的結(jié)果。在性能管理服務(wù)器應(yīng)用程序中的特定實(shí)現(xiàn)中,安全屬性可以在性能管理服務(wù)器 元數(shù)據(jù)存儲中定義和存儲。這可經(jīng)由例如web服務(wù)接口來促進(jìn)。如上所述,安全屬性包括與用戶、角色、數(shù)據(jù)許可、模型許可、用戶屬性和用 戶角色相關(guān)的維度安全屬性,并且安全屬性包括與單元格許可、單元格限定符以及單元 格許可和單元格限定符的組合相關(guān)的單元格安全屬性。圖7示出了對基于單元格的安全性進(jìn)行認(rèn)證和授權(quán)的方法。在700,在每一個(gè) 用戶的基礎(chǔ)上將安全屬性分配給數(shù)據(jù)立方體單元格。在702,用戶創(chuàng)建并發(fā)送查詢。在 704,基于遠(yuǎn)程認(rèn)證服務(wù)或模塊來認(rèn)證用戶。在706,基于本地授權(quán)服務(wù)或模塊來對用戶 授權(quán)。在708,基于成功的用戶認(rèn)證和授權(quán)來檢索并應(yīng)用安全元數(shù)據(jù)。圖8示出了通過擴(kuò)展安全模型來提供基于單元格的安全性的方法。在800,通 過添加單元格許可表來擴(kuò)展安全模型。在802,通過添加單元格限定符表來擴(kuò)展安全模 型。在804,通過添加組合的單元格許可和單元格限定符表來擴(kuò)展安全模型。這還可包 括將用戶的用戶標(biāo)識符存儲在表中以便將表鏈接到用戶。如在本申請中所使用的,術(shù)語“組件”和“系統(tǒng)”旨在表示計(jì)算機(jī)相關(guān)的實(shí) 體,其可以是硬件、硬件和軟件的組合、軟件、或者執(zhí)行中的軟件。例如,組件可以是 但不限于,在處理器上運(yùn)行的進(jìn)程、處理器、硬盤驅(qū)動器、多個(gè)(光和/或磁存儲介質(zhì) 的)存儲驅(qū)動器、對象、可執(zhí)行代碼、執(zhí)行的線程、程序、和/或計(jì)算機(jī)。作為說明, 運(yùn)行在服務(wù)器上的應(yīng)用程序和服務(wù)器都可以是組件。一個(gè)或多個(gè)組件可以駐留在進(jìn)程和 /或執(zhí)行的線程內(nèi),且組件可以位于一臺計(jì)算機(jī)上和/或分布在兩臺或更多的計(jì)算機(jī)之 間。詞語“示例性”此處可用于表示用作示例、實(shí)例或說明。在此被描述為“示例性” 的任何方面或設(shè)計(jì)并不一定要被解釋為相比其他方面或設(shè)計(jì)更優(yōu)選或有利。
現(xiàn)在參考圖9,示出了可用于執(zhí)行根據(jù)所公開的體系結(jié)構(gòu)的基于單元格的安全性 的計(jì)算系統(tǒng)900的框圖。為了提供用于其各方面的附加上下文,圖9及以下討論旨在提 供對其中可實(shí)現(xiàn)該各方面的合適的計(jì)算系統(tǒng)900的簡要概括描述。盡管以上描述是在可 在一個(gè)或多個(gè)計(jì)算機(jī)上運(yùn)行的計(jì)算機(jī)可執(zhí)行指令的一般上下文中進(jìn)行的,但是本領(lǐng)域的 技術(shù)人員將認(rèn)識到,新穎實(shí)施例也可結(jié)合其他程序模塊和/或作為硬件和軟件的組合來 實(shí)現(xiàn)?!愣?,程序模塊包括執(zhí)行特定任務(wù)或?qū)崿F(xiàn)特定抽象數(shù)據(jù)類型的例程、程 序、組件、數(shù)據(jù)結(jié)構(gòu)等等。此外,本領(lǐng)域的技術(shù)人員可以理解,本發(fā)明的方法可用其他 計(jì)算機(jī)系統(tǒng)配置來實(shí)施,包括單處理器或多處理器計(jì)算機(jī)系統(tǒng)、小型計(jì)算機(jī)、大型計(jì)算 機(jī)、以及個(gè)人計(jì)算機(jī)、手持式計(jì)算設(shè)備、基于微處理器的或可編程消費(fèi)電子產(chǎn)品等,其 每一個(gè)都可操作上耦合到一個(gè)或多個(gè)相關(guān)聯(lián)的設(shè)備。所示各方面也可以在其中某些任務(wù)由通過通信網(wǎng)絡(luò)鏈接的遠(yuǎn)程處理設(shè)備來執(zhí)行 的分布式計(jì)算環(huán)境中實(shí)施。在分布式計(jì)算環(huán)境中,程序模塊可以位于本地和遠(yuǎn)程存儲器 存儲 設(shè)備中。計(jì)算機(jī)通常包括各種計(jì)算機(jī)可讀介質(zhì)。計(jì)算機(jī)可讀介質(zhì)可以是可由計(jì)算機(jī)訪問 的任何可用介質(zhì),且包括易失性和非易失性介質(zhì)、可移動和不可移動介質(zhì)。作為示例而 非限制,計(jì)算機(jī)可讀介質(zhì)可以包括計(jì)算機(jī)存儲介質(zhì)和通信介質(zhì)。計(jì)算機(jī)存儲介質(zhì)包括以 存儲如計(jì)算機(jī)可讀指令、數(shù)據(jù)結(jié)構(gòu)、程序模塊或其他數(shù)據(jù)等信息的任何方法或技術(shù)來實(shí) 現(xiàn)的易失性和非易失性、可移動和不可移動介質(zhì)。計(jì)算機(jī)存儲介質(zhì)包括但不限于RAM、 ROM、EEPROM,閃存或者其他存儲器技術(shù)、CD-ROM、數(shù)字視頻盤(DVD)或其他光 盤存儲、磁帶盒、磁帶、磁盤存儲或其他磁存儲設(shè)備、或可以用于存儲所需信息并且可 以由計(jì)算機(jī)訪問的任何其他介質(zhì)。再次參考圖9,用于實(shí)現(xiàn)各方面的示例性計(jì)算系統(tǒng)900包括具有處理單元904、 系統(tǒng)存儲器906和系統(tǒng)總線908的計(jì)算機(jī)902。系統(tǒng)總線908向包括但不限于系統(tǒng)存儲器 906的各系統(tǒng)組件提供到處理單元904的接口。處理單元904可以是市場上可購買到的各 種處理器中的任意一種。雙微處理器和其他多處理器體系結(jié)構(gòu)也可用作處理單元904。系統(tǒng)總線908可以是若干種總線結(jié)構(gòu)中的任一種,這些總線結(jié)構(gòu)還可互連 到存儲器總線(帶有或沒有存儲器控制器)、外圍總線、以及使用各類市場上可購買 到的總線體系結(jié)構(gòu)中的任一種的局部總線。系統(tǒng)存儲器906可包括非易失性存儲器 (NON-VOL) 910和/或易失性存儲器912 (例如,隨機(jī)存取存儲器(RAM))?;据斎? 輸出系統(tǒng)(BIOS)可被存儲在非易失性存儲器910 (例如,ROM、EPROM> EEPROM等) 中,其中BIOS是幫助諸如在啟動期間在計(jì)算機(jī)902內(nèi)的元件之間傳輸信息的基本例程。 易失性存儲器912還可包括諸如靜態(tài)RAM等高速RAM來用于高速緩存數(shù)據(jù)。計(jì)算機(jī)902還包括內(nèi)置硬盤驅(qū)動器(HDD)914(例如,EIDE、SATA),該內(nèi)置 HDD 914還可被配置成在合適的機(jī)殼中外部使用;磁軟盤驅(qū)動器(FDD) 916 (例如,從可 移動磁盤918中讀取或向其寫入);以及光盤驅(qū)動器920 (例如,從CD-ROM盤922中讀 取,或從諸如DVD等其他高容量光學(xué)介質(zhì)中讀取或向其寫入)。HDD 914、FDD 916、 以及光盤驅(qū)動器920可分別由HDD接口 924、FDD接口 926和光盤驅(qū)動器接口 928連接 到系統(tǒng)總線908。用于外置驅(qū)動器實(shí)現(xiàn)的HDD接口 924可包括通用串行總線(USB)和IEEE 1394接口技術(shù)中的至少一種或兩者。驅(qū)動器及相關(guān)聯(lián)的計(jì)算機(jī)可讀介質(zhì)提供了對數(shù)據(jù)、數(shù)據(jù)結(jié)構(gòu)、計(jì)算機(jī)可執(zhí)行指 令等的非易失性存儲。對于計(jì)算機(jī)902,驅(qū)動器和介質(zhì)容納適當(dāng)?shù)臄?shù)字格式的任何數(shù)據(jù) 的存儲。盡管以上對計(jì)算機(jī)可讀介質(zhì)的描述涉及HDD、可移動磁盤(例如FDD)以及諸 如CD或DVD等可移動光學(xué)介質(zhì),但是本領(lǐng)域的技術(shù)人員應(yīng)當(dāng)理解,示例性操作環(huán)境中 也可使用可由計(jì)算機(jī)讀取的任何其他類型的介質(zhì),諸如zip驅(qū)動器、磁帶盒、閃存卡、盒 式磁帶等等,并且任何這樣的介質(zhì)可包含用于執(zhí)行所公開的體系結(jié)構(gòu)的新穎方法的計(jì)算 機(jī)可執(zhí)行指令。多個(gè)程序模塊可被存儲在驅(qū)動器和易失性存儲器912中,包括操作系統(tǒng)930、一 個(gè)或多個(gè)應(yīng)用程序932、其他程序模塊934和程序數(shù)據(jù)936。在將計(jì)算機(jī)902用作服務(wù)器 時(shí),一個(gè)或多個(gè)應(yīng)用程序932、其他程序模塊934和程序數(shù)據(jù)936可包括定義組件102、 安全屬性、數(shù)據(jù)立方體106、存儲組件108、安全元數(shù)據(jù)110、安全組件112、受保護(hù)的數(shù) 據(jù)立方體114、性能管理服務(wù)器應(yīng)用程序202、表300、安全表400、本地授權(quán)服務(wù)504以 及例如圖7、8 和9中的方法。操作系統(tǒng)、應(yīng)用程序、模塊和/或數(shù)據(jù)的全部或部分也可被高速緩存在易失性 存儲器912中。應(yīng)該明白,所公開的體系結(jié)構(gòu)可以用市場上可購得的各種操作系統(tǒng)或操 作系統(tǒng)的組合來實(shí)現(xiàn)。用戶可以通過一個(gè)或多個(gè)有線/無線輸入設(shè)備,例如鍵盤938和諸如鼠標(biāo)940 等定點(diǎn)設(shè)備將命令和信息輸入到計(jì)算機(jī)902中。其他輸入設(shè)備(未示出)可包括話筒、 IR遙控器、操縱桿、游戲手柄、指示筆、觸摸屏等等。這些和其他輸入設(shè)備通常通過耦 合到系統(tǒng)總線908的輸入設(shè)備接口 942連接到處理單元904,但也可通過諸如并行端口、 IEEE 1394串行端口、游戲端口、USB端口、IR接口等其他接口連接。監(jiān)視器944或其他類型的顯示設(shè)備也經(jīng)由諸如視頻適配器946等接口連接到系統(tǒng) 總線908。除了監(jiān)視器944之外,計(jì)算機(jī)通常包括諸如揚(yáng)聲器、打印機(jī)等其他外圍輸出設(shè) 備(未示出)。計(jì)算機(jī)902可使用經(jīng)由有線和/或無線通信至諸如遠(yuǎn)程計(jì)算機(jī)948等的一個(gè)或多 個(gè)遠(yuǎn)程計(jì)算機(jī)的邏輯連接在網(wǎng)絡(luò)化環(huán)境中操作。遠(yuǎn)程計(jì)算機(jī)948可以是工作站、服務(wù)器 計(jì)算機(jī)、路由器、個(gè)人計(jì)算機(jī)、便攜式計(jì)算機(jī)、基于微處理器的娛樂設(shè)備、對等設(shè)備或 其他常見的網(wǎng)絡(luò)節(jié)點(diǎn),并且通常包括相對于計(jì)算機(jī)902描述的許多或所有元件,盡管為 簡明起見僅示出了存儲器/存儲設(shè)備950。所描繪的邏輯連接包括到局域網(wǎng)(LAN)952和 /或例如廣域網(wǎng)(WAN) 954等更大的網(wǎng)絡(luò)的有線/無線連接。這一 LAN和WAN連網(wǎng)環(huán) 境常見于辦公室和公司,并且方便了諸如內(nèi)聯(lián)網(wǎng)等企業(yè)范圍計(jì)算機(jī)網(wǎng)絡(luò),所有這些都可 連接到例如因特網(wǎng)等全球通信網(wǎng)絡(luò)。當(dāng)在LAN連網(wǎng)環(huán)境中使用時(shí),計(jì)算機(jī)902通過有線和/或無線通信網(wǎng)絡(luò)接口或 適配器956連接到LAN 952。適配器956可以方便到LAN 952的有線和/或無線通信, 并且還可包括其上設(shè)置的用于使用適配器956的無線功能進(jìn)行通信的無線接入點(diǎn)。當(dāng)在WAN連網(wǎng)環(huán)境中使用時(shí),計(jì)算機(jī)902可包括調(diào)制解調(diào)器958,或連接到 WAN 954上的通信服務(wù)器,或具有用于諸如通過因特網(wǎng)等通過WAN 954建立通信的其他 裝置。或?yàn)閮?nèi)置或?yàn)橥庵靡约坝芯€和/或無線設(shè)備的調(diào)制解調(diào)器958經(jīng)由輸入設(shè)備接口942連接到系統(tǒng)總線908。在聯(lián)網(wǎng)環(huán)境中,相對于計(jì)算機(jī)902所描繪的程序模塊或其部分可以存儲在遠(yuǎn)程存儲器/存儲設(shè)備950中。應(yīng)該理解,所示網(wǎng)絡(luò)連接是示例性的,并且 可以使用在計(jì)算機(jī)之間建立通信鏈接的其他手段。計(jì)算機(jī)902可操作來使用IEEE 802標(biāo)準(zhǔn)家族來與有線和無線設(shè)備或?qū)嶓w進(jìn)行 通信,這些實(shí)體例如是在操作上安置成與例如打印機(jī)、掃描儀、臺式和/或便攜式計(jì)算 機(jī)、個(gè)人數(shù)字助理(PDA)、通信衛(wèi)星、任何一件與無線可檢測標(biāo)簽相關(guān)聯(lián)的設(shè)備或位置 (例如,電話亭、報(bào)亭、休息室)以及電話進(jìn)行無線通信(例如,IEEE 802.11空中調(diào)制 技術(shù))的無線設(shè)備。這至少包括Wi-Fi (即無線保真)、WiMax和藍(lán)牙 無線技術(shù)。由 此,通信可以如對于常規(guī)網(wǎng)絡(luò)那樣是預(yù)定義結(jié)構(gòu),或者僅僅是至少兩個(gè)設(shè)備之間的自組 織(adhoc)通信。Wi-Fi網(wǎng)絡(luò)使用稱為IEEE 802.1 Ix(a、b、g等等)的無線電技術(shù)來提 供安全、可靠、快速的無線連接。Wi-Fi網(wǎng)絡(luò)可用于將計(jì)算機(jī)彼此連接、連接到因特網(wǎng)以 及連接到有線網(wǎng)絡(luò)(使用IEEE 802.3相關(guān)介質(zhì)和功能)?,F(xiàn)在參考圖10,示出了方便性能管理服務(wù)器應(yīng)用程序中的基于單元格的安全性 的示例性計(jì)算環(huán)境1000的示意性框圖。環(huán)境1000包括一個(gè)或多個(gè)客戶機(jī)1002。客戶機(jī) 1002可以是硬件和/或軟件(例如,線程、進(jìn)程、計(jì)算設(shè)備)。例如,客戶機(jī)1002可容 納cookie和/或相關(guān)聯(lián)的上下文信息。環(huán)境1000還包括一個(gè)或多個(gè)服務(wù)器1004。服務(wù)器1004也可以是硬件和/或軟 件(例如,線程、進(jìn)程、計(jì)算設(shè)備)。服務(wù)器1004可以例如通過使用本體系結(jié)構(gòu)來容納 線程以執(zhí)行變換。在客戶機(jī)1002和服務(wù)器1004之間的一種可能的通信能夠以適合在兩 個(gè)或更多計(jì)算機(jī)進(jìn)程之間傳輸?shù)臄?shù)據(jù)分組的形式進(jìn)行。數(shù)據(jù)分組可包括例如cookie和/ 或相關(guān)聯(lián)的上下文信息。環(huán)境1000包括可以用來使客戶機(jī)1002和服務(wù)器1004之間通信 更容易的通信框架1006 (例如,諸如因特網(wǎng)等全球通信網(wǎng)絡(luò))。通信可經(jīng)由有線(包括光纖)和/或無線技術(shù)來促進(jìn)。客戶機(jī)1002操作上被連 接到可以用來存儲對客戶機(jī)1002本地的信息(例如,cookie和/或相關(guān)聯(lián)的上下文信息) 的一個(gè)或多個(gè)客戶機(jī)數(shù)據(jù)存儲1008。同樣地,服務(wù)器1004可在操作上連接到可以用來存 儲對服務(wù)器1004本地的信息的一個(gè)或多個(gè)服務(wù)器數(shù)據(jù)存儲1010??蛻魴C(jī)1002可包括客戶機(jī)204,而服務(wù)器1004可包括例如性能管理服務(wù)器應(yīng)用 程序202和遠(yuǎn)程認(rèn)證服務(wù)502,而存儲組件108可包括服務(wù)器數(shù)據(jù)存儲1010。上面描述的包括所公開的體系結(jié)構(gòu)的各示例。當(dāng)然,描述每一個(gè)可以想到的組 件和/或方法的組合是不可能的,但本領(lǐng)域內(nèi)的普通技術(shù)人員應(yīng)該認(rèn)識到,許多其他組 合和排列都是可能的。因此,該新穎體系結(jié)構(gòu)旨在涵蓋所有這些落入所附權(quán)利要求書的 精神和范圍內(nèi)的更改、修改和變化。此外,就在說明書或權(quán)利要求書中使用術(shù)語“包 括”而言,這一術(shù)語旨在以與術(shù)語“包含”在被用作權(quán)利要求書中的過渡詞時(shí)所解釋的 相似的方式為包含性的。
權(quán)利要求
1.一種計(jì)算機(jī)實(shí)現(xiàn)的數(shù)據(jù)安全系統(tǒng)(100),包括用于為數(shù)據(jù)立方體的單元格定義安全屬性的定義組件(102);以及 用于將所述屬性存儲為安全元數(shù)據(jù)以基于用戶查詢來應(yīng)用于所述數(shù)據(jù)立方體的存儲 組件(108)。
2.如權(quán)利要求1所述的系統(tǒng),其特征在于,還包括用于基于所述用戶查詢來對所述數(shù) 據(jù)立方體應(yīng)用所述安全元數(shù)據(jù)的安全組件。
3.如權(quán)利要求1所述的系統(tǒng),其特征在于,所述安全屬性在每一個(gè)用戶的基礎(chǔ)上定義。
4.如權(quán)利要求1所述的系統(tǒng),其特征在于,所述安全屬性包括對所述單元格的讀訪 問、有條件讀、讀/寫訪問或無訪問。
5.如權(quán)利要求1所述的系統(tǒng),其特征在于,還包括可用來根據(jù)維度和度量來為用戶定 義所述安全屬性的用戶界面。
6.如權(quán)利要求1所述的系統(tǒng),其特征在于,所述定義組件還方便定義維度屬性并將所 述維度屬性存儲為所述安全元數(shù)據(jù)的一部分。
7.如權(quán)利要求1所述的系統(tǒng),其特征在于,所述安全元數(shù)據(jù)被存儲為安全表集,所 述安全表包括單元格許可表、單元格限定符表、以及單元格許可和單元格限定符兩者的 表。
8.如權(quán)利要求1所述的系統(tǒng),其特征在于,所述定義組件和所述存儲組件是用于在每 一個(gè)用戶的基礎(chǔ)上保護(hù)數(shù)據(jù)立方體單元格的性能管理應(yīng)用程序的一部分。
9.一種計(jì)算機(jī)實(shí)現(xiàn)的數(shù)據(jù)安全系統(tǒng)(200),包括性能管理服務(wù)器應(yīng)用程序的定義組件(102),所述定義組件用于為數(shù)據(jù)立方體的維度 和度量定義安全屬性;所述性能管理服務(wù)器應(yīng)用程序中的用于將所述屬性存儲為安全元數(shù)據(jù)的存儲組件 (108);以及所述性能管理服務(wù)器應(yīng)用程序的安全組件(112),所述安全組件用于基于用戶來對所 述數(shù)據(jù)立方體的維度和度量應(yīng)用所述安全元數(shù)據(jù)以生成受保護(hù)的數(shù)據(jù)立方體。
10.如權(quán)利要求9所述的系統(tǒng),其特征在于,所述安全元數(shù)據(jù)被存儲為表集,所述表 包括單元格許可表、單元格限定符表、以及單元格許可和單元格限定符兩者的表。
11.如權(quán)利要求9所述的系統(tǒng),其特征在于,所述安全屬性包括在所述受保護(hù)的數(shù)據(jù) 立方體中在每一個(gè)用戶的基礎(chǔ)上應(yīng)用的對所述單元格的讀訪問、有條件讀、讀/寫訪問 或無訪問。
12.如權(quán)利要求9所述的系統(tǒng),其特征在于,還包括用來針對特定用戶將所述安全屬 性分配給所述維度和度量的用戶界面。
13.如權(quán)利要求9所述的系統(tǒng),其特征在于,所述安全屬性被存儲為單元格級安全表。
14.如權(quán)利要求9所述的系統(tǒng),其特征在于,所述受保護(hù)的數(shù)據(jù)立方體的單元格的安 全屬性在所述用戶與所述單元格交互時(shí)展示。
15.—種保護(hù)數(shù)據(jù)的計(jì)算機(jī)實(shí)現(xiàn)的方法,包括針對特定用戶將安全屬性分配給數(shù)據(jù)立方體的單元格(600);將所述安全屬性存儲為元數(shù)據(jù)(602);處理針對所述數(shù)據(jù)立方體的用戶查詢(604);對查詢結(jié)果應(yīng)用所述安全元數(shù)據(jù)以返回經(jīng)過濾的結(jié)果(606);以及向所述用戶展示所述經(jīng)過濾的結(jié)果(608)。
16.如權(quán)利要求15所述的方法,其特征在于,還包括經(jīng)由web服務(wù)接口在性能管理 服務(wù)器元數(shù)據(jù)存儲中定義并存儲所述安全屬性,所述安全屬性包括對所述單元格的讀訪 問、有條件讀、讀/寫訪問或無訪問中的至少一個(gè),所述安全屬性在每一個(gè)用戶的基礎(chǔ) 上應(yīng)用于所述數(shù)據(jù)立方體。
17.如權(quán)利要求15所述的方法,其特征在于,還包括向安全模型添加單元格安全表, 所述表包括單元格許可表、單元格限定符表、以及單元格許可和單元格限定符兩者的 表。
18.如權(quán)利要求17所述的方法,其特征在于,還包括將所述用戶的用戶標(biāo)識符存儲在 所述表中以將所述表鏈接到所述用戶。
19.如權(quán)利要求15所述的方法,其特征在于,還包括經(jīng)由遠(yuǎn)程認(rèn)證服務(wù)來認(rèn)證所述用 戶并基于本地授權(quán)組件來對所述用戶授權(quán)。
20.如權(quán)利要求15所述的方法,其特征在于,所述安全屬性包括與用戶、角色、數(shù)據(jù) 許可、模型許可、用戶屬性和用戶角色相關(guān)的維度安全屬性,并且所述安全屬性包括與 單元格許可、單元格限定符以及單元格許可和單元格限定符的組合相關(guān)的單元格安全屬 性。
全文摘要
描述了一種用于在每一個(gè)用戶的基礎(chǔ)上的基于單元格的安全性的體系結(jié)構(gòu)。用于該能力的安全模型不僅包括維度級表,而且被擴(kuò)展成包括單元格級表。該安全模型可包括現(xiàn)有維度表加上單元格安全表,該單元格安全表包括單元格許可表、單元格限定符表以及包括單元格許可表、單元格限定符兩者的表。與對給定用戶應(yīng)用于單元格的安全性相關(guān)聯(lián)的元數(shù)據(jù)可被本地地存儲在本地元數(shù)據(jù)存儲中,以便針對通過認(rèn)證和授權(quán)的用戶正在查詢的數(shù)據(jù)立方體進(jìn)行檢索和應(yīng)用。在一特定實(shí)現(xiàn)中,在性能管理服務(wù)器應(yīng)用程序中采用單元格級安全性,其中認(rèn)證由認(rèn)證服務(wù)遠(yuǎn)程執(zhí)行,但授權(quán)功能對于性能管理服務(wù)器應(yīng)用程序本地執(zhí)行。
文檔編號G06F15/16GK102027486SQ200980117833
公開日2011年4月20日 申請日期2009年4月13日 優(yōu)先權(quán)日2008年5月13日
發(fā)明者A·阿米羅夫, J·唐, M·楊 申請人:微軟公司