两个人的电影免费视频_国产精品久久久久久久久成人_97视频在线观看播放_久久这里只有精品777_亚洲熟女少妇二三区_4438x8成人网亚洲av_内谢国产内射夫妻免费视频_人妻精品久久久久中国字幕

Crm數(shù)據(jù)庫的安全視圖的制作方法

文檔序號:6651111閱讀:209來源:國知局
專利名稱:Crm數(shù)據(jù)庫的安全視圖的制作方法
技術(shù)領(lǐng)域
本發(fā)明一般涉及提供對數(shù)據(jù)庫管理系統(tǒng)中的數(shù)據(jù)庫表的安全訪問的方法。
背景技術(shù)
在數(shù)據(jù)庫管理系統(tǒng)(DBMS)中,數(shù)據(jù)存儲在一個或多個數(shù)據(jù)容器中。每個容器都包含記錄且每個記錄內(nèi)的數(shù)據(jù)被組織成一個或多個字段。在關(guān)系數(shù)據(jù)庫系統(tǒng)中,數(shù)據(jù)容器被稱作表,記錄被稱作行,且字段被稱作列。在面向?qū)ο蟮臄?shù)據(jù)庫中,數(shù)據(jù)容器被稱作對象類,記錄被稱作對象,且字段被稱作屬性。其它數(shù)據(jù)庫架構(gòu)可使用不同的術(shù)語。本申請的要求不限于任何特殊類型的數(shù)據(jù)容器或數(shù)據(jù)庫架構(gòu)。
具有廣泛數(shù)據(jù)處理要求的許多應(yīng)用常依靠獨(dú)立的DBMS幫助管理應(yīng)用數(shù)據(jù)。這種應(yīng)用可包括業(yè)務(wù)應(yīng)用,包含客戶關(guān)系管理(CRM)系統(tǒng)和企業(yè)資源計(jì)劃(ERP)系統(tǒng)。使用分開的獨(dú)立DBMS允許應(yīng)用的設(shè)計(jì)者依靠DBMS來處理復(fù)雜的批量數(shù)據(jù)存儲功能,同時使設(shè)計(jì)者得到解放并可以聚焦于創(chuàng)建應(yīng)用特定功能。除了勞動分工的好處,這種雙系統(tǒng)模型提供了簡單和普遍使用的安全框架,其中將安全功能局限于應(yīng)用系統(tǒng)。例如,包括使用DBMS的CRM系統(tǒng)的許多專有業(yè)務(wù)應(yīng)用僅通過CRM系統(tǒng)提供對CRM數(shù)據(jù)的訪問,從而確保通過CRM應(yīng)用提供的安全功能來管理數(shù)據(jù)訪問和數(shù)據(jù)安全。在該模型中,出于維護(hù)的目的,CRM系統(tǒng)普遍實(shí)現(xiàn)僅能通過CRM應(yīng)用訪問或者由系統(tǒng)管理員訪問的封閉的私有數(shù)據(jù)庫實(shí)例。
圖2示出了現(xiàn)有系統(tǒng)中使用的安全模型。在該安全模型中,設(shè)置DBMS,以拒絕對應(yīng)用數(shù)據(jù)庫的一般訪問,僅允許軟件系統(tǒng)本身或者可能是系統(tǒng)管理員訪問數(shù)據(jù)庫。按此方式,對應(yīng)用系統(tǒng)數(shù)據(jù)的所有訪問都由應(yīng)用控制。
安全性被導(dǎo)離DBMS并局限于業(yè)務(wù)應(yīng)用內(nèi)的一個原因在于典型DBMS的安全功能常不適于處理應(yīng)用特定的安全要求。例如,作為一DBMS的Microsoft SQLServer僅對表級別提供數(shù)據(jù)保護(hù)。諸如Microsoft CRM的許多業(yè)務(wù)應(yīng)用會要求特殊的行級別保護(hù)。在行級別安全中,基于用戶的角色和特權(quán),結(jié)果集與隱藏的或阻止的數(shù)據(jù)行一起返回。諸如Microsoft CRM的CRM系統(tǒng)一般通過使用一般可執(zhí)行軟件或者通過應(yīng)用編程接口(API)編程的應(yīng)用軟件執(zhí)行該行級別安全。
許多獨(dú)立軟件供應(yīng)商不希望使用DBMS級別安全的另一個理由在于這會要求供應(yīng)商特定的設(shè)計(jì)考慮和對特殊DBMS的支持。這會使得軟件的交叉兼容更難于實(shí)現(xiàn)。在數(shù)據(jù)庫安全被轉(zhuǎn)入應(yīng)用軟件本身的系統(tǒng)中,可以減少對于隨應(yīng)用使用的特定DBMS的考慮。
雖然該普通安全系統(tǒng)便于CRM系統(tǒng)設(shè)計(jì)者實(shí)現(xiàn)本地化安全,但常希望或需要對應(yīng)用數(shù)據(jù)庫中存儲的數(shù)據(jù)進(jìn)行應(yīng)用本身不適合于或不被設(shè)計(jì)成執(zhí)行的分析。在諸如Microsoft CRM的CRM系統(tǒng)的示例中,會期望分析客戶數(shù)據(jù)的趨勢、營銷模式、需求統(tǒng)計(jì)、預(yù)算考慮、操作考慮等,這是CRM系統(tǒng)未被設(shè)計(jì)執(zhí)行的。此外,沒有方便的方法可以與諸如企業(yè)資源計(jì)劃(ERP)應(yīng)用的其它有關(guān)業(yè)務(wù)應(yīng)用共享Microsoft CRM數(shù)據(jù)。
在現(xiàn)有的安全模型下,提供對CRM數(shù)據(jù)的訪問的一個選項(xiàng)是設(shè)計(jì)對CRM系統(tǒng)的接口,以便通過CRM系統(tǒng)提取必要的數(shù)據(jù)。這可通過向用戶提供API以經(jīng)由CRM系統(tǒng)檢索數(shù)據(jù)來進(jìn)行。但根據(jù)CRM系統(tǒng),該過程會是極其費(fèi)時和復(fù)雜的,因?yàn)樾枰脩粼诰帉懘a以通過應(yīng)用接口進(jìn)行通信方面非常熟練。該方法不是許多數(shù)據(jù)分析員適合于執(zhí)行的過程。
包括微軟office產(chǎn)品套裝(例如,Microsoft Word,Microsoft Excel,MicrosoftPowerPoint等)的許多應(yīng)用程序能訪問支持SQL和ODBC的任何DBMS。因此,提供對Microsoft CRM數(shù)據(jù)庫的訪問的另一個更方便的選項(xiàng)是打開用于經(jīng)由DBMS訪問用戶組的數(shù)據(jù)庫。但如上所述,DBMS通常僅允許下至表級別的保護(hù),且不允許表中行特定信息的微級別保護(hù)。特定的公司可能不希望數(shù)據(jù)分析員看到所有的行數(shù)據(jù)而僅僅是行的一子集。如果要實(shí)現(xiàn)該選項(xiàng),則需要在改變雇員業(yè)務(wù)角色和創(chuàng)建新業(yè)務(wù)角色方面進(jìn)行附加的業(yè)務(wù)過程改變,這是許多獨(dú)立軟件供應(yīng)商(ISV)不希望客戶負(fù)擔(dān)的。此外,允許開放的數(shù)據(jù)庫連接將增加會大大損害業(yè)務(wù)的應(yīng)用數(shù)據(jù)破壞的危險(xiǎn)。雖然將數(shù)據(jù)庫對系統(tǒng)管理員開放是合理的,但開放數(shù)據(jù)庫用于數(shù)據(jù)分析員組的完全訪問會造成會使諸如CRM數(shù)據(jù)庫的數(shù)據(jù)庫易受危害的安全問題。
因此,需要一種改良的方法和系統(tǒng),用于經(jīng)由DBMS訪問安全應(yīng)用數(shù)據(jù)庫中的數(shù)據(jù)而不危害安全應(yīng)用的安全目標(biāo)。

發(fā)明內(nèi)容
本申請的權(quán)利要求敘述了一種方法和系統(tǒng),用于使用實(shí)現(xiàn)安全協(xié)議的視圖定義訪問按其它方式不可訪問的DBMS的應(yīng)用數(shù)據(jù)庫中的信息。雖然特定方法和系統(tǒng)被描述成應(yīng)用于CRM系統(tǒng)實(shí)施例,特別是Microsoft CRM,但應(yīng)強(qiáng)調(diào)本系統(tǒng)也可應(yīng)用于其它安全應(yīng)用數(shù)據(jù)庫。
所要求的方法和系統(tǒng)可以是其中DBMS被設(shè)定為允許對CRM數(shù)據(jù)庫的離散訪問的分層安全訪問模型。用戶可例如用集成的DBMS-操作系統(tǒng)驗(yàn)證協(xié)議登錄到DBMS并獲得對應(yīng)用數(shù)據(jù)庫實(shí)例的訪問。但,對數(shù)據(jù)庫中包含的對象的進(jìn)一步訪問被限制于數(shù)據(jù)庫視圖。此外,該模型僅可允許對視圖的訪問以提供視圖標(biāo)識符的列表,獲得視圖屬性的列表,以及執(zhí)行視圖。
視圖用作數(shù)據(jù)庫中它所對應(yīng)的特定表的安全代理。此外,通過使匹配于用戶角色和用戶特權(quán)與表—行關(guān)聯(lián)和特權(quán)的簡單查詢條件附加到視圖,可以用相對容易的方式提供安全性。此外,因?yàn)榻?jīng)由DBMS進(jìn)行訪問,所以不需要進(jìn)一步編碼接口方法以提供與用于處理CRM數(shù)據(jù)的次級應(yīng)用的互操作性。這樣,可以進(jìn)行有效的數(shù)據(jù)庫提取和查詢過濾,而無需了解代碼的數(shù)據(jù)分析員。


圖1示出了可根據(jù)權(quán)利要求操作的計(jì)算系統(tǒng)的框圖。
圖2示出了使用Microsoft CRM和Microsoft SQL Server的現(xiàn)有CRM-DBMS模型的普通配置。
圖3示出了所要求的系統(tǒng)的實(shí)施例。
圖4示出了為實(shí)現(xiàn)所要求的方法和系統(tǒng)的DBMS的可能的一組安全參數(shù)。
圖5示出了用于權(quán)利要求的實(shí)施例的視圖定義的流程圖。
圖6示出了使用安全視圖實(shí)現(xiàn)的安全過程。
具體實(shí)施例方式
雖然以下文本闡述了許多不同實(shí)施例的詳細(xì)描述,但應(yīng)理解,描述的法律范圍由本專利結(jié)尾處闡述的權(quán)利要求書的文字限定。詳細(xì)描述僅僅是示例性的而非描述所有可能的實(shí)施例,因?yàn)槊枋鏊锌赡軐?shí)施例即使可能也是不切實(shí)際的??捎卯?dāng)前技術(shù)或本申請?zhí)峤磺伴_發(fā)的技術(shù)來實(shí)現(xiàn)大量可選實(shí)施例,其仍落在權(quán)利要求書的范圍之內(nèi)。
還應(yīng)理解,除非用句子“如這里所使用的,術(shù)語‘—’這里定義為...”或類似的句子,否則不明確或通過暗示限制術(shù)語的意思,使其超出其一般或普通意思,且這種術(shù)語不應(yīng)解釋為限制于基于本專利任何部分(權(quán)利要求的語言之外)中進(jìn)行的任何陳述的范圍內(nèi)。本專利最后部分的權(quán)利要求書中所述的任何術(shù)語在本專利中按與單個意思相一致地引用,這是為了清楚起見而不干擾讀者,但并非有意使這種權(quán)利要求術(shù)語通過暗示或其它方式限制于該單個意思。最后,除非通過敘述單詞“裝置”和功能而不敘述任何結(jié)構(gòu)來定義權(quán)利要求元素,不應(yīng)認(rèn)為任何權(quán)利要求元素的范圍都基于35U.S.C.§112、第六段的應(yīng)用來解釋。
圖1示出了合適計(jì)算系統(tǒng)環(huán)境100的示例,其上實(shí)現(xiàn)了所要求的方法和裝置的組件的系統(tǒng)。計(jì)算系統(tǒng)環(huán)境100僅僅是合適的計(jì)算環(huán)境的一示例而非有意暗示關(guān)于權(quán)利要求書的方法和裝置的使用或功能范圍的任何限制。計(jì)算環(huán)境100不應(yīng)被解釋為具有關(guān)于示例性操作環(huán)境100中說明的任何一個組件或組件組合的任何依賴或要求。
所要求的方法和裝置的組件可同大量其它通用或?qū)S糜?jì)算系統(tǒng)環(huán)境或配置一起操作。適合與權(quán)利要求的方法或裝置一起使用的已知計(jì)算系統(tǒng)、環(huán)境和/或配置的示例包括,但不限于,個人計(jì)算機(jī)、服務(wù)器計(jì)算機(jī)、手持或膝上裝置,多處理器系統(tǒng),基于微處理器的系統(tǒng)、置頂盒、可編程消費(fèi)電子產(chǎn)品、網(wǎng)絡(luò)PC、小型機(jī)、大型機(jī)、包括任何以上系統(tǒng)或裝置的分布式計(jì)算環(huán)境,等等。
在由計(jì)算機(jī)執(zhí)行的諸如程序模塊的計(jì)算機(jī)可執(zhí)行指令的普通環(huán)境中描述所要求的方法和裝置的組件。一般,程序模塊包括例程、程序、對象、組件、數(shù)據(jù)結(jié)構(gòu)等,它們執(zhí)行特殊任務(wù)或?qū)崿F(xiàn)特殊的抽象數(shù)據(jù)類型。這些方法和裝置還可在分布式計(jì)算環(huán)境中實(shí)施,在分布式計(jì)算環(huán)境中通過經(jīng)由通信網(wǎng)絡(luò)鏈接的遠(yuǎn)程處理裝置執(zhí)行任務(wù)。在分布式計(jì)算環(huán)境中,程序模塊可位于包括存儲器存儲裝置的本地和遠(yuǎn)程計(jì)算機(jī)存儲媒體中。
參考圖1,實(shí)現(xiàn)所要求的方法和裝置的組件的一示例系統(tǒng)包括計(jì)算機(jī)110形式的通用計(jì)算裝置。計(jì)算機(jī)110的組件可包括,但不限于,處理單元120、系統(tǒng)存儲器130和將包括系統(tǒng)存儲器的各種系統(tǒng)組件耦合到處理單元120的系統(tǒng)總線121。系統(tǒng)總線121可以是幾種總線結(jié)構(gòu)中的任一種,包括使用任何總線架構(gòu)的存儲器總線或存儲器控制器、外圍總線和本地總線。作為示例而非限制,這樣的架構(gòu)包括工業(yè)標(biāo)準(zhǔn)結(jié)構(gòu)(ISA)總線、微通道架構(gòu)(MCA)總線、擴(kuò)展ISA(EISA)總線、視頻電子標(biāo)準(zhǔn)協(xié)會(VESA)本地總線和也稱作Mezzanine總線的外圍組件互連(PCI)總線。
計(jì)算機(jī)110通常包括多種計(jì)算機(jī)可讀媒體。計(jì)算機(jī)可讀媒體可以是可由計(jì)算機(jī)110訪問的任何可用媒體,包括易失性和非易失性媒體、可移動和不可移動媒體。作為示例而非限制,計(jì)算機(jī)可讀媒體可包括計(jì)算機(jī)存儲媒體和通信媒體。計(jì)算機(jī)存儲媒體包括按用于諸如計(jì)算機(jī)可讀指令、數(shù)據(jù)結(jié)構(gòu)、程序模塊或其它數(shù)據(jù)的信息的存儲的任何方法或技術(shù)實(shí)現(xiàn)的易失性和非易失性、可移動和不可移動媒體。計(jì)算機(jī)存儲媒體包括,但不限于,RAM、ROM、EEPROM、閃存或其它存儲技術(shù),CD-ROM、數(shù)字通用盤(DVD)或其它光盤存儲、盒式磁帶、磁帶、磁盤存儲或其它磁性存儲裝置,或者可用于存儲所需數(shù)據(jù)并可由計(jì)算機(jī)110訪問的任何其它介質(zhì)。通信介質(zhì)通常包含諸如載波的調(diào)制的數(shù)據(jù)信號或其它傳輸機(jī)制中的計(jì)算機(jī)可讀指令、數(shù)據(jù)結(jié)構(gòu)、程序模塊或其它數(shù)據(jù),并包括任何信息傳遞媒體。術(shù)語“調(diào)制的數(shù)據(jù)信號”表示具有使其一個或多個特征按一定方式設(shè)定或變化以在信號中編碼信息的信號。作為示例而非限制,通信媒體包括諸如有線網(wǎng)絡(luò)或直線連接的有線媒體以及諸如聲學(xué)、RF、紅外線和其它無線媒體的無線媒體。以上的任何組合也應(yīng)包含在計(jì)算機(jī)可讀媒體的范圍之內(nèi)。
系統(tǒng)存儲器130包括易失性和/或非易失性存儲器形式的計(jì)算機(jī)存儲媒體,諸如只讀存儲器(ROM)131和隨機(jī)存取存儲器(RAM)132。包含基本例程的基本輸入/輸出系統(tǒng)133(BIOS)通常存儲于ROM 131中,這些基本例程幫助例如在啟動過程中在計(jì)算機(jī)110內(nèi)的元件之間傳輸信息。RAM132通常包含可立即訪問和/或當(dāng)前由處理單元120操作的數(shù)據(jù)和/或程序模塊。作為示例而非限制,圖1示出了操作系統(tǒng)134、應(yīng)用程序135、其它程序模塊136和程序數(shù)據(jù)137。
計(jì)算機(jī)110還可包括其它可移動/不可移動的、易失性/非易失性計(jì)算機(jī)存儲媒體。僅作為示例,圖1示出了從不可移動的非易失性磁性媒體讀取或?qū)懭氲挠脖P驅(qū)動器140、從可移動的非易失性磁盤152讀取或?qū)懭氲拇疟P驅(qū)動器151以及從諸如CD ROM或其它光學(xué)媒體的可移動的非易失性光盤156讀取或?qū)懭氲墓獗P驅(qū)動器155。示例性操作環(huán)境中可使用的其它可移動/不可移動、易失性/非易失性計(jì)算機(jī)存儲媒體包括,但不限于,磁帶盒、閃存卡、數(shù)字通用盤、數(shù)字錄像帶、固態(tài)RAM、固態(tài)ROM等。硬盤驅(qū)動器141通常經(jīng)過諸如接口140的不可移動的存儲器接口連接到系統(tǒng)總線121,且磁盤驅(qū)動器151和光盤驅(qū)動器155通常借助諸如接口150的可移動存儲器接口連接到系統(tǒng)總線121。
圖1所示的上述驅(qū)動器和它們的相關(guān)計(jì)算機(jī)存儲媒體為計(jì)算機(jī)110提供計(jì)算機(jī)可讀指令、數(shù)據(jù)結(jié)構(gòu)、程序模塊和其它數(shù)據(jù)的存儲。例如圖1中,硬盤驅(qū)動器141被示作存儲操作系統(tǒng)144、應(yīng)用程序145、其它程序模塊146和程序數(shù)據(jù)147。應(yīng)注意,這些組件可與操作系統(tǒng)134、應(yīng)用程序135、其它程序模塊136和程序數(shù)據(jù)137相同或不同。操作系統(tǒng)144、應(yīng)用程序145、其它程序模塊146和程序數(shù)據(jù)147這里被給予不同數(shù)字,以至少說明它們是不同的拷貝。用戶可通過諸如鍵盤162和通常稱作鼠標(biāo)、軌跡球或觸摸墊的定位裝置161的輸入裝置將命令和信息輸入計(jì)算機(jī)20。其它輸入裝置(未示出)可包括麥克風(fēng)、操縱桿、游戲墊、圓盤式衛(wèi)星天線、掃描儀等。這些和其它輸入裝置常通過與系統(tǒng)總線耦合的用戶輸入接口160連接到處理單元120,但可以通過其它接口和總線結(jié)構(gòu)連接,諸如并行端口、游戲端口或通用串行總線(USB)。監(jiān)視器191或其它類型的顯示裝置也經(jīng)由諸如視頻接口190的接口連接到系統(tǒng)總線121。除了監(jiān)視器之外,計(jì)算機(jī)還可包括其它外圍輸出裝置,諸如通過輸出外圍接口190連接的揚(yáng)聲器197和打印機(jī)196。
計(jì)算機(jī)110可使用與諸如遠(yuǎn)程計(jì)算機(jī)180的一個或多個遠(yuǎn)程計(jì)算機(jī)的邏輯連接在聯(lián)網(wǎng)環(huán)境中操作。遠(yuǎn)程計(jì)算機(jī)180可以是個人計(jì)算機(jī)、服務(wù)器、路由器、網(wǎng)絡(luò)PC、對等裝置或其它普通網(wǎng)絡(luò)接點(diǎn),且通常包括以上關(guān)于計(jì)算機(jī)110描述的許多或全部元件,盡管圖1中僅示出存儲器存儲裝置181。圖1中所述的邏輯連接包括局域網(wǎng)(LAN)171和廣域網(wǎng)(WAN)173,但也可包括其它網(wǎng)絡(luò)。這種聯(lián)網(wǎng)環(huán)境在辦公室、企業(yè)范圍的計(jì)算機(jī)網(wǎng)絡(luò)、內(nèi)聯(lián)網(wǎng)和因特網(wǎng)中是普遍的。
在LAN聯(lián)網(wǎng)環(huán)境中使用時,計(jì)算機(jī)110通過網(wǎng)絡(luò)接口或適配器170連接到LAN 171。當(dāng)在WAN聯(lián)網(wǎng)環(huán)境中使用時,計(jì)算機(jī)110通常包括調(diào)制解調(diào)器172或用于在諸如因特網(wǎng)的WAN 173上建立連接的其它裝置。內(nèi)置或外置的調(diào)制解調(diào)器172可經(jīng)由用戶輸入接口160或其它合適機(jī)制連接到系統(tǒng)總線121。在聯(lián)網(wǎng)環(huán)境中,以上相對于計(jì)算機(jī)110描述的程序模塊或其一部分可存儲在遠(yuǎn)程存儲器存儲裝置中。作為示例而非限制,圖1示出了駐留在存儲器裝置181中的遠(yuǎn)程應(yīng)用程序185??梢岳斫猓镜木W(wǎng)絡(luò)連接是示例性的且可以使用在計(jì)算機(jī)之間建立通信鏈接的其它裝置。
圖2示出了使用Microsoft CRM系統(tǒng)200和Microsoft SQL Server 210的現(xiàn)有CRM-DBMS模型的普通配置。當(dāng)前,除了通過Microsoft CRM系統(tǒng)200本身或被授權(quán)管理DBMS的系統(tǒng)管理員220之外,Microsoft CRM拒絕經(jīng)由DBMS對CRM數(shù)據(jù)庫的全部訪問,如框215所示。但是,除了其用戶接口,Microsoft CRM向Microsoft CRM數(shù)據(jù)庫提供了一種用于訪問數(shù)據(jù)的附加方法。該訪問是利用被稱作ExecuteQuery 230的Microsoft CRM應(yīng)用編程接口(API)來完成的,該應(yīng)用編程接口使用Fetch XML,一種XML格式的查詢命令代碼。用戶240可編寫Fetch XML命令并將這些命令發(fā)送到ExecuteQuery 230。ExecuteQuery隨后可解釋該FetchXML查詢命令,訪問Microsoft CRM數(shù)據(jù)庫250,并返回結(jié)果集。雖然該方法看起來繞過了CRM-DBMS結(jié)構(gòu)的安全,但在提供結(jié)果集之前API實(shí)際上對查詢命令執(zhí)行了基于Microsoft CRM的安全過濾。如上所述,典型的用戶通常不會很好地具備編寫應(yīng)用級代碼,以便從應(yīng)用中提取數(shù)據(jù)的能力。即使采用ExecuteQuery接口230,編寫Fetch XML也是復(fù)雜和費(fèi)時的。
圖2進(jìn)一步示出了管理含數(shù)據(jù)庫表251、261的集合的幾個數(shù)據(jù)庫250、260的Microsoft SQL Server 210。通常,分離的數(shù)據(jù)庫實(shí)例可用于容納用于特殊應(yīng)用的表的集合。在Microsoft CRM系統(tǒng)200的示例中,DBMS 210可具有一個被指定用作Microsoft CRM數(shù)據(jù)庫250的數(shù)據(jù)庫,它可存儲諸如客戶信息的與CRM系統(tǒng)相關(guān)的大部分?jǐn)?shù)據(jù)以及與CRM系統(tǒng)相關(guān)的各種任務(wù)信息。DBMS可管理幾個數(shù)據(jù)庫并可能只有一個應(yīng)用數(shù)據(jù)庫實(shí)現(xiàn)所要求的方法和系統(tǒng)。對于CRM數(shù)據(jù)庫250,圖2示出對于一般用戶240,阻斷對CRM數(shù)據(jù)庫250的訪問,且對CRM數(shù)據(jù)的所有訪問必須經(jīng)由CRM系統(tǒng)200進(jìn)行,或者以程序方式通過諸如ExecuteQuery 230的API。
權(quán)利要求的業(yè)務(wù)過程的實(shí)施例于圖3中示出,其示出了訪問CRM數(shù)據(jù)庫310的Microsoft Excel 300的使用。Microsoft Excel是用于分析應(yīng)用數(shù)據(jù)的普通工具。因?yàn)镸icrosoft套裝提供對使用SQL和ODBC的任何DBMS的連接能力,MicrosoftExcel可連接到Microsoft SQL Server 320并隨后連接到Microsoft CRM數(shù)據(jù)庫310。事實(shí)上,提供對使用SQL和ODBC的DBMS的連接能力的許多第三方系統(tǒng)330也可連接到Microsoft SQL Server 320。Microsoft Excel隨后可查詢與特殊CRM表350相對應(yīng)的可用視圖340,并請求信息。此外,該請求可基于用戶360的角色和特權(quán)信息提供行過濾的結(jié)果?,F(xiàn)有技術(shù)的系統(tǒng)可繼續(xù)要求完全開放的數(shù)據(jù)庫或?qū)RM系統(tǒng)本身的定制接口。此外,現(xiàn)有技術(shù)系統(tǒng)不提供所要求系統(tǒng)的特定實(shí)施例的唯一行過濾能力,其中可基于分配給特殊用戶及行的角色和特權(quán)以來過濾行。
圖3還示出了CRM數(shù)據(jù)庫310具有一組表350的一組對應(yīng)視圖340。可針對通過DBMS登錄到數(shù)據(jù)庫的用戶保護(hù)每個表350。此外,每個表350都實(shí)際上都可向一般用戶360隱藏以提升安全性(由虛線示出)。視圖340可用作訪問數(shù)據(jù)庫表350的代理。應(yīng)注意,雖然能看見視圖340,但可保護(hù)它們的實(shí)際定義以防止用戶發(fā)現(xiàn)視圖的實(shí)現(xiàn)。在某些情況中,將對視圖的訪問限制于以下方面是有利的啟用可用視圖的列表,用于視圖執(zhí)行的參數(shù)的列表,以及用于執(zhí)行所選視圖的執(zhí)行特權(quán)。
圖4示出了DBMS為了實(shí)現(xiàn)權(quán)利要求的實(shí)施例所具有的參數(shù)設(shè)定。這些參數(shù)設(shè)定可以是用戶特定的或者可以由系統(tǒng)管理員根據(jù)特殊情況改變。例如,有時系統(tǒng)管理員會允許業(yè)務(wù)開發(fā)者修改視圖定義,在這種情況中業(yè)務(wù)開發(fā)者將被提供修改特權(quán)。在其它情形中,提供超過圖4所示設(shè)定的任何附加特權(quán)是不合適的。例如,可能從不向銷售人員提供修改視圖定義的權(quán)利,因?yàn)檫@將會允許銷售人員觀看與其它銷售人員相關(guān)的未授權(quán)數(shù)據(jù)。應(yīng)注意,雖然這些設(shè)定被應(yīng)用于多數(shù)DBMS用戶,但系統(tǒng)管理員通常對數(shù)據(jù)庫和數(shù)據(jù)庫對象(包括表和視圖兩者)具有完全訪問。
圖5示出了用于權(quán)利要求的實(shí)施例的視圖定義的流程圖500。在該流程圖中,安全例程501可對數(shù)據(jù)檢查角色502和特權(quán)503。如果特權(quán)檢查503失敗,則會用空數(shù)據(jù)集返回記錄。角色檢查502失敗會導(dǎo)致完全隱藏記錄509。此外,除了安全過濾,視圖還執(zhí)行選擇清單轉(zhuǎn)換505、物理列名字與邏輯數(shù)據(jù)庫名字504、507的映射,以及日期—時間轉(zhuǎn)換506,使數(shù)據(jù)分析員更容易用數(shù)據(jù)集508進(jìn)行工作。日期—時間轉(zhuǎn)換可用于獲得具有一種格式的表的日期或時間屬性并轉(zhuǎn)換成第二種格式,諸如基于應(yīng)用的格式。選擇清單轉(zhuǎn)換可用于向選擇清單值提供一描述字符串。例如,發(fā)貨動作列表的選擇清單轉(zhuǎn)換可將諸如0、1、2、3的數(shù)據(jù)庫選擇清單值轉(zhuǎn)換成FedEx、UPS、USPostMail等。此外,物理列名字到邏輯數(shù)據(jù)庫名字的映射可允許將用戶友好的名字分配給數(shù)據(jù)庫命名架構(gòu)中使用的列特定的名字。
CRM系統(tǒng)可將業(yè)務(wù)層次結(jié)構(gòu)集成入其安全實(shí)現(xiàn)并常包括與所有者和業(yè)務(wù)單元相對應(yīng)的它們數(shù)據(jù)實(shí)體中的字段。諸如Microsoft Windows的操作系統(tǒng)也可包含層次結(jié)構(gòu),幫助用戶角色參加其中角色具有一組特權(quán)的組。在權(quán)利要求的實(shí)施例中,安全視圖可被設(shè)計(jì)成基于層次所有權(quán)結(jié)構(gòu)返回行,充分利用現(xiàn)有的CRM應(yīng)用和操作系統(tǒng)環(huán)境。該潛在安全檢查模型在圖6中示出。訪問檢查過程600首先確定用戶是否是對象的所有者,如框601所示。如果是,則在框602中用戶具有完全的訪問。如果用戶不是對象所有者,則例程610基于對象的所有權(quán)關(guān)系確定訪問該對象的所需特權(quán)深度。如果用戶和對象屬于相同的業(yè)務(wù)單元,框611,則最小深度是本地(Local)612。如果對象的所有業(yè)務(wù)單元與用戶的業(yè)務(wù)單元相同,框613,則最小所需深度是深入(Deep)614。如果對象在與用戶相同的組織中,框615,則最小所需深度是全局(Global)616。一旦計(jì)算出最小特權(quán)深度,框620、621和622就檢查用戶的特權(quán)是否具有最小所需深度。如果用戶的特權(quán)具有最小所需深度或以上,如在框620、621和622中所確定的,就在框602中準(zhǔn)許訪問。如果否,則例程600在框630中確定對象該對象是否被明確共享給用戶或用戶作為其成員的團(tuán)隊(duì)。如果是,則在框602中準(zhǔn)許訪問,否則在框640中拒絕訪問。
圖6所示的特權(quán)深度被分類為基本、本地、深入或全局。具有基本特權(quán)深度的用戶具有對該用戶所有的、共享給該用戶的或者共享給該用戶作為其成員的團(tuán)隊(duì)的任何對象的權(quán)限。具有本地特權(quán)深度的用戶具有基本特權(quán)深度的權(quán)利,并且還具有對用戶的業(yè)務(wù)單元中的任何對象的權(quán)利。具有深入特權(quán)深度的用戶具有本地特權(quán)深度的權(quán)利,并且還具有對用戶所屬業(yè)務(wù)單元的子業(yè)務(wù)中的任何對象的權(quán)利。這包括任何深度處的子業(yè)務(wù),而不僅僅是直接層次的子業(yè)務(wù),因此包括子業(yè)務(wù)的子業(yè)務(wù)。具有全局特權(quán)深度的用戶具有對用戶組織中的任何對象的權(quán)限(因此,全局是所有其它特權(quán)級別的超集)。
可用于實(shí)現(xiàn)圖6的安全過程的SQL語句如下所示SELECT[要檢索的Account表中的列]FROM Account
WHERE(--由用戶所有的對象Account.OwningUser=[Current User ID]or--由用戶的業(yè)務(wù)單元所有的對象-本地訪問Account.OwningBusinessUnit=[Current User Business ID]--基于角色的訪問or--深入訪問(Account.OwningBusinessUnit in Select biz.SubBusinessId fromBusinessUnitMap as biz where biz.BusinessId=u.BusinessUnitId)and PrivilegeDepth=[Deep]or--全局訪問(Account.OwningBusinessUnit in Select org.SubBusinessId fromOrganizationMap org where org.OrganizationId=u.OrganizationId)and PrivilegeDepth=[Global]or)--共享給用戶的對象orAccount.AccountId in(select POA.ObjectId from PrincipalObjectAccess POAjoin SystemUserPrincipals sup on POA.PrincipalId=sup.PrincipalIdwhere sup.SystemUserId=[Current User ID]and
POA.ObjectTypeCode=2AND(POA.AccessRightsMask & 1)=1)與使用安全描述符字段以提供用于基于API的安全處理的批量指令的現(xiàn)有安全模型不同,本權(quán)利要求可依靠僅引用每個數(shù)據(jù)庫對象的離散所有權(quán)屬性的安全模型,這些屬性常常已經(jīng)是對象的一般屬性結(jié)構(gòu)的一部分。如上所述,安全特權(quán)可在基于所有權(quán)關(guān)系的集合中被處理。這樣,處理可以更快。此外,因?yàn)樗蟮姆椒ê拖到y(tǒng)的安全模型完全在DBMS中處理行,而非依靠API,所以處理可以更快,因?yàn)閷S肈BMS處理內(nèi)部指令常比在通信通道上檢索行集合并解釋較大的安全描述符的API更快。
此外,CRM-DBMS系統(tǒng)的用戶現(xiàn)在可經(jīng)由安全視圖提供的虛擬表與數(shù)據(jù)庫表連接。用戶可用與使用與操作系統(tǒng)集成的安全系統(tǒng)的SQL-ODBC驅(qū)動器兼容的其它分析工具的主機(jī)執(zhí)行數(shù)據(jù)分析。它向諸如Microsoft Offic的應(yīng)用套裝提供無縫集成,因?yàn)橛脩衄F(xiàn)在可以使用類似查詢向?qū)У墓ぞ叽蜷_視圖,類似于打開數(shù)據(jù)庫表,而不需要用戶清楚下層實(shí)現(xiàn)。
作為示例,用戶可使用安全視圖將CRM相關(guān)數(shù)據(jù)輸入諸如Excel的電子表格程序,其中可以對數(shù)據(jù)進(jìn)行大量統(tǒng)計(jì)操作。這可以在不知道任何計(jì)算機(jī)編碼語言的情況下實(shí)現(xiàn),因?yàn)榭梢允褂煤唵蔚膹棾霾樵兿驅(qū)ь愋偷墓ぞ摺4送?,可以完成輸入而不必?jīng)過分離的安全過程來訪問數(shù)據(jù)庫,因?yàn)榘踩窒抻贒BMS。最后,通過對數(shù)據(jù)的視圖而非實(shí)際數(shù)據(jù)進(jìn)行操作,可以完成輸入和分析而不更改數(shù)據(jù)庫中的下層數(shù)據(jù)。
雖然以上文本闡述了許多不同實(shí)施例的詳細(xì)描述,但應(yīng)理解,本專利的范圍由本專利結(jié)尾處闡述的權(quán)利要求的文字限定。詳細(xì)描述僅僅是說明性的而非描述所有可能的實(shí)施例,因?yàn)槊枋鏊锌赡軐?shí)施例即便可能也是不切實(shí)際的。利用當(dāng)前技術(shù)或者本專利提交日期之后開發(fā)的技術(shù)可以實(shí)現(xiàn)大量可選實(shí)施例,這些仍落在權(quán)利要求的范圍之內(nèi)。
因此,可在這里所描述和說明的技術(shù)和結(jié)構(gòu)中進(jìn)行許多修改和變形,而不背離本權(quán)利要求的精神和范圍。因此,應(yīng)理解,這里描述的方法和裝置僅僅是說明性的而非限制權(quán)利要求書的范圍。
權(quán)利要求
1.一種具有用于創(chuàng)建數(shù)據(jù)庫的安全視圖的計(jì)算機(jī)可執(zhí)行指令的計(jì)算機(jī)可讀介質(zhì),包括創(chuàng)建包含至少一個數(shù)據(jù)庫表和至少一個數(shù)據(jù)庫視圖的數(shù)據(jù)庫,其中該數(shù)據(jù)庫表具有行ID、行業(yè)務(wù)單元和行所有者;允許用戶訪問和執(zhí)行所述數(shù)據(jù)庫視圖同時防止用戶查看和直接訪問所述數(shù)據(jù)庫表,其中所述用戶具有相關(guān)聯(lián)的用戶ID、相關(guān)聯(lián)的用戶業(yè)務(wù)單元、相關(guān)聯(lián)的用戶業(yè)務(wù)組和相關(guān)聯(lián)的特權(quán)深度;以及基于來自包括用戶ID、用戶業(yè)務(wù)單元、用戶業(yè)務(wù)組和特權(quán)深度的參數(shù)集合中的至少一個參數(shù)以及來自包括行ID、行業(yè)務(wù)單元和行所有者的參數(shù)集合中的至少一個參數(shù),為所述數(shù)據(jù)庫視圖選擇所述數(shù)據(jù)庫表的行的集合。
2.如權(quán)利要求1所述的計(jì)算機(jī)可讀介質(zhì),其特征在于,還包括執(zhí)行數(shù)據(jù)庫查找,以獲得用戶ID、用戶業(yè)務(wù)單元、用戶業(yè)務(wù)組、特權(quán)深度、行ID、行業(yè)務(wù)單元和行所有者。
3.如權(quán)利要求1所述的計(jì)算機(jī)可讀介質(zhì),其特征在于,還包括搜索一高速緩存,以獲得包括用戶ID、用戶業(yè)務(wù)單元、用戶業(yè)務(wù)組以及特權(quán)深度的集合中的至少一個,同時執(zhí)行數(shù)據(jù)庫查找以獲得包括行ID、行業(yè)務(wù)單元和行所有者的集合中的至少一個。
4.如權(quán)利要求1所述的計(jì)算機(jī)可讀介質(zhì),其特征在于,還包括基于以下至少一個選擇行用戶是否是行所有者;行業(yè)務(wù)單元是否是用戶業(yè)務(wù)單元且特權(quán)深度是否是本地;行業(yè)務(wù)單元是否包含在與用戶業(yè)務(wù)單元相關(guān)聯(lián)的業(yè)務(wù)單元的集合中以及特權(quán)深度是否是深入;行業(yè)務(wù)單元是否在與用戶業(yè)務(wù)組相關(guān)聯(lián)的業(yè)務(wù)單元的集合之中以及特權(quán)深度是否是全局;以及行ID是否與用戶ID相關(guān)聯(lián)。
5.如權(quán)利要求1所述的計(jì)算機(jī)可讀介質(zhì),其特征在于,還包括向用戶分配用于查看和訪問所述數(shù)據(jù)庫視圖的特權(quán)。
6.如權(quán)利要求1所述的計(jì)算機(jī)可讀介質(zhì),其特征在于,還包括不向用戶分配用于查看和訪問所述數(shù)據(jù)庫表的特權(quán)。
7.如權(quán)利要求1所述的計(jì)算機(jī)可讀介質(zhì),其特征在于,還包括使視圖能被列在SQL列表視圖命令中。
8.如權(quán)利要求5所述的計(jì)算機(jī)可讀介質(zhì),其特征在于,所述特權(quán)包括允許用戶查看視圖的列表。
9.如權(quán)利要求5所述的計(jì)算機(jī)可讀介質(zhì),其特征在于,所述特權(quán)包括允許用戶執(zhí)行視圖。
10.如權(quán)利要求5所述的計(jì)算機(jī)可讀介質(zhì),其特征在于,所述特權(quán)包括允許用戶確定視圖的屬性的集合。
11.如權(quán)利要求1所述的計(jì)算機(jī)可讀介質(zhì),其特征在于,還包括對所選行執(zhí)行選擇清單評估,對所選行執(zhí)行日期一時間轉(zhuǎn)換,對視圖參數(shù)執(zhí)行邏輯名到物理名轉(zhuǎn)換,以及對所選行執(zhí)行物理名到邏輯名轉(zhuǎn)換中的至少一個。
12.如權(quán)利要求1所述的計(jì)算機(jī)可讀介質(zhì),其特征在于,還包括如果用戶沒有所需特權(quán)深度就返回空集。
13.如權(quán)利要求1所述的計(jì)算機(jī)可讀介質(zhì),其特征在于,還包括如果用戶沒有已知的用戶ID就返回空集。
14.如權(quán)利要求1所述的計(jì)算機(jī)可讀介質(zhì),其特征在于,還包括使用數(shù)據(jù)庫管理系統(tǒng)來控制對所述數(shù)據(jù)庫表和視圖的訪問。
15.如權(quán)利要求1所述的計(jì)算機(jī)可讀介質(zhì),其特征在于,還包括經(jīng)由與所述數(shù)據(jù)庫管理系統(tǒng)的連接將視圖結(jié)果發(fā)送給非數(shù)據(jù)庫應(yīng)用。
16.如權(quán)利要求15所述的計(jì)算機(jī)可讀介質(zhì),其特征在于,所述非數(shù)據(jù)庫應(yīng)用是電子表格程序。
17.一種計(jì)算機(jī)系統(tǒng),它包括提供用戶驗(yàn)證服務(wù)的操作系統(tǒng);用于管理數(shù)據(jù)庫集合的數(shù)據(jù)庫管理系統(tǒng),該數(shù)據(jù)庫管理系統(tǒng)使用所述用戶驗(yàn)證服務(wù)來驗(yàn)證與數(shù)據(jù)庫管理系統(tǒng)相連的用戶;客戶關(guān)系管理系統(tǒng);由所述客戶關(guān)系管理系統(tǒng)通過所述數(shù)據(jù)庫管理系統(tǒng)訪問的客戶數(shù)據(jù)庫,其中所述客戶數(shù)據(jù)庫包括客戶數(shù)據(jù)庫表;存儲在客戶數(shù)據(jù)庫處的視圖定義,用于提供客戶數(shù)據(jù)庫表的行,其中該數(shù)據(jù)庫管理系統(tǒng)使登錄到數(shù)據(jù)庫管理系統(tǒng)的用戶能查看視圖定義的列表并執(zhí)行該視圖,同時防止用戶查看和訪問該客戶數(shù)據(jù)庫表;且其中,所述視圖基于來自由用戶ID、用戶業(yè)務(wù)單元、用戶業(yè)務(wù)組和特權(quán)深度構(gòu)成的參數(shù)集合中的至少一個參數(shù)以及來自由行ID、行業(yè)務(wù)單元和行所有者構(gòu)成的參數(shù)集合中的至少一個參數(shù)提供客戶數(shù)據(jù)庫表的行。
18.如權(quán)利要求17所述的系統(tǒng),其特征在于,所述客戶關(guān)系管理系統(tǒng)包括多個數(shù)據(jù)庫表和多個視圖定義,其中每個客戶數(shù)據(jù)庫表都具有相應(yīng)的視圖定義。
19.如權(quán)利要求17所述的系統(tǒng),其特征在于,在以下一種情況下,視圖定義提供客戶數(shù)據(jù)庫表的行執(zhí)行視圖定義的用戶是行所有者;行業(yè)務(wù)單元是用戶業(yè)務(wù)單元且在特權(quán)深度是本地時;當(dāng)行業(yè)務(wù)單元在與用戶業(yè)務(wù)單元相關(guān)聯(lián)的業(yè)務(wù)單元集合之中且在特權(quán)深度是深入時;當(dāng)行業(yè)務(wù)單元在與用戶業(yè)務(wù)組相關(guān)聯(lián)的業(yè)務(wù)單元集合之中且在特權(quán)深度是全局時;以及當(dāng)行ID與用戶ID相關(guān)聯(lián)時。
20.一種計(jì)算裝置,它包括能產(chǎn)生視頻圖像的顯示單元;輸入裝置;操作上耦合到所述顯示單元和所述輸入裝置的處理裝置,所述處理裝置包括處理器和操作上耦合到所述處理器的存儲器;網(wǎng)絡(luò)接口,它與網(wǎng)絡(luò)和所述處理裝置相連接;所述處理裝置被編程,以便管理包括表和視圖的數(shù)據(jù)庫,其中該處理裝置阻止用戶訪問和查看表同時該處理裝置允許用戶訪問和執(zhí)行視圖;以及其中,該視圖基于來自由用戶ID、用戶業(yè)務(wù)單元、用戶業(yè)務(wù)組和用戶特權(quán)深度構(gòu)成的參數(shù)集合中的至少一個參數(shù)以及來自由行ID、行業(yè)務(wù)單元和行所有者構(gòu)成的參數(shù)集合中的至少一個參數(shù)選擇該表的行的集合。
全文摘要
本申請敘述了一種方法和系統(tǒng),用于使用實(shí)現(xiàn)安全協(xié)議的視圖定義訪問按其它方式不可訪問的DBMS的應(yīng)用數(shù)據(jù)庫中的信息。
文檔編號G06F17/30GK1794232SQ200510127120
公開日2006年6月28日 申請日期2005年11月22日 優(yōu)先權(quán)日2004年12月22日
發(fā)明者E·A·馬蒂南茲, J·S·格雷瓦爾, 范岷, T·M·賴特爾 申請人:微軟公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點(diǎn)贊!
1
都安| 北票市| 乌拉特后旗| 普宁市| 营口市| 通河县| 洞头县| 洛川县| 汉中市| 时尚| 东山县| 德保县| 玛沁县| 澎湖县| 阜平县| 抚远县| 襄汾县| 苏州市| 佳木斯市| 怀宁县| 台东县| 酉阳| 札达县| 咸阳市| 响水县| 平武县| 南城县| 黎城县| 霍山县| 台湾省| 仁寿县| 胶南市| 嫩江县| 祁连县| 安西县| 隆回县| 周宁县| 星座| 遂平县| 峨边| 老河口市|