專利名稱:授權(quán)訪問網(wǎng)格資源所用的方法和裝置的制作方法
技術(shù)領(lǐng)域:
一般說來,本發(fā)明涉及改進(jìn)的數(shù)據(jù)處理系統(tǒng),確切地說,涉及訪問網(wǎng)上資源所用的改進(jìn)的方法和裝置。更加確切地說,本發(fā)明涉及授權(quán)用戶訪問網(wǎng)上資源所用的方法、裝置和計算機(jī)指令。
背景技術(shù):
網(wǎng)絡(luò)數(shù)據(jù)處理系統(tǒng)通常用于商務(wù)和科研的各個方面。這些網(wǎng)絡(luò)用于交換數(shù)據(jù)和思想,以及提供儲存信息的倉庫。在許多情況下,組成網(wǎng)絡(luò)數(shù)據(jù)處理系統(tǒng)的不同節(jié)點(diǎn)可以用于處理信息。各個節(jié)點(diǎn)可以執(zhí)行不同的任務(wù)。另外,使不同的節(jié)點(diǎn)協(xié)同工作去求解共同的問題(比如復(fù)雜的計算)變得更加常見。參與資源共享模式的一組節(jié)點(diǎn)也被稱為“網(wǎng)格”或者“網(wǎng)格網(wǎng)絡(luò)”。例如,網(wǎng)格網(wǎng)絡(luò)中的若干節(jié)點(diǎn)可以共享處理資源以便執(zhí)行復(fù)雜的計算,例如破譯密鑰。
網(wǎng)格網(wǎng)絡(luò)中的所述節(jié)點(diǎn)可以包含在網(wǎng)絡(luò)數(shù)據(jù)處理系統(tǒng)之內(nèi),例如局域網(wǎng)(LAN)或者廣域網(wǎng)(WAN)。這些節(jié)點(diǎn)也可以位于天南海北的不同地點(diǎn)。例如,連接到因特網(wǎng)的不同計算機(jī)可以向網(wǎng)格網(wǎng)絡(luò)提供處理資源。通過利用數(shù)千臺獨(dú)立的計算機(jī),就能夠快速求解若干大問題。網(wǎng)格使用在許多領(lǐng)域中,比如癌癥研究、物理和地質(zhì)科學(xué)。
通過使用軟件方便了網(wǎng)格的建立和管理,比如由Globus工具箱和IBM網(wǎng)格工具箱提供的軟件。所述Globus工具箱是建立網(wǎng)格中使用的開源工具箱。這種工具箱包括資源監(jiān)控、探索和管理外加安全和文件管理所用的若干軟件服務(wù)和程序庫。所述工具箱由Globus聯(lián)盟開發(fā),它基于Argonne國家實(shí)驗室、南加州大學(xué)信息科學(xué)院、芝加哥大學(xué)、愛丁堡大學(xué)以及瑞典并行計算機(jī)中心。所述IBM網(wǎng)格工具箱可以從國際商用機(jī)器系統(tǒng)公司(IBM)得到,與其系統(tǒng)一起使用。
目前通過使用戶請求訪問或者說使用網(wǎng)格資源,來授權(quán)用戶訪問不同的網(wǎng)格資源。網(wǎng)格資源就是為分布式計算提供的服務(wù)器或者服務(wù)。通過把請求訪問網(wǎng)格資源的用戶映射為本機(jī)用戶,就對所述用戶提供了訪問。本機(jī)用戶具有允許使用網(wǎng)格資源執(zhí)行計算任務(wù)的特權(quán)。所述Globus工具箱和所述IBM網(wǎng)格工具箱采用網(wǎng)格映射文件將用戶映射為本機(jī)身份。所述文件是網(wǎng)格身份到本機(jī)用戶身份的、N到1的映射。目前,每個網(wǎng)格資源都必須有所述授權(quán)處理所用的網(wǎng)格映射文件。這個映射文件列出了被授權(quán)訪問所述資源的每一個網(wǎng)格用戶的身份。
因此,如果一個組織創(chuàng)建了包含500個數(shù)據(jù)處理系統(tǒng)的網(wǎng)格,那么每個數(shù)據(jù)處理系統(tǒng)都需要有網(wǎng)格映射文件,以便列出因特網(wǎng)或者內(nèi)聯(lián)網(wǎng)名稱到本機(jī)用戶名的映射。每次用戶加入或者離開這個組織時,每個數(shù)據(jù)處理系統(tǒng)中的每個網(wǎng)格映射文件都需要更新。這種類型的更新可能冗長乏味,尤其是當(dāng)某些網(wǎng)格包含數(shù)千個數(shù)據(jù)處理系統(tǒng)時。
因此,對授權(quán)用戶訪問網(wǎng)格資源的方法、裝置以及計算機(jī)指令進(jìn)行改進(jìn)是有益的。
發(fā)明內(nèi)容
本發(fā)明提供了一種方法、裝置以及計算機(jī)指令,用于授權(quán)用戶訪問數(shù)據(jù)處理系統(tǒng)中的資源。訪問所述數(shù)據(jù)處理系統(tǒng)中資源的請求被接收。這項請求包括對發(fā)出所述請求的所述用戶進(jìn)行驗證中使用的證書。使用所述證書執(zhí)行驗證過程。如果驗證了所述用戶,就對所述證書中是否指定了授權(quán)代理進(jìn)行判斷。如果所述證書中指定了所述授權(quán)代理,就向所述授權(quán)代理請求所述用戶的映射。響應(yīng)于接收到所述用戶的映射,使用所述映射把所述用戶映射到所述數(shù)據(jù)處理系統(tǒng)中的本機(jī)用戶,其中,所述用戶作為本機(jī)用戶訪問所述數(shù)據(jù)處理系統(tǒng)中的資源。如果沒有指定授權(quán)代理,就拒絕所述用戶訪問所述資源。
附圖簡要說明在附帶的權(quán)利要求書中闡明了本發(fā)明據(jù)信有特征的新穎特性。不過,連同附圖參考一個展示性實(shí)施例的以下詳細(xì)說明,將會最好地理解發(fā)明本身以及其使用的優(yōu)選模式、進(jìn)一步的目的和優(yōu)點(diǎn),其中
圖1是一幅示意圖,表達(dá)了可以實(shí)施本發(fā)明的數(shù)據(jù)處理系統(tǒng)的網(wǎng)絡(luò);圖2是數(shù)據(jù)處理系統(tǒng)的框圖,根據(jù)本發(fā)明的優(yōu)選實(shí)施例可以實(shí)施為服務(wù)器;圖3是一幅框圖,展示了可以實(shí)施本發(fā)明的數(shù)據(jù)處理系統(tǒng);圖4是一幅示意圖,展示了根據(jù)本發(fā)明優(yōu)選實(shí)施例,在網(wǎng)絡(luò)數(shù)據(jù)處理系統(tǒng)中分布式邏輯單元中使用的組件;圖5是一幅示意圖,展示了根據(jù)本發(fā)明優(yōu)選實(shí)施例,授權(quán)訪問網(wǎng)格資源中使用的組件;圖6是一幅示意圖,展示了根據(jù)本發(fā)明優(yōu)選實(shí)施例,授權(quán)用戶訪問網(wǎng)格資源的證書;圖7是一幅處理流程圖,用于根據(jù)本發(fā)明優(yōu)選實(shí)施例為用戶產(chǎn)生證書;圖8是一幅處理流程圖,用于根據(jù)本發(fā)明優(yōu)選實(shí)施例,授權(quán)用戶訪問網(wǎng)格資源。
具體實(shí)施例方式
現(xiàn)在參考附圖,圖1中的示意圖描繪了可以實(shí)施本發(fā)明的數(shù)據(jù)處理系統(tǒng)的網(wǎng)絡(luò)。網(wǎng)絡(luò)數(shù)據(jù)處理系統(tǒng)100是計算機(jī)網(wǎng)絡(luò),其中可以實(shí)施本發(fā)明。網(wǎng)絡(luò)數(shù)據(jù)處理系統(tǒng)100包括網(wǎng)絡(luò)102,它是為網(wǎng)絡(luò)數(shù)據(jù)處理系統(tǒng)100之內(nèi)連接在一起的多種設(shè)備和計算機(jī)之間提供通信鏈接所用的媒介。網(wǎng)絡(luò)102可以包括若干連接,比如有線、無線通信連接或者光纜。
在所描繪的實(shí)例中,服務(wù)器104與存儲單元106一起連接到網(wǎng)絡(luò)102。此外,客戶機(jī)108、110和112也連接到網(wǎng)絡(luò)102。這些客戶機(jī)108、110和112可以是例如個人計算機(jī)或者網(wǎng)絡(luò)計算機(jī)。在所描繪的實(shí)例中,服務(wù)器104向客戶機(jī)108-112提供數(shù)據(jù),比如引導(dǎo)程序文件,操作系統(tǒng)影像以及應(yīng)用程序。客戶機(jī)108、110和112是服務(wù)器104的客戶。網(wǎng)絡(luò)數(shù)據(jù)處理系統(tǒng)100還可以包括另外的未顯示的服務(wù)器、客戶機(jī)以及其他設(shè)備。在所描繪的實(shí)例中,網(wǎng)絡(luò)數(shù)據(jù)處理系統(tǒng)100是因特網(wǎng),其中網(wǎng)絡(luò)102表示使用傳輸控制協(xié)議/因特網(wǎng)協(xié)議(TCP/IP)組進(jìn)行相互通信之網(wǎng)絡(luò)和網(wǎng)關(guān)的全球集合。因特網(wǎng)的核心是主節(jié)點(diǎn)或主機(jī)之間高速數(shù)據(jù)通信線路的骨干網(wǎng),連接著數(shù)千個用于路由數(shù)據(jù)和傳遞消息的商業(yè)、政府、教育以及其他行業(yè)的計算機(jī)系統(tǒng)。當(dāng)然,網(wǎng)絡(luò)數(shù)據(jù)處理系統(tǒng)100也可以實(shí)施為許多不同類型的網(wǎng)絡(luò),比如內(nèi)聯(lián)網(wǎng)、局域網(wǎng)(LAN)或廣域網(wǎng)(WAN)。圖1只是用作實(shí)例,而不是本發(fā)明的架構(gòu)限制。
參考圖2,根據(jù)本發(fā)明的優(yōu)選實(shí)施例,描繪了數(shù)據(jù)處理系統(tǒng)的框圖,它可以實(shí)施為服務(wù)器,比如圖1中的服務(wù)器104。數(shù)據(jù)處理系統(tǒng)200可以是對稱式多處理器(SMP)系統(tǒng),包括連接到系統(tǒng)總線206的多個處理器202和204。作為選擇,也可以采用單處理器系統(tǒng)。存儲控制器/高速緩存208也連接到系統(tǒng)總線206上,它提供了到本機(jī)存儲器209的接口。I/O總線橋接器210連接到系統(tǒng)總線206上,提供了到I/O總線212的接口。如圖所示,存儲控制器/高速緩存208和I/O總線橋接器210可以集成在一起。
連接到I/O總線212的外圍組件互連(PCI)總線橋接器214提供了到PCI局域總線216的接口。PCI局域總線216可以連接多個調(diào)制解調(diào)器。典型的PCI總線實(shí)施方案將支持四個PCI擴(kuò)展槽或者說內(nèi)插附件連接器。通過以內(nèi)插附件連接器連接到PCI局域總線216的調(diào)制解調(diào)器218和網(wǎng)絡(luò)適配器220,可以提供圖1中與客戶機(jī)108-112的通信鏈接。
另外的PCI總線橋接器222和224為另外的PCI局域總線226和228提供了接口,可以支持另外的調(diào)制解調(diào)器或網(wǎng)絡(luò)適配器。以這種方式,數(shù)據(jù)處理系統(tǒng)200能夠連接到多臺網(wǎng)絡(luò)計算機(jī)。如圖所示,存儲器映射圖形適配器230和硬盤232也可以或者直接地或者間接地連接到I/O總線212。
本領(lǐng)域的技術(shù)人員將會認(rèn)同,圖2所示的硬件可以改變。例如,其他某些外圍設(shè)備,比如光盤驅(qū)動器等也可以加入或替換所示的硬件。所示實(shí)例并不意味著暗示對本發(fā)明的架構(gòu)限制。
圖2所示的數(shù)據(jù)處理系統(tǒng)可以是例如IBM eServer pServer系統(tǒng),紐約州Armonk國際商用機(jī)器公司的產(chǎn)品,運(yùn)行高級交互執(zhí)行(AIX)操作系統(tǒng)或LINUX操作系統(tǒng)。
現(xiàn)在參考圖3,框圖展示了可以實(shí)施本發(fā)明的數(shù)據(jù)處理系統(tǒng)。數(shù)據(jù)處理系統(tǒng)300是客戶機(jī)的實(shí)例。數(shù)據(jù)處理系統(tǒng)300采用外圍組件互連(PCI)局域總線架構(gòu)。盡管所示實(shí)例采用了PCI總線,但是也可以使用其他總線架構(gòu),比如加速圖形端口(AGP)和工業(yè)標(biāo)準(zhǔn)架構(gòu)(ISA)。處理器302和主存儲器304通過PCI總線橋接器308連接到PCI局域總線306。PCI橋接器308也可以包括處理器302所用的集成存儲控制器和高速緩存。通過直接組件互連或通過內(nèi)插附件電路板,可以對PCI局域總線306進(jìn)行另外的連接。在所示實(shí)例中,局域網(wǎng)(LAN)適配器310、SCSI主機(jī)總線適配器312和擴(kuò)展總線接口314通過直接組件連接連接到PCI局域總線306。相反,音頻適配器316、圖形適配器318以及音頻/視頻適配器319通過插入擴(kuò)展槽的內(nèi)插附件電路板連接PCI局域總線306。擴(kuò)展總線接口314為鍵盤和鼠標(biāo)適配器320、調(diào)制解調(diào)器322以及附加存儲器324提供連接。小型計算機(jī)系統(tǒng)接口(SCSI)主機(jī)總線適配器312為硬盤驅(qū)動器326、磁帶驅(qū)動器328以及CD-ROM驅(qū)動器330提供連接。典型的PCI局域總線實(shí)施方案將支持三到四個PCI擴(kuò)展槽或者說內(nèi)插附件連接器。
本領(lǐng)域的技術(shù)人員將會認(rèn)同,圖3所示的硬件可以隨所述實(shí)施而變。其他內(nèi)部硬件或外圍設(shè)備,比如閃速只讀存儲器(ROM)、等效非易失性存儲器或光盤驅(qū)動器等可以加入或替換圖3所示的硬件。此外,本發(fā)明的所述過程也可以應(yīng)用于多處理器數(shù)據(jù)處理系統(tǒng)。
圖3所示實(shí)例和上述實(shí)例并不意味著暗示架構(gòu)限制。例如,數(shù)據(jù)處理系統(tǒng)300也可以是筆記本計算機(jī)或者存取PDA設(shè)備的掌上計算機(jī)。數(shù)據(jù)處理系統(tǒng)300也可以是信息站或網(wǎng)絡(luò)家電。
現(xiàn)在參考圖4,其中的示意圖展示了根據(jù)本發(fā)明優(yōu)選實(shí)施例,在網(wǎng)絡(luò)數(shù)據(jù)處理系統(tǒng)中分布式邏輯單元中使用的組件。在這個實(shí)例中,節(jié)點(diǎn)400、402、404、406、408、410和412是網(wǎng)格414中的節(jié)點(diǎn)。節(jié)點(diǎn)416、418和420不是所述網(wǎng)格中的節(jié)點(diǎn)。這些節(jié)點(diǎn)可以位于網(wǎng)絡(luò)數(shù)據(jù)處理系統(tǒng)中,比如圖1的網(wǎng)絡(luò)數(shù)據(jù)處理系統(tǒng)100。在這個實(shí)例中,這些節(jié)點(diǎn)都是網(wǎng)絡(luò)的一部分,比如因特網(wǎng)、內(nèi)聯(lián)網(wǎng)、局域網(wǎng)、廣域網(wǎng)或者這些和另外類型網(wǎng)絡(luò)的某種組合。
目前,如果沒有本發(fā)明,網(wǎng)格414中的每個節(jié)點(diǎn)都需要保留網(wǎng)格影射文件,它標(biāo)識用戶到本機(jī)用戶的映射。例如,局域內(nèi)聯(lián)網(wǎng)名,C=US/O=IBM/CN=smullen@us.ibm.com,映射到本機(jī)用戶名,比如“網(wǎng)格用戶”。用戶特權(quán)的任何改變、用戶的加入和刪除,都需要更新每個節(jié)點(diǎn)上的每個網(wǎng)格映射文件。
本發(fā)明提供的方法、裝置和計算機(jī)指令在授權(quán)訪問網(wǎng)格資源中,高效地管理和識別本機(jī)用戶名。本發(fā)明的機(jī)制通過采用授權(quán)代理,避免了不得不使用在每個節(jié)點(diǎn)中保留的網(wǎng)格映射文件。所述授權(quán)代理在集中位置保留著用戶到本機(jī)用戶的所述映射。識別所述授權(quán)代理的信息包括在為請求訪問網(wǎng)格資源而發(fā)送的所述證書中。如果所述證書驗證了所述用戶,本發(fā)明的所述機(jī)制就在所述證書中尋找所述授權(quán)代理的標(biāo)志。如果授權(quán)代理不存在,那么盡管已經(jīng)驗證了所述用戶,仍然拒絕其訪問所述網(wǎng)格資源。這種特性能夠應(yīng)對以下情況對于特定的網(wǎng)格資源,用戶可能已經(jīng)從本機(jī)映射中刪除。在這種情況下,對于所述特定網(wǎng)格資源,所述用戶不存在映射??梢匀菰S所述用戶僅僅使用某些資源,也可以拒絕所述用戶訪問全部所述資源。
現(xiàn)在轉(zhuǎn)向圖5,其中的示意圖展示了根據(jù)本發(fā)明優(yōu)選實(shí)施例,授權(quán)訪問網(wǎng)格資源中使用的組件。在這個展示性實(shí)例中,在請求節(jié)點(diǎn)500的用戶可以請求訪問網(wǎng)格資源502。如上所述,網(wǎng)格資源是數(shù)據(jù)處理系統(tǒng)或者數(shù)據(jù)處理系統(tǒng)中的服務(wù)。
訪問請求504包含著證書506。在這些展示性實(shí)例中,證書506是當(dāng)前網(wǎng)格系統(tǒng)中驗證用戶使用的X.509證書。所述證書是證書授權(quán)機(jī)構(gòu)發(fā)出的、與數(shù)字簽名相關(guān)聯(lián)的公共密鑰。所述證書授權(quán)機(jī)構(gòu)簽發(fā)所述證書是通過在所述證書中產(chǎn)生所有字段的摘要或者說散列,并且用其私有密鑰加密所述散列值。所述簽名置于所述證書中。所述證書可以再由另一個證書授權(quán)機(jī)構(gòu)簽署,形成簽署鏈,可以追蹤到發(fā)現(xiàn)根證書。在這些展示性實(shí)例中,證書506具有標(biāo)準(zhǔn)的數(shù)字證書格式,作為本發(fā)明所述處理的一部分,用于驗證所述用戶。
網(wǎng)格資源502然后用證書506驗證所述用戶。驗證就是為了保證資源訪問而建立標(biāo)識的過程。在這些實(shí)例中,使用X.509證書執(zhí)行所述驗證。通過將所述簽名解密回所述散列值,進(jìn)行核實(shí)所述“簽署證書”的過程。如果所述解密成功,就核實(shí)了所述用戶的所述標(biāo)識。從所述證書中的所述原始數(shù)據(jù)重新計算所述散列,并且將其與所述解密的散列匹配。如果它們相符,就核實(shí)了所述證書的完整性。例如,證書506可以提供所述標(biāo)識C=US/O=IBM/CN=smullen@us.ibm.com。
如果驗證了所述用戶,那么網(wǎng)格資源502就尋找授權(quán)代理的標(biāo)識,比如授權(quán)代理505。如果這樣的標(biāo)識不存在,就拒絕對網(wǎng)格資源502的訪問。在這些展示性實(shí)例中,通過所述Globus工具箱中的所述網(wǎng)守處理進(jìn)行所述驗證。這個網(wǎng)守是這個工具箱所述網(wǎng)格安全基礎(chǔ)設(shè)施(GSI)的一部分。在這些展示性實(shí)例中把請求508發(fā)送到授權(quán)代理505。這項請求用于獲得映射,把所述證書中識別的所述用戶映射到所網(wǎng)格資源502的本機(jī)用戶名。這項請求也可以包括以授權(quán)代理505驗證網(wǎng)格資源502所用的證書。在這些展示性實(shí)例中,與所述授權(quán)代理的所述標(biāo)識一起在證書506中提供這份證書。
授權(quán)代理505在映射文件510中尋找與請求508中提供的所述標(biāo)識相關(guān)聯(lián)的本機(jī)用戶。在這個實(shí)例中,本機(jī)用戶是網(wǎng)格用戶。在響應(yīng)512中,把這個本機(jī)用戶名返回到網(wǎng)格資源502。然后使用本機(jī)用戶名處理來自請求節(jié)點(diǎn)500的請求。
授權(quán)代理的所述標(biāo)識在證書506中提供,在存在著不止一個授權(quán)代理的情況下避免需要在每個授權(quán)代理處都更新。例如,授權(quán)代理514可以具有在映射文件516中列出的用戶,與映射文件510中不同。這些授權(quán)代理可以用企業(yè)標(biāo)識映射(EIM)實(shí)現(xiàn),它們是可以從國際商用機(jī)器公司獲得的基礎(chǔ)設(shè)施。這種類型的應(yīng)用可以修改為包括本發(fā)明所述機(jī)制,用于把用戶映射為網(wǎng)格的本機(jī)用戶。
在這些展示性實(shí)例中,由授權(quán)代理505識別為網(wǎng)格資源502的本機(jī)用戶能夠訪問網(wǎng)格資源502。根據(jù)為所述具體本機(jī)用戶定義的所述特權(quán)提供所述訪問。結(jié)果,按照從授權(quán)代理505返回到網(wǎng)格資源502的本機(jī)用戶,可以對不同的用戶提供不同級別的對網(wǎng)格資源502的訪問。
作為附加特性,如果通過證書506驗證了所述用戶,網(wǎng)格資源502可以首先判斷本機(jī)網(wǎng)格映射文件是否存在,比如網(wǎng)格映射文件518。如果網(wǎng)格映射文件518存在,那么網(wǎng)格資源502就不在證書506中尋找授權(quán)代理的標(biāo)識。如果在網(wǎng)格映射文件518中存在著對所述用戶的映射,那么就通過網(wǎng)格映射文件518中識別的本機(jī)用戶提供對網(wǎng)格資源502的訪問。否則,網(wǎng)格資源502可以尋找授權(quán)代理,如上所述。
現(xiàn)在轉(zhuǎn)向圖6,其中的示意圖展示了根據(jù)本發(fā)明優(yōu)選實(shí)施例,授權(quán)用戶訪問網(wǎng)格資源的證書。證書600可以是對網(wǎng)格資源識別和驗證用戶所用的證書,比如圖5中的證書506。在這個展示性實(shí)例中,證書600是X.509 v3證書。證書600包含基本證書字段602、證書擴(kuò)展604和證書路徑確認(rèn)606。這些字段是ANSI X9標(biāo)準(zhǔn)的一部分,據(jù)此開發(fā)了所述X509證書格式,其版本3包含擴(kuò)展字段。在本發(fā)明的優(yōu)選實(shí)施例中,這個字段包括了識別所述擴(kuò)展之目的的關(guān)鍵字,比如,在“Authorizing Agent”之后跟隨著所述授權(quán)代理的特定信息,比如主機(jī)名和端口。因此,所述字段可能看起來類似于“AuthorizingAgentfoo.foobar.com4000”。其中所述授權(quán)代理機(jī)是foo,這臺機(jī)器上尋找授權(quán)請求的所述端口是端口4000。
證書擴(kuò)展604是為X.509v3證書定義的擴(kuò)展。典型情況下,這個擴(kuò)展用于將附加屬性與用戶或公共密鑰相關(guān)聯(lián),以及管理認(rèn)證體系。在所述展示性實(shí)例中,證書擴(kuò)展604用于包括授權(quán)代理標(biāo)識608和授權(quán)代理證書610。在這些展示性實(shí)例中,所述授權(quán)代理的所述標(biāo)識可以是域名和處理請求所用的端口名。
下一步轉(zhuǎn)向圖7,其中的處理流程圖用于根據(jù)本發(fā)明優(yōu)選實(shí)施例為用戶產(chǎn)生證書。圖7所示的所述過程可以在授權(quán)代理處實(shí)施,比如圖5中的授權(quán)代理505。
所述過程開始于接收訪問網(wǎng)格的請求(步驟700)。下一步,判斷是否應(yīng)該接受所述請求(步驟702)。如果要接受所述請求,就向發(fā)出所述請求的所述用戶分配本機(jī)用戶名(步驟704)。下一步,為所述用戶產(chǎn)生證書,其中所述證書包括所述授權(quán)代理的標(biāo)識和授權(quán)代理證書(步驟706)。把所述用戶到本機(jī)用戶的映射加入映射文件(步驟708)。向所述用戶返回所述證書(步驟710),隨后所述過程終止。
再次參考步驟702,如果不接受所述請求,就向用戶返回消息,指明所述請求已被拒絕(步驟712),然后所述過程進(jìn)至步驟710,如上所述。
現(xiàn)在參考圖8,其中的處理流程圖用于根據(jù)本發(fā)明優(yōu)選實(shí)施例,授權(quán)用戶訪問網(wǎng)格資源。圖8所示的所述過程可以實(shí)施在網(wǎng)格資源中,比如圖5中的網(wǎng)格資源502。
所述過程開始于接收訪問請求(步驟800)。在這些實(shí)例中,所述訪問請求包括訪問特定訪問或服務(wù)的請求,以及標(biāo)識所述用戶的證書。下一步,使用所述訪問請求中的所述證書執(zhí)行驗證處理(步驟802)。下一步,判斷用戶標(biāo)識是否在網(wǎng)格映射文件中(步驟804)。這個網(wǎng)格映射文件是可選擇的網(wǎng)格映射文件,比如圖5中的網(wǎng)格映射文件518。
如果用戶標(biāo)識不在網(wǎng)格映射文件中,那么就判斷所述證書是否指定了授權(quán)代理(步驟806)。所述證書可以包括域名和所述授權(quán)代理的所述端口號。這份證書還可以包括所述授權(quán)代理的第二證書。這份證書也稱為授權(quán)代理證書。這項信息在所述請求中收到的所述證書中的擴(kuò)展中。
下一步,如果證書沒有指定授權(quán)代理,那么就向所述授權(quán)代理發(fā)送請求,用所述用戶證書的證書擴(kuò)展中的所述授權(quán)代理證書進(jìn)行驗證(步驟808)。下一步,判斷所述授權(quán)代理是否驗證了所述請求(步驟810)。如果所述授權(quán)代理驗證了所述請求,那么就發(fā)送有關(guān)用戶映射的所述請求(步驟812)。其后,判斷所述授權(quán)代理是否具有在所述證書中識別的所述用戶至所述網(wǎng)格資源之本機(jī)用戶名的映射(步驟814)。如果所述授權(quán)代理對所述用戶沒有映射,那么就把所述用戶映射到所述授權(quán)代理指定的本機(jī)用戶(步驟816),隨后所述過程終止。根據(jù)分配給所述用戶的本機(jī)用戶,所述用戶可以對所述網(wǎng)格資源具有不同的特權(quán)。例如,大多數(shù)網(wǎng)格用戶也許只能訪問節(jié)點(diǎn)上的某些服務(wù),而在所述節(jié)點(diǎn)上可能無法具有寫特權(quán)。某些用戶可以訪問其他服務(wù),而其他用戶則只能在更多的限制下訪問數(shù)目更少的服務(wù)。例如,所述映射可能映射到稱為Physics_Student的本機(jī)用戶他具有UID(用戶ID)201和組ID(GID)400(物理系組)。然后所述本機(jī)系統(tǒng)可能使目錄/school/database/star_reserch對任何具有GID=400的用戶是可讀寫的。做為選擇,只有具有所述400 GID的用戶才能夠執(zhí)行可執(zhí)行文件/usr/bin/move_telescope。
回頭參考步驟804,如果用戶標(biāo)識在網(wǎng)格映射文件中,那么就把所述用戶映射到所述網(wǎng)格映射文件指定的本機(jī)用戶(步驟818),隨后所述過程終止。在步驟816中,如果所述證書沒有指定授權(quán)代理,那么就向所述請求者發(fā)送授權(quán)失敗的響應(yīng)(步驟820),隨后所述過程終止。在步驟810中,如果所述請求沒有得到所述授權(quán)代理驗證,所述過程就進(jìn)至步驟820,如上所述。在步驟814中,如果所述授權(quán)代理對所述用戶沒有映射,那么所述過程就進(jìn)至步驟820,如上所述。
因此,本發(fā)明提供了改進(jìn)的方法、裝置以及計算機(jī)指令,用于授權(quán)用戶訪問網(wǎng)格資源。這個機(jī)制包括識別授權(quán)代理,將所述用戶的所述身份映射為網(wǎng)格資源的本機(jī)用戶。所述授權(quán)代理的所述標(biāo)識位于驗證所述用戶所用的證書之內(nèi)。是向所述授權(quán)代理查詢?nèi)プR別所述網(wǎng)格資源的本機(jī)用戶,而不是要求所述網(wǎng)格資源去查詢本機(jī)網(wǎng)格映射文件。本發(fā)明的所述機(jī)制通過在集中位置保持當(dāng)前用戶到本機(jī)用戶的映射,避免了在網(wǎng)格中每個節(jié)點(diǎn)都必須更新映射的相關(guān)聯(lián)問題。
重要的是注意到,雖然介紹本發(fā)明時是在全功能數(shù)據(jù)處理系統(tǒng)的環(huán)境下,但是本領(lǐng)域的普通技術(shù)人員將會認(rèn)同,本發(fā)明的所述過程也能夠以計算機(jī)可讀介質(zhì)上指令的形式和多種形式發(fā)行,而且無論實(shí)際進(jìn)行所述發(fā)行所用的信號承載介質(zhì)的具體類型如何,本發(fā)明都同樣適用。計算機(jī)可讀介質(zhì)的例子包括可記錄類型的介質(zhì),比如軟盤、硬盤驅(qū)動器、RAM、CD-ROM、DVD-ROM和傳輸類型媒介,比如數(shù)字和模擬通信鏈路、有線和無線通信鏈路,使用的傳輸形式比如射頻和光波傳輸。所述計算機(jī)可讀介質(zhì)可以采取編碼格式的形式,在具體的數(shù)據(jù)處理系統(tǒng)中解碼后再實(shí)際使用。
為了展示和說明的目的已經(jīng)呈現(xiàn)了本發(fā)明的描述,這不意味著面面俱到或者把本發(fā)明限制在所公開的形式。許多改進(jìn)和變化對本領(lǐng)域的普通技術(shù)人員而言是顯而易見的。雖然所述展示性實(shí)例是關(guān)于網(wǎng)格進(jìn)行描述的,本發(fā)明的所述機(jī)制也可以應(yīng)用于除網(wǎng)格之外的其他網(wǎng)絡(luò)處理系統(tǒng)。
選擇和介紹所述實(shí)施例是為了最好地講解本發(fā)明的原理、實(shí)際應(yīng)用以及使得本領(lǐng)域的其他普通技術(shù)人員能夠理解本發(fā)明,以便對于預(yù)期的具體使用作出適宜的、具有多種修改的多種實(shí)施例。
權(quán)利要求
1.一種在數(shù)據(jù)處理系統(tǒng)中授權(quán)用戶訪問所述數(shù)據(jù)處理系統(tǒng)中資源的方法,所述方法包括響應(yīng)于從所述用戶接收到訪問所述資源的請求,所述請求包括證書,使用所述證書執(zhí)行驗證過程;響應(yīng)所述用戶經(jīng)過驗證,判斷所述證書中是否指定了授權(quán)代理;如果指定了所述授權(quán)代理,就向所述授權(quán)代理請求所述用戶的映射;以及響應(yīng)于接收到所述用戶的映射,使用所述映射把所述用戶映射到所述數(shù)據(jù)處理系統(tǒng)中的本機(jī)用戶,其中,所述用戶作為本機(jī)用戶訪問所述數(shù)據(jù)處理系統(tǒng)中的資源。
2.根據(jù)權(quán)利要求1的方法,進(jìn)一步包括如果在所述證書中沒有指定所述授權(quán)代理,就對所述用戶拒絕訪問。
3.根據(jù)權(quán)利要求1的方法,其中,所述證書包括所述授權(quán)代理的聯(lián)系證書,其中所述請求步驟包括向所述授權(quán)代理發(fā)送映射請求,其中所述映射請求包括所述聯(lián)系證書。
4.根據(jù)權(quán)利要求1的方法,其中所述映射步驟包括如果從所述授權(quán)代理返回的所述用戶的映射指明對所述數(shù)據(jù)處理系統(tǒng)所述用戶的映射不存在,就對所述用戶拒絕訪問。
5.根據(jù)權(quán)利要求1的方法,其中,所述數(shù)據(jù)處理系統(tǒng)是網(wǎng)格資源。
6.根據(jù)權(quán)利要求1的方法,進(jìn)一步包括響應(yīng)所述用戶經(jīng)過驗證,判斷對于所述數(shù)據(jù)處理系統(tǒng),所述用戶是否存在于映射文件中;響應(yīng)于所述用戶存在于所述映射文件中,跳過所述請求步驟;以及響應(yīng)所述映射文件的存在,使用所述映射文件將所述用戶映射到本機(jī)用戶。
7.根據(jù)權(quán)利要求1的方法,其中,所述證書是x509證書。
8.根據(jù)權(quán)利要求7的方法,其中,所述授權(quán)代理在所述x509證書的證書擴(kuò)展中被標(biāo)識。
9.根據(jù)權(quán)利要求1的方法,其中,所述用戶根據(jù)為本機(jī)用戶定義的特權(quán)訪問所述數(shù)據(jù)處理系統(tǒng)中的資源。
10.一種數(shù)據(jù)處理系統(tǒng),授權(quán)用戶訪問所述數(shù)據(jù)處理系統(tǒng)中的資源,所述數(shù)據(jù)處理系統(tǒng)包括執(zhí)行裝置,響應(yīng)于從所述用戶接收到訪問所述資源的請求,所述請求包括證書,使用所述證書執(zhí)行驗證過程;判斷裝置,響應(yīng)所述用戶經(jīng)過驗證,判斷所述證書中是否指定了授權(quán)代理;請求裝置,如果指定了所述授權(quán)代理,就向所述授權(quán)代理請求所述用戶的映射;以及映射裝置,響應(yīng)于接收到所述用戶的映射,使用所述映射把所述用戶映射到所述數(shù)據(jù)處理系統(tǒng)中的本機(jī)用戶,其中,所述用戶作為本機(jī)用戶訪問所述數(shù)據(jù)處理系統(tǒng)中的資源。
11.根據(jù)權(quán)利要求10的數(shù)據(jù)處理系統(tǒng),進(jìn)一步包括拒絕裝置,如果在所述證書中沒有指定所述授權(quán)代理,就對所述用戶拒絕訪問。
12.根據(jù)權(quán)利要求10的數(shù)據(jù)處理系統(tǒng),其中,所述證書包括所述授權(quán)代理的聯(lián)系證書,其中所述請求裝置包括發(fā)送裝置,用于向所述授權(quán)代理發(fā)送映射請求,其中所述映射請求包括所述聯(lián)系證書。
13.根據(jù)權(quán)利要求10的數(shù)據(jù)處理系統(tǒng),其中所述映射裝置包括拒絕裝置,如果從所述授權(quán)代理返回的所述用戶的映射指明對所述數(shù)據(jù)處理系統(tǒng)所述用戶的映射不存在,就對所述用戶拒絕訪問。
14.根據(jù)權(quán)利要求10的數(shù)據(jù)處理系統(tǒng),其中,所述數(shù)據(jù)處理系統(tǒng)是網(wǎng)格資源。
15.根據(jù)權(quán)利要求10的數(shù)據(jù)處理系統(tǒng),其中所述判斷裝置是第一判斷裝置,所述映射裝置是第一映射裝置,而且進(jìn)一步包括第二判斷裝置,響應(yīng)所述用戶經(jīng)過驗證,判斷對于所述數(shù)據(jù)處理系統(tǒng),所述用戶是否存在于映射文件中;跳過裝置,響應(yīng)于所述用戶存在于所述映射文件中,跳過所述請求裝置;以及第二映射裝置,響應(yīng)所述映射文件的存在,使用所述映射文件將所述用戶映射到本機(jī)用戶。
16.根據(jù)權(quán)利要求10的數(shù)據(jù)處理系統(tǒng),其中,所述證書是x509證書。
17.根據(jù)權(quán)利要求16的數(shù)據(jù)處理系統(tǒng),其中,所述授權(quán)代理在所述x509證書的證書擴(kuò)展中被標(biāo)識。
18.根據(jù)權(quán)利要求10的數(shù)據(jù)處理系統(tǒng),其中,所述用戶根據(jù)為本機(jī)用戶定義的特權(quán)訪問所述數(shù)據(jù)處理系統(tǒng)中的資源。
19.一種在計算機(jī)可讀介質(zhì)中的計算機(jī)程序產(chǎn)品,授權(quán)用戶訪問所述數(shù)據(jù)處理系統(tǒng)中的資源,所述計算機(jī)程序產(chǎn)品包括第一指令,響應(yīng)于從所述用戶接收到訪問所述資源的請求,所述請求包括證書,使用所述證書執(zhí)行驗證過程;第二指令,響應(yīng)所述用戶經(jīng)過驗證,判斷所述證書中是否指定了授權(quán)代理;第三指令,如果指定了所述授權(quán)代理,就向所述授權(quán)代理請求所述用戶的映射;以及第四指令,響應(yīng)于接收到所述用戶的映射,使用所述映射把所述用戶映射到所述數(shù)據(jù)處理系統(tǒng)中的本機(jī)用戶,其中,所述用戶作為本機(jī)用戶訪問所述數(shù)據(jù)處理系統(tǒng)中的資源。
20.根據(jù)權(quán)利要求19的計算機(jī)程序產(chǎn)品,進(jìn)一步包括第五指令,如果在所述證書中沒有指定所述授權(quán)代理,就對所述用戶拒絕訪問。
21.根據(jù)權(quán)利要求19的計算機(jī)程序產(chǎn)品,其中,所述證書包括所述授權(quán)代理的聯(lián)系證書,其中所述第三指令包括子指令,用于向所述授權(quán)代理發(fā)送映射請求,其中所述映射請求包括所述聯(lián)系證書。
22.根據(jù)權(quán)利要求19的計算機(jī)程序產(chǎn)品,其中,所述第四指令包括子指令,如果從所述授權(quán)代理返回的所述用戶的映射指明對所述數(shù)據(jù)處理系統(tǒng)所述用戶的映射不存在,就對所述用戶拒絕訪問。
23.根據(jù)權(quán)利要求19的計算機(jī)程序產(chǎn)品,其中,所述數(shù)據(jù)處理系統(tǒng)是網(wǎng)格資源。
24.根據(jù)權(quán)利要求19的計算機(jī)程序產(chǎn)品,進(jìn)一步包括第五指令,響應(yīng)所述用戶經(jīng)過驗證,判斷對于所述數(shù)據(jù)處理系統(tǒng),所述用戶是否存在于映射文件中;第六指令,響應(yīng)于所述用戶存在于所述映射文件中,跳過所述第三指令;以及第七指令,響應(yīng)所述映射文件的存在,使用所述映射文件將所述用戶映射到本機(jī)用戶。
25.根據(jù)權(quán)利要求19的計算機(jī)程序產(chǎn)品,其中,所述證書是x509證書。
26.一種數(shù)據(jù)處理系統(tǒng),包括總線系統(tǒng);連接到所述總線系統(tǒng)的存儲器,其中所述存儲器包括一組指令;以及連接到所述總線系統(tǒng)的處理單元,其中所述處理單元執(zhí)行所述一組指令,以響應(yīng)于從用戶接收到訪問資源的請求,所述請求包括證書,使用所述證書執(zhí)行驗證過程;響應(yīng)所述用戶經(jīng)過驗證,判斷所述證書中是否指定了授權(quán)代理;如果指定了所述授權(quán)代理,就向所述授權(quán)代理請求所述用戶的映射;以及響應(yīng)于接收到所述用戶的映射,使用所述映射把所述用戶映射到所述數(shù)據(jù)處理系統(tǒng)中的本機(jī)用戶,其中,所述用戶作為本機(jī)用戶訪問所述數(shù)據(jù)處理系統(tǒng)中的資源。
全文摘要
公開了授權(quán)訪問網(wǎng)格資源所用的方法和裝置。訪問所述數(shù)據(jù)處理系統(tǒng)中資源的請求被接收。這項請求包括對發(fā)出所述請求的所述用戶進(jìn)行驗證中使用的證書。使用所述證書執(zhí)行驗證過程。如果驗證了所述用戶,就對所述證書中是否指定了授權(quán)代理進(jìn)行判斷。如果所述證書中指定了所述授權(quán)代理,就向所述授權(quán)代理請求所述用戶的映射。響應(yīng)于接收到所述用戶的映射,使用所述映射把所述用戶映射到所述數(shù)據(jù)處理系統(tǒng)中的本機(jī)用戶,其中,所述用戶作為本機(jī)用戶訪問所述數(shù)據(jù)處理系統(tǒng)中的資源。如果沒有指定授權(quán)代理,就拒絕所述用戶訪問所述資源。
文檔編號H04L9/32GK1691587SQ20051005918
公開日2005年11月2日 申請日期2005年3月24日 優(yōu)先權(quán)日2004年4月22日
發(fā)明者丹妮斯·瑪利亞·珍蒂, 肖恩·帕特里克·馬倫, 歐內(nèi)斯特·B.·賽奎拉, 詹姆斯·斯坦利·泰薩尤洛 申請人:國際商業(yè)機(jī)器公司