本發(fā)明涉及能夠與訪問服務(wù)器的客戶端通信的信息處理裝置、信息處理裝置的控制方法、信息處理系統(tǒng)和計(jì)算機(jī)程序。
背景技術(shù):
近來,提供在互聯(lián)網(wǎng)上提供的服務(wù)的服務(wù)器需要以安全的方式存儲(chǔ)以用戶個(gè)人信息和內(nèi)容(諸如由用戶創(chuàng)建的照片和電影)為代表的私人信息。
為此,需要為每個(gè)用戶(客戶端裝置)設(shè)定對提供服務(wù)的服務(wù)器的訪問權(quán)限的限制。為了限制訪問權(quán)限,通常引入訪問權(quán)限發(fā)布服務(wù)器,該訪問權(quán)限發(fā)布服務(wù)器發(fā)布為每個(gè)用戶設(shè)定的訪問權(quán)限。當(dāng)客戶端接收到服務(wù)的供給時(shí),客戶端從訪問權(quán)限發(fā)布服務(wù)器裝置被給予訪問權(quán)限、訪問提供服務(wù)的服務(wù)器裝置、并且請求服務(wù)的供給。當(dāng)訪問權(quán)限有效時(shí),服務(wù)器響應(yīng)請求。用于從訪問權(quán)限發(fā)布服務(wù)器獲得訪問權(quán)限的協(xié)議和訪問權(quán)限的格式依賴于發(fā)布訪問權(quán)限的方法。
發(fā)布訪問權(quán)限的方法的標(biāo)準(zhǔn)規(guī)范的示例包括oauth2.0和作為oauth2.0的擴(kuò)展的openidconnect。這些標(biāo)準(zhǔn)規(guī)范已經(jīng)在互聯(lián)網(wǎng)上的各種服務(wù)中采用。在oauth2.0協(xié)議中,要發(fā)布的訪問權(quán)限通過使用被稱為訪問令牌的串(string)來表達(dá)。訪問令牌與指示許可范圍的、被稱為作用域(scope)的串相關(guān)聯(lián)。此外,訪問令牌可以與除作用域之外的各種類型的信息相關(guān)聯(lián)。與訪問令牌相關(guān)聯(lián)的信息的示例包括訪問令牌的有效期限和發(fā)布訪問令牌的發(fā)布者的id?;趏auth2.0規(guī)范提供服務(wù)的服務(wù)器基于訪問令牌的有效期限和作用域的值來檢查接收到的訪問令牌的有效性和許可范圍,并且確定訪問令牌是否有效。
不采用標(biāo)準(zhǔn)規(guī)范(諸如oauth2.0)的訪問權(quán)限發(fā)布服務(wù)器通過使用原始規(guī)范發(fā)布訪問權(quán)限。通過使用原始規(guī)范發(fā)布訪問權(quán)限的服務(wù)器的示例是存儲(chǔ)服務(wù)器。當(dāng)要訪問的服務(wù)器是存儲(chǔ)服務(wù)器時(shí),例如對操作(諸如讀取和寫入)施加限制以及指定儲(chǔ)存器(storage)上允許被訪問的特定文件路徑的復(fù)雜處理需要通過使用原始規(guī)范來執(zhí)行。
當(dāng)在客戶端和服務(wù)器之間傳輸相對大量的數(shù)據(jù)時(shí),經(jīng)常采用存儲(chǔ)服務(wù)器。采用存儲(chǔ)服務(wù)器的原因如下。因?yàn)槌鎯?chǔ)服務(wù)器之外的服務(wù)器不需要管理數(shù)據(jù)的傳輸,所以每個(gè)服務(wù)器所需的性能低,從而實(shí)現(xiàn)服務(wù)器操作成本的抑制。此外,可以直接訪問存儲(chǔ)服務(wù)器中的數(shù)據(jù)。因此,數(shù)據(jù)不通過除存儲(chǔ)服務(wù)器之外的服務(wù)器,使得能夠?qū)?shù)據(jù)執(zhí)行復(fù)雜的處理。
在ptl1中,公開了用于為每個(gè)用戶操作的終端設(shè)定存儲(chǔ)服務(wù)器訪問許可的技術(shù)。具體地,為每個(gè)用戶操作的終端id設(shè)定了在存儲(chǔ)服務(wù)器中許可的操作和可以對其執(zhí)行操作的文件路徑。
在ptl2中,公開了經(jīng)由中繼服務(wù)器訪問存儲(chǔ)服務(wù)器的通信介質(zhì)卡的技術(shù)。具體地,中繼服務(wù)器為每個(gè)通信介質(zhì)卡終端id設(shè)定存儲(chǔ)服務(wù)器的認(rèn)證信息和允許被訪問的目錄的路徑。
引用列表
專利文獻(xiàn)
ptl1:日本專利特許公開no.2007034386
ptl2:日本專利特許公開no.2012079267
技術(shù)實(shí)現(xiàn)要素:
技術(shù)問題
如上所述,采用存儲(chǔ)服務(wù)器具有許多優(yōu)點(diǎn)。但是,存儲(chǔ)服務(wù)器可以存儲(chǔ)用戶個(gè)人信息和私人信息。因此,必須對客戶端適當(dāng)?shù)厥┘訉Υ鎯?chǔ)服務(wù)器的訪問的限制。
但是,在ptl1中公開的技術(shù)設(shè)定了通過使用單個(gè)訪問權(quán)限來控制整個(gè)系統(tǒng)的前提條件。因此,為終端設(shè)定了對存儲(chǔ)服務(wù)器的某個(gè)訪問許可。
在ptl2中,公開了在用于web服務(wù)器的終端用戶的認(rèn)證信息與用于存儲(chǔ)服務(wù)器的認(rèn)證信息之間設(shè)定的關(guān)聯(lián)。與ptl1類似,設(shè)定了對存儲(chǔ)服務(wù)器的某個(gè)訪問許可。
在相關(guān)技術(shù)中,具有包括存儲(chǔ)服務(wù)器的多個(gè)服務(wù)器的系統(tǒng)無法為客戶端設(shè)定對存儲(chǔ)服務(wù)器的適當(dāng)?shù)脑L問權(quán)限。因此,可能為客戶端設(shè)定了過多的訪問許可,導(dǎo)致無法對存儲(chǔ)在存儲(chǔ)服務(wù)器中的數(shù)據(jù)提供適當(dāng)?shù)谋Wo(hù)。
本發(fā)明是鑒于上述相關(guān)技術(shù)的示例而做出的,并且其目的在于,在具有包括存儲(chǔ)服務(wù)器的多個(gè)服務(wù)器的系統(tǒng)中為客戶端設(shè)定對存儲(chǔ)服務(wù)器的適當(dāng)?shù)脑L問權(quán)限。
問題的解決方案
為了達(dá)到上述目的,本發(fā)明提供能夠與客戶端進(jìn)行通信的信息處理裝置。客戶端訪問存儲(chǔ)服務(wù)器和與存儲(chǔ)服務(wù)器不同的第一服務(wù)器。信息處理裝置包括接收部件、生成部件和發(fā)送部件。接收部件從客戶端接收關(guān)于第一訪問權(quán)限的信息。關(guān)于第一訪問權(quán)限的信息用于客戶端訪問第一服務(wù)器。生成部件基于關(guān)于第一訪問權(quán)限的信息生成關(guān)于第二訪問權(quán)限的信息。關(guān)于第二訪問權(quán)限的信息用于客戶端訪問存儲(chǔ)服務(wù)器。發(fā)送部件向客戶端發(fā)送關(guān)于第二訪問權(quán)限的信息。
發(fā)明的有益效果
本發(fā)明使得能夠在具有包括存儲(chǔ)服務(wù)器的多個(gè)服務(wù)器的系統(tǒng)中為客戶端設(shè)定對存儲(chǔ)服務(wù)器的適當(dāng)訪問權(quán)限。
附圖說明
圖1是示出根據(jù)第一實(shí)施例的信息處理系統(tǒng)的配置的圖。
圖2是示出根據(jù)第一實(shí)施例的信息處理裝置的硬件配置的圖。
圖3是示出整個(gè)系統(tǒng)的處理流程的圖。
圖4示出根據(jù)第一實(shí)施例的由認(rèn)證授權(quán)服務(wù)器102保持的示例性管理表。
圖5包括示出獲取請求及其響應(yīng)的具體示例的圖。
圖6是示出調(diào)解(mediate)訪問權(quán)限的服務(wù)器的配置的圖。
圖7是示出存儲(chǔ)訪問范圍管理表的圖。
圖8是示出請求獲取存儲(chǔ)訪問權(quán)限的處理流程的圖。
圖9是示出示例性授權(quán)令牌信息的圖。
圖10是示出確定存儲(chǔ)訪問范圍的處理流程的圖。
圖11是示出第二實(shí)施例中調(diào)解訪問權(quán)限的服務(wù)器的配置的圖。
圖12是示出根據(jù)第二實(shí)施例的存儲(chǔ)訪問權(quán)限管理表的圖。
圖13示出根據(jù)第二實(shí)施例的請求獲取存儲(chǔ)訪問權(quán)限的處理流程。
圖14是示出根據(jù)第二實(shí)施例的調(diào)解訪問權(quán)限的服務(wù)器的配置的圖。
圖15示出根據(jù)第三實(shí)施例的請求存儲(chǔ)訪問范圍的設(shè)定的改變的處理流程。
圖16是示出根據(jù)第三實(shí)施例的對存儲(chǔ)訪問范圍的設(shè)定的改變的示例性請求的圖。
具體實(shí)施方式
參考附圖,將在下面詳細(xì)描述實(shí)施例。下面描述的實(shí)施例中指示的配置僅僅是示例。本發(fā)明不限于所示的配置。
(第一實(shí)施例)
通過使用圖1,將描述根據(jù)本實(shí)施例的信息處理系統(tǒng)的配置。
根據(jù)本實(shí)施例的信息處理系統(tǒng)包括客戶端101、認(rèn)證授權(quán)服務(wù)器102、訪問權(quán)限中介服務(wù)器103、存儲(chǔ)訪問權(quán)限發(fā)布服務(wù)器104和存儲(chǔ)服務(wù)器105。
客戶端101能夠經(jīng)由網(wǎng)絡(luò)106與認(rèn)證授權(quán)服務(wù)器102、訪問權(quán)限中介服務(wù)器103和存儲(chǔ)服務(wù)器105進(jìn)行通信。認(rèn)證授權(quán)服務(wù)器102、訪問權(quán)限中介服務(wù)器103和存儲(chǔ)訪問權(quán)限發(fā)布服務(wù)器104能夠經(jīng)由網(wǎng)絡(luò)106彼此通信。
客戶端101是在存儲(chǔ)服務(wù)器105上執(zhí)行文件操作(諸如上傳和下載文件)的信息處理裝置。當(dāng)客戶端101要在存儲(chǔ)服務(wù)器105上執(zhí)行操作時(shí),客戶端101首先從認(rèn)證授權(quán)服務(wù)器102獲得授權(quán)令牌。授權(quán)令牌指示對提供服務(wù)的服務(wù)器(諸如web服務(wù)器)的訪問權(quán)限或訪問范圍。客戶端101獲得授權(quán)令牌,由此獲得訪問每個(gè)服務(wù)器的能力。在獲得授權(quán)令牌之后,客戶端101使用訪問權(quán)限中介服務(wù)器103來獲得與授權(quán)令牌對應(yīng)的、對存儲(chǔ)服務(wù)器105的訪問權(quán)限。
認(rèn)證授權(quán)服務(wù)器102是保持關(guān)于認(rèn)證(諸如id和密碼)和授權(quán)的數(shù)據(jù),并且向客戶端101發(fā)布上述授權(quán)令牌的服務(wù)器。在本實(shí)施例中,假定認(rèn)證授權(quán)服務(wù)器102符合oauth2.0的授權(quán)協(xié)議。但是,認(rèn)證授權(quán)服務(wù)器102可以符合諸如openidconnet的另一授權(quán)協(xié)議。認(rèn)證授權(quán)服務(wù)器102還包括提供用于上述web服務(wù)器的授權(quán)令牌的對應(yīng)信息的功能。授權(quán)令牌的對應(yīng)信息是指示授權(quán)令牌的有效期限和授權(quán)令牌的許可作用域的信息。為了檢查由客戶端101保持的授權(quán)令牌的有效性,web服務(wù)器可以從認(rèn)證授權(quán)服務(wù)器102獲得授權(quán)令牌的對應(yīng)信息。
訪問權(quán)限中介服務(wù)器103是基于發(fā)布的授權(quán)令牌從存儲(chǔ)訪問權(quán)限發(fā)布服務(wù)器104獲得對存儲(chǔ)服務(wù)器105的訪問權(quán)限和訪問范圍的服務(wù)器。訪問權(quán)限中介服務(wù)器103保持指示由認(rèn)證授權(quán)服務(wù)器102發(fā)布的授權(quán)令牌與對存儲(chǔ)服務(wù)器105的訪問權(quán)限之間的對應(yīng)關(guān)系的信息。
存儲(chǔ)訪問權(quán)限發(fā)布服務(wù)器104是發(fā)布和管理對存儲(chǔ)服務(wù)器105的訪問權(quán)限和訪問范圍(存儲(chǔ)訪問權(quán)限)的管理服務(wù)器。存儲(chǔ)訪問權(quán)限是基于從訪問權(quán)限中介服務(wù)器103發(fā)送的獲取請求發(fā)布的。操作(諸如讀取或?qū)懭?、被許可操作的文件路徑等在要發(fā)布的訪問范圍中設(shè)定。
存儲(chǔ)服務(wù)器105是存儲(chǔ)和管理諸如文件的數(shù)據(jù)的服務(wù)器。當(dāng)從客戶端101發(fā)送存儲(chǔ)訪問權(quán)限時(shí),存儲(chǔ)服務(wù)器105驗(yàn)證發(fā)送的存儲(chǔ)訪問權(quán)限。作為驗(yàn)證的結(jié)果,當(dāng)存儲(chǔ)訪問權(quán)限有效時(shí),存儲(chǔ)服務(wù)器105響應(yīng)于來自客戶端101的請求許可訪問存儲(chǔ)的文件。
在本實(shí)施例中,假定http(超文本傳輸協(xié)議)用作系統(tǒng)中的通信協(xié)議。但是,可以使用除http之外的通信協(xié)議。此外,可以在系統(tǒng)中使用多種類型的通信協(xié)議。
在圖1中,假定存在一個(gè)客戶端101、一個(gè)認(rèn)證授權(quán)服務(wù)器102、一個(gè)訪問權(quán)限中介服務(wù)器103和一個(gè)存儲(chǔ)訪問權(quán)限發(fā)布服務(wù)器104。但是,裝置的數(shù)量不需要是一個(gè)。此外,在圖1中,認(rèn)證授權(quán)服務(wù)器102、訪問權(quán)限中介服務(wù)器103和存儲(chǔ)訪問權(quán)限發(fā)布服務(wù)器104是單獨(dú)的服務(wù)器。但是,在這些服務(wù)器中包括的功能可以集成到一個(gè)服務(wù)器中。例如,可以采用其中認(rèn)證授權(quán)服務(wù)器102和訪問權(quán)限中介服務(wù)器103的功能被包括在相同服務(wù)器中的配置。
通過使用圖2,將描述根據(jù)本實(shí)施例的信息處理裝置的硬件配置。根據(jù)本實(shí)施例的信息處理裝置是客戶端101、認(rèn)證授權(quán)服務(wù)器102、訪問權(quán)限中介服務(wù)器103、存儲(chǔ)訪問權(quán)限發(fā)布服務(wù)器104等。如圖所示,信息處理裝置設(shè)置有作為硬件配置的cpu(中央處理單元)201、rom(只讀存儲(chǔ)器)202、ram(隨機(jī)存取存儲(chǔ)器)203等。此外,信息處理裝置還設(shè)置有網(wǎng)絡(luò)i/f(neti/f)204、顯示設(shè)備205、輸入設(shè)備206、總線207等。
cpu201是控制連接到總線207的設(shè)備的處理設(shè)備。cpu201執(zhí)行下面描述的、在客戶端101、認(rèn)證授權(quán)服務(wù)器102、訪問權(quán)限中介服務(wù)器103和存儲(chǔ)訪問權(quán)限發(fā)布服務(wù)器104中的各種處理。rom202是存儲(chǔ)執(zhí)行計(jì)算機(jī)的基本控制的操作系統(tǒng)、操作程序等的存儲(chǔ)介質(zhì)。ram203是用作cpu201的工作存儲(chǔ)器并且存儲(chǔ)操作程序本身和操作程序所需的數(shù)據(jù)的存儲(chǔ)設(shè)備。cpu201在ram203中存儲(chǔ)被存儲(chǔ)在rom202中的各種計(jì)算機(jī)程序,并且執(zhí)行各種計(jì)算機(jī)程序。
網(wǎng)絡(luò)i/f204是用于控制從/向經(jīng)由網(wǎng)絡(luò)連接的外部設(shè)備傳輸信息的接口。客戶端101、認(rèn)證授權(quán)服務(wù)器102、訪問權(quán)限中介服務(wù)器103和存儲(chǔ)訪問權(quán)限發(fā)布服務(wù)器104中的每個(gè)經(jīng)由網(wǎng)絡(luò)i/f204接收/發(fā)送數(shù)據(jù)。顯示設(shè)備205是用于顯示cpu201的處理結(jié)果的設(shè)備,并且由液晶顯示器、有機(jī)el顯示器等構(gòu)成。
輸入設(shè)備206是用于物理地接收來自用戶的輸入的設(shè)備,并且由鍵盤和鼠標(biāo)或者觸摸面板構(gòu)成。當(dāng)使用具有觸摸面板的顯示器時(shí),顯示設(shè)備205和輸入設(shè)備206被一體化到一個(gè)設(shè)備中??梢越?jīng)由網(wǎng)絡(luò)i/f204使用作為外部設(shè)備的顯示設(shè)備205和輸入設(shè)備206。在這種情況下,采用其中不包括顯示設(shè)備205和輸入設(shè)備206的配置。
通過使用圖3,將描述本實(shí)施例中當(dāng)客戶端101直接訪問存儲(chǔ)服務(wù)器105時(shí)執(zhí)行的具體處理流程。圖3中的處理流程描述了當(dāng)訪問存儲(chǔ)服務(wù)器105時(shí)所執(zhí)行的作為示例性處理的文件上傳。甚至當(dāng)執(zhí)行諸如下載文件的另一操作時(shí),也執(zhí)行類似于圖3的處理流程。
(步驟s301)
步驟s301是其中客戶端101請求認(rèn)證授權(quán)服務(wù)器102以獲得授權(quán)令牌和從認(rèn)證授權(quán)服務(wù)器102獲得授權(quán)令牌的步驟。在發(fā)送獲取請求時(shí),認(rèn)證信息被發(fā)送給認(rèn)證授權(quán)服務(wù)器102,其根據(jù)認(rèn)證信息供應(yīng)授權(quán)令牌。
依賴于發(fā)布授權(quán)令牌的處理的類型,獲取授權(quán)令牌的請求及其響應(yīng)(授權(quán)令牌)具有不同的格式和不同的值。圖5的(a)和圖5的(b)是示出獲取授權(quán)令牌的請求及其響應(yīng)的示例的圖。
圖5的(a)基于在oauth2.0客戶端證書授予(clientcredentialsgrant)中發(fā)布授權(quán)令牌的處理示出獲取授權(quán)令牌的示例性請求。在授權(quán)頭中添加發(fā)布授權(quán)令牌所需的認(rèn)證信息。在該圖中的示例中,使用基本認(rèn)證來傳輸客戶端的客戶端id和客戶端秘密(secret)。授權(quán)令牌的作用域被添加到請求的主體。此外,發(fā)布授權(quán)令牌的處理的類型的標(biāo)識(shí)符作為grant_type被添加到請求的主體。
在圖5的(a)中,發(fā)布授權(quán)令牌的處理的類型被設(shè)定為客戶端證書授予。但是,可以使用除客戶端證書授予之外的其它類型。
當(dāng)使用除客戶端證書授予之外的授權(quán)流程時(shí),附加地需要例如當(dāng)用戶批準(zhǔn)發(fā)布授權(quán)令牌時(shí)發(fā)布的、被稱為授權(quán)代碼的信息。
圖5的(b)示出對圖5的(a)中的獲取授權(quán)令牌的請求的示例性響應(yīng)(授權(quán)令牌)。響應(yīng)主體中包括的數(shù)據(jù)access_token指示授權(quán)令牌的值。數(shù)據(jù)token_type指示授權(quán)令牌的類型,并且數(shù)據(jù)expires_in指示直到授權(quán)令牌變得無效為止的剩余時(shí)間。
在圖5的(b)中,數(shù)據(jù)expires_in中的時(shí)間單位是秒。但是,可以使用除秒之外的單位。響應(yīng)可以包括除上述那些之外的屬性信息。
當(dāng)要發(fā)布授權(quán)令牌時(shí),認(rèn)證授權(quán)服務(wù)器102使用圖4所示的管理表。如圖所示,在圖4的(a)中的授權(quán)客戶端管理表400中,作為用于認(rèn)證客戶端的信息的客戶端id401和客戶端秘密402以及作用域403被記錄,以便與彼此相關(guān)聯(lián)。因此,認(rèn)證授權(quán)服務(wù)器102可以參考客戶端管理表400以便檢查獲取授權(quán)令牌的請求是否有效。當(dāng)在獲取授權(quán)令牌的請求中的認(rèn)證信息與在客戶端管理表400中登記的認(rèn)證信息匹配時(shí),認(rèn)證授權(quán)服務(wù)器102將獲取請求視為有效。認(rèn)證授權(quán)服務(wù)器102從與認(rèn)證信息對應(yīng)的作用域403中獲得包含在獲取授權(quán)令牌的請求中的作用域中的作用域,并且生成授權(quán)令牌。認(rèn)證信息中的客戶端秘密402可以被加密和存儲(chǔ),而不是純文本。當(dāng)認(rèn)證信息由用戶id和密碼構(gòu)成時(shí),認(rèn)證授權(quán)服務(wù)器102參考其中記錄了用戶id501和密碼502的用戶管理表500以便彼此相關(guān)聯(lián)。
管理表400包括默認(rèn)作用域404。當(dāng)獲取授權(quán)令牌的請求不包括作用域時(shí),使用默認(rèn)作用域404。即,當(dāng)在獲取授權(quán)令牌的請求中不包括作用域時(shí),通過使用默認(rèn)作用域404而不是通過使用作用域403來生成授權(quán)令牌??梢栽谧饔糜?03和默認(rèn)作用域404中指定多條作用域信息。
當(dāng)認(rèn)證授權(quán)服務(wù)器102生成授權(quán)令牌時(shí),關(guān)于所生成的授權(quán)令牌的信息被登記在授權(quán)令牌管理表600中。對于每個(gè)授權(quán)令牌601,在授權(quán)令牌管理表600中記錄過期日期和時(shí)間602、作用域603以及已發(fā)布授權(quán)令牌601的授權(quán)客戶端的客戶端id604。其過期日期和時(shí)間602已到的授權(quán)令牌601可以從授權(quán)令牌管理表600中刪除。當(dāng)獲取授權(quán)令牌的請求包括關(guān)于用戶的用戶id605的信息時(shí),用戶id605也被存儲(chǔ)。
上述獲取授權(quán)令牌的請求可以包括用戶的認(rèn)證信息和授權(quán)客戶端的認(rèn)證信息兩者??商娲?,可以逐步發(fā)送授權(quán)客戶端的認(rèn)證信息和用戶的認(rèn)證信息。例如,首先發(fā)送用戶的認(rèn)證信息,并且只有當(dāng)用戶的認(rèn)證信息有效時(shí),才可以隨后發(fā)送授權(quán)客戶端的認(rèn)證信息。
(步驟s302)
在步驟s302中,客戶端101將在步驟s301中獲得的授權(quán)令牌發(fā)送到訪問權(quán)限中介服務(wù)器103,并且獲得用于訪問存儲(chǔ)服務(wù)器105的訪問權(quán)限。下面將描述在該步驟中由訪問權(quán)限中介服務(wù)器103執(zhí)行的處理流程。
(步驟s303)
在步驟s303中,訪問權(quán)限中介服務(wù)器103根據(jù)由客戶端101發(fā)送的授權(quán)令牌從存儲(chǔ)訪問權(quán)限發(fā)布服務(wù)器104獲得對存儲(chǔ)服務(wù)器105的訪問權(quán)限。
圖5的(c)和圖5的(d)示出獲取存儲(chǔ)訪問權(quán)限的請求及其響應(yīng)的具體示例。圖5的(c)示出由訪問權(quán)限中介服務(wù)器103向存儲(chǔ)訪問權(quán)限發(fā)布服務(wù)器104發(fā)送的獲取存儲(chǔ)訪問權(quán)限的示例性請求。被包括在授權(quán)頭中的串與被包括在在步驟s301中獲得的授權(quán)令牌中的串相同。
圖5的(d)示出對圖5的(c)中的獲取存儲(chǔ)訪問權(quán)限的請求的示例性響應(yīng)。存儲(chǔ)訪問權(quán)限作為數(shù)據(jù)storage_credential(存儲(chǔ)證書)被包括在響應(yīng)中。存儲(chǔ)訪問權(quán)限的格式依賴于存儲(chǔ)服務(wù)器105的類型或規(guī)范而不同。因此,被包括在數(shù)據(jù)storage_credential中的屬性需要根據(jù)存儲(chǔ)服務(wù)器105的類型或規(guī)范而改變。例如,當(dāng)存儲(chǔ)服務(wù)器105的訪問權(quán)限被設(shè)定為id和密碼的組合時(shí),id和密碼被包括在數(shù)據(jù)storage_credential中。如在圖5的(d)中的數(shù)據(jù)expiration(過期)中所登記的,可以設(shè)定存儲(chǔ)訪問權(quán)限的過期日期和時(shí)間。在上述圖5的(c)和5的(d)中,以json格式描述了獲取存儲(chǔ)訪問權(quán)限的請求及其響應(yīng),但是可以以諸如xml的其它格式來描述。
(步驟s304)
在步驟s304中,客戶端101使用步驟s202中獲得的存儲(chǔ)訪問權(quán)限來訪問存儲(chǔ)服務(wù)器105,并且執(zhí)行各種文件操作。訪問權(quán)限包括關(guān)于在存儲(chǔ)服務(wù)器105的儲(chǔ)存器中允許被訪問的文件路徑的信息。在圖3中的示例中,文件被上傳。當(dāng)成功執(zhí)行上傳時(shí),從存儲(chǔ)服務(wù)器105向客戶端101發(fā)送指示上傳已被成功執(zhí)行的響應(yīng)。
通過使用圖6,將描述根據(jù)本實(shí)施例的訪問權(quán)限中介服務(wù)器103的功能的示例性配置。如上所述,訪問權(quán)限中介服務(wù)器103向存儲(chǔ)訪問權(quán)限發(fā)布服務(wù)器104發(fā)送獲取存儲(chǔ)訪問權(quán)限的請求,并將其響應(yīng)發(fā)送給客戶端101。
基于從客戶端101發(fā)送的授權(quán)令牌,存儲(chǔ)訪問權(quán)限管理單元1101使用存儲(chǔ)訪問權(quán)限獲取單元1102從存儲(chǔ)訪問權(quán)限發(fā)布服務(wù)器104獲得存儲(chǔ)訪問權(quán)限。存儲(chǔ)訪問權(quán)限管理單元1101將從存儲(chǔ)訪問權(quán)限發(fā)布服務(wù)器104獲得的存儲(chǔ)訪問權(quán)限發(fā)送到客戶端101。存儲(chǔ)訪問權(quán)限管理單元1101通過使用授權(quán)令牌信息獲取單元1103獲得關(guān)于接收到的授權(quán)令牌的信息。存儲(chǔ)訪問權(quán)限管理單元1101使用存儲(chǔ)訪問范圍確定單元1104來確定要發(fā)布的存儲(chǔ)訪問權(quán)限的許可范圍。
存儲(chǔ)訪問范圍存儲(chǔ)單元1106存儲(chǔ)存儲(chǔ)訪問范圍的設(shè)定信息。圖7示出根據(jù)本實(shí)施例的存儲(chǔ)訪問范圍管理表1200。
存儲(chǔ)訪問范圍管理表1200被存儲(chǔ)在存儲(chǔ)訪問范圍存儲(chǔ)單元1106中,并且用于管理存儲(chǔ)訪問權(quán)限。如圖所示,存儲(chǔ)訪問范圍管理表1200描述與授權(quán)令牌中的作用域?qū)?yīng)的存儲(chǔ)許可的范圍。存儲(chǔ)訪問范圍管理表1200具有與對應(yīng)于授權(quán)令牌的客戶端id1201相關(guān)聯(lián)的作用域1202。作為對與作用域1202對應(yīng)的存儲(chǔ)服務(wù)器105的訪問范圍,操作1203和文件路徑1204相關(guān)聯(lián)。操作1203指示對存儲(chǔ)服務(wù)器105的操作。操作的名稱由存儲(chǔ)服務(wù)器105定義。例如,假定read(讀取)指示從存儲(chǔ)服務(wù)器105讀取,并且write(寫入)指示寫入到存儲(chǔ)服務(wù)器105。可以分別管理為操作1203設(shè)定的串與對存儲(chǔ)服務(wù)器105的操作之間的關(guān)聯(lián),并且操作1203可以使用由訪問權(quán)限中介服務(wù)器103定義的原始串。
在文件路徑1204中,允許訪問的存儲(chǔ)服務(wù)器105的文件路徑被寫入。可以在文件路徑1204中設(shè)定存儲(chǔ)服務(wù)器105的目錄和文件名。此外,在文件路徑1204中,可以使用兩種類型的變量(valuables)作為設(shè)定值。這兩種類型的變量中的一個(gè)指示與授權(quán)令牌相關(guān)聯(lián)的信息,并且以${token.attribute_name}的格式表示。這兩種類型的變量中的另一個(gè)指示可以從被包括在發(fā)布存儲(chǔ)訪問權(quán)限的請求中的任何信息指定的信息,并且以${param.parameter_name}的格式表示。通過使用這兩種類型的變量,可以通過使用以下內(nèi)容來設(shè)定存儲(chǔ)服務(wù)器105上的路徑:關(guān)于由認(rèn)證授權(quán)服務(wù)器102發(fā)布的授權(quán)令牌的信息以及可以使用在獲取存儲(chǔ)訪問權(quán)限中獲得的任何信息來設(shè)定的信息的組合。例如,與授權(quán)令牌相關(guān)聯(lián)的信息可以在文件路徑1204的上部中指定,并且可以從發(fā)布存儲(chǔ)訪問權(quán)限的請求中所包括的任何信息指定的信息可以在下部中指定。在該規(guī)范方法中,允許被訪問的存儲(chǔ)服務(wù)器105的上部路徑基于由認(rèn)證授權(quán)服務(wù)器102管理的信息來確定。因此,可以限制由獲得存儲(chǔ)訪問權(quán)限的客戶端訪問的路徑。因而,出現(xiàn)其中客戶端僅訪問特定路徑下的路徑的情況。因此,對存儲(chǔ)服務(wù)器105的訪問權(quán)限可以被限制為最小必需權(quán)限。此外,可以在請求的提交中指定的任何值被設(shè)定到存儲(chǔ)服務(wù)器105的路徑的下部,使得能夠根據(jù)特定文件夾下的處理精細(xì)控制路徑。
在作用域1202、操作1203和文件路徑1204中,可以指定多個(gè)值。這兩種類型的變量的格式僅僅是示例。只要變量彼此區(qū)分,就可以采用任何格式。存儲(chǔ)訪問范圍管理表1200具有存儲(chǔ)訪問權(quán)限的有效期限1205。有效期限1205是其中從發(fā)布存儲(chǔ)訪問權(quán)限的時(shí)間點(diǎn)開始的、存儲(chǔ)訪問權(quán)限有效的時(shí)段以秒表示的數(shù)據(jù)。有效期限1205可以通過使用除秒之外的單位來指定,或者可以通過使用特定日期而不是使用時(shí)段來指定??梢赃M(jìn)一步指定允許使用存儲(chǔ)訪問權(quán)限的客戶端101的ip地址??梢酝ㄟ^使用包括子網(wǎng)信息的cidr(無類域間路由)格式來指定ip地址。
具有客戶端id1201的存儲(chǔ)訪問范圍管理表1200可以單獨(dú)管理每個(gè)授權(quán)客戶端的設(shè)定信息。因而,可以為每個(gè)授權(quán)客戶端設(shè)定雖然作用域1202值相同、但是彼此不同的對存儲(chǔ)服務(wù)器105的許可。
通信單元1107經(jīng)由網(wǎng)絡(luò)106從客戶端101接收發(fā)布存儲(chǔ)訪問權(quán)限的請求。當(dāng)接收到發(fā)布存儲(chǔ)訪問權(quán)限的請求時(shí),通信單元1107通知存儲(chǔ)訪問權(quán)限管理單元1101。通信單元1107向客戶端101發(fā)送對接收到的發(fā)布存儲(chǔ)訪問權(quán)限的請求的響應(yīng)。通信單元1107用于訪問認(rèn)證授權(quán)服務(wù)器102和存儲(chǔ)訪問權(quán)限發(fā)布服務(wù)器104。
通過使用圖8,將描述當(dāng)接收到獲取存儲(chǔ)訪問權(quán)限的請求時(shí)由存儲(chǔ)訪問權(quán)限管理單元1101執(zhí)行的處理流程。圖8中的一系列處理是在圖3的步驟s302中從客戶端101發(fā)送獲取存儲(chǔ)訪問權(quán)限的請求之后執(zhí)行的處理。這些步驟由圖6中所示的功能來執(zhí)行。實(shí)際上,這些步驟以這樣的方式實(shí)現(xiàn):cpu201將存儲(chǔ)在rom202中的各種計(jì)算機(jī)程序存儲(chǔ)在ram203中,并且執(zhí)行各種計(jì)算機(jī)程序。
步驟s1301是其中存儲(chǔ)訪問權(quán)限管理單元1101接收從通信單元1107發(fā)送的獲取存儲(chǔ)訪問權(quán)限的請求的步驟。獲取存儲(chǔ)訪問權(quán)限的請求包括由認(rèn)證授權(quán)服務(wù)器102發(fā)布的授權(quán)令牌。如上所述,圖5的(c)中示出了獲取存儲(chǔ)訪問權(quán)限的請求的示例。
步驟s1302是其中授權(quán)令牌信息獲取單元1103獲得被包括在獲取存儲(chǔ)訪問權(quán)限的請求中的關(guān)于授權(quán)令牌的信息的步驟。授權(quán)令牌信息獲取單元1103向認(rèn)證授權(quán)服務(wù)器102發(fā)送獲取授權(quán)令牌信息的請求,并且獲得作為對請求的響應(yīng)的授權(quán)令牌信息。授權(quán)令牌信息包括授權(quán)令牌的有效期限和授權(quán)令牌的許可范圍。授權(quán)令牌信息包括已為其發(fā)布授權(quán)令牌的授權(quán)客戶端的客戶端id以及已許可發(fā)布授權(quán)令牌的用戶的用戶id。獲取授權(quán)令牌信息的請求至少包括授權(quán)令牌的值。
當(dāng)認(rèn)證授權(quán)服務(wù)器102接收到獲取授權(quán)令牌信息的請求時(shí),認(rèn)證授權(quán)服務(wù)器102參考授權(quán)令牌管理表600來檢查被包括在獲取授權(quán)令牌信息的請求中的授權(quán)令牌是否存在。當(dāng)授權(quán)令牌管理表600中不存在目標(biāo)授權(quán)令牌時(shí),認(rèn)證授權(quán)服務(wù)器102發(fā)送指示授權(quán)令牌不存在的響應(yīng)。即使在授權(quán)令牌管理表600中存在目標(biāo)授權(quán)令牌的情況下,當(dāng)授權(quán)令牌的過期日期和時(shí)間602已到來時(shí),認(rèn)證授權(quán)服務(wù)器102也發(fā)送指示過期日期和時(shí)間已到來的響應(yīng)。在授權(quán)令牌管理表600中存在目標(biāo)授權(quán)令牌并且過期日期和時(shí)間602未到來的情況下,認(rèn)證授權(quán)服務(wù)器102發(fā)送關(guān)于存儲(chǔ)在授權(quán)令牌管理表600中的授權(quán)令牌601的信息。圖9示出由認(rèn)證授權(quán)服務(wù)器102提供的示例性授權(quán)令牌信息。在訪問權(quán)限中介服務(wù)器103具有檢查授權(quán)令牌的過期日期和時(shí)間的功能的情況下,即使當(dāng)授權(quán)令牌的過期日期和時(shí)間602已到來,認(rèn)證授權(quán)服務(wù)器102也可以發(fā)送關(guān)于授權(quán)令牌601的信息。
步驟s1303是其中確定由存儲(chǔ)訪問權(quán)限管理單元1101接收到的授權(quán)令牌是否有效的步驟。如果授權(quán)令牌信息獲取單元1103從認(rèn)證授權(quán)服務(wù)器102正常獲得授權(quán)令牌信息,則確定授權(quán)令牌有效。如果授權(quán)令牌信息沒有被正常獲得,則確定授權(quán)令牌無效。其中授權(quán)令牌信息沒有被正常獲得的情況是其中授權(quán)令牌的過期日期和時(shí)間已到來的情況,或者是其中沒有在授權(quán)令牌管理表600中登記的授權(quán)令牌已被發(fā)送的情況。
步驟s1304是其中處理基于關(guān)于授權(quán)令牌是否有效的確定而進(jìn)行分支的步驟。如果在步驟s1303中確定授權(quán)令牌有效,則處理進(jìn)行到步驟s1305。如果確定授權(quán)令牌無效,則處理進(jìn)行到步驟s1310。
步驟s1305是其中存儲(chǔ)訪問范圍確定單元1104確定要發(fā)布的存儲(chǔ)訪問權(quán)限的許可范圍的步驟。下面將描述在該步驟中的處理的細(xì)節(jié)。
步驟s1306是其中存儲(chǔ)訪問范圍確定單元1104確定在步驟s1305中確定的存儲(chǔ)訪問權(quán)限的許可范圍是否有效的步驟。關(guān)于存儲(chǔ)訪問權(quán)限的許可范圍是否有效的確定是基于許可范圍策略(policy)做出的。許可范圍策略的示例是其中當(dāng)存儲(chǔ)訪問權(quán)限包含對特定文件路徑的訪問權(quán)限時(shí)確定存儲(chǔ)訪問權(quán)限無效的策略。另一示例是其中當(dāng)在存儲(chǔ)訪問范圍管理表1200中的文件路徑1204中定義的變量(variable)尚未被轉(zhuǎn)換時(shí)確定存儲(chǔ)訪問權(quán)限無效的策略??梢葬槍φ麄€(gè)訪問權(quán)限中介服務(wù)器103應(yīng)用許可范圍策略,或者可以在存儲(chǔ)訪問范圍管理表1200中為每個(gè)客戶端id1201確定是否應(yīng)用許可范圍策略。可以使用存儲(chǔ)訪問范圍確定單元1104的設(shè)定來切換確定是否要做出關(guān)于存儲(chǔ)訪問權(quán)限的許可范圍是否有效的確定的模式。
在該步驟中,如果確定由存儲(chǔ)訪問范圍確定單元1104給出的存儲(chǔ)訪問權(quán)限有效,則處理進(jìn)行到步驟s1307。如果確定由存儲(chǔ)訪問范圍確定單元1104給出的存儲(chǔ)訪問權(quán)限無效,則處理進(jìn)行到上述步驟s1310。
步驟s1307是其中存儲(chǔ)訪問權(quán)限獲取單元1102從存儲(chǔ)訪問權(quán)限發(fā)布服務(wù)器104獲得存儲(chǔ)訪問權(quán)限的步驟。存儲(chǔ)訪問權(quán)限獲取單元1102通過使用為存儲(chǔ)訪問權(quán)限發(fā)布服務(wù)器104提供的發(fā)布存儲(chǔ)訪問權(quán)限的功能而獲得存儲(chǔ)訪問權(quán)限。存儲(chǔ)訪問權(quán)限獲取單元向存儲(chǔ)訪問權(quán)限管理單元1101通知獲取存儲(chǔ)訪問權(quán)限的結(jié)果。
步驟s1308是其中確定存儲(chǔ)訪問權(quán)限是否被正常獲得的步驟。如果存儲(chǔ)訪問權(quán)限被正常獲得,則處理進(jìn)行到步驟s1309。如果存儲(chǔ)訪問權(quán)限沒有被正常獲得,則處理進(jìn)行到上述s1310。
步驟s1309是其中存儲(chǔ)權(quán)限管理單元1101向客戶端101發(fā)送在步驟s1307中獲得的存儲(chǔ)訪問權(quán)限的步驟。
步驟s1310是其中存儲(chǔ)訪問權(quán)限管理單元1101向客戶端101發(fā)送錯(cuò)誤響應(yīng)的步驟。在該步驟中發(fā)送的錯(cuò)誤響應(yīng)可以包括授權(quán)令牌無效的錯(cuò)誤原因。錯(cuò)誤響應(yīng)可以包括存儲(chǔ)訪問權(quán)限的許可范圍無效的錯(cuò)誤原因,或者存儲(chǔ)訪問權(quán)限沒有從存儲(chǔ)訪問權(quán)限發(fā)布服務(wù)器104獲得的錯(cuò)誤原因。在步驟s1309或步驟s1310中的處理之后,流程中的處理結(jié)束。
通過使用圖10,將描述在上述步驟s1305中執(zhí)行的確定存儲(chǔ)訪問權(quán)限的處理流程。實(shí)際上,這些步驟以這樣的方式實(shí)現(xiàn):cpu201將存儲(chǔ)在rom202中的各種計(jì)算機(jī)程序存儲(chǔ)在ram203中,并且執(zhí)行各種計(jì)算機(jī)程序。
步驟s1501是其中從存儲(chǔ)訪問范圍管理表1200獲得關(guān)于存儲(chǔ)訪問權(quán)限的信息的步驟。在該步驟中,基于被包括在步驟s1302中獲得的授權(quán)令牌信息中的作用域和客戶端id,獲得對應(yīng)的操作1203、對應(yīng)的文件路徑1204和對應(yīng)的有效期限1205。在獲取中,參考了存儲(chǔ)訪問范圍管理表1200。
在被包括在授權(quán)令牌中的各條作用域信息當(dāng)中,其作用域是要為其獲得存儲(chǔ)訪問權(quán)限的作用域可以在從客戶端101發(fā)送的獲取存儲(chǔ)訪問權(quán)限的請求中指定。在這種情況下,在被包括在授權(quán)令牌中的各條作用域信息之中,在獲取存儲(chǔ)訪問權(quán)限的請求中指定的作用域可以在該步驟中使用以從存儲(chǔ)訪問范圍管理表1200獲得關(guān)于存儲(chǔ)訪問權(quán)限的信息。
步驟s1502是其中確定存儲(chǔ)訪問范圍管理表1200中是否存在對應(yīng)的客戶端id401和對應(yīng)的作用域403的步驟。如果確定存在對應(yīng)的客戶端id401和對應(yīng)的作用域403,則處理進(jìn)行到步驟s1503。如果確定對應(yīng)的客戶端id401和對應(yīng)的作用域403不存在,則處理進(jìn)行到步驟s1506。
步驟s1503是其中確定在步驟s1501中獲得的文件路徑1204中是否包括變量的步驟。如果變量被包括在在步驟s1501中所獲得的文件路徑1204中,則處理進(jìn)行到步驟s1504。如果不包括變量,則處理進(jìn)行到步驟s1505。
步驟s1504是其中基于在步驟s1302中獲得的授權(quán)令牌信息來替換變量的步驟。在該步驟中,使用與被包括在文件路徑1204中的變量對應(yīng)的授權(quán)令牌信息來替換變量。將描述其中在圖7中客戶端id1201是client001并且作用域1202是upload(上傳)和其中獲得圖9中的授權(quán)令牌信息的情況的示例。在這種情況下,被包括在文件路徑1204中的${token.client_id}被替換為client001。這是因?yàn)閏lient001作為數(shù)據(jù)client_id被包括在圖9中的授權(quán)令牌信息中。類似地,基于被包括在獲取存儲(chǔ)訪問權(quán)限的請求中的值,文件路徑1204中的${param.time}被替換為20140930。此外,${param.name}被替換為image001.jpg。因此,通過替換獲得的文件路徑1204是/client001/20140930/image001.jpg。
步驟s1505是其中確定存儲(chǔ)訪問權(quán)限的過期日期和時(shí)間的步驟。在該步驟中,基于在步驟s1501中獲得的有效期限1205,當(dāng)有效期限1205從當(dāng)前時(shí)間起流逝的日期和時(shí)間被用作存儲(chǔ)訪問權(quán)限的過期日期和時(shí)間。
步驟s1506是其中向客戶端101發(fā)送錯(cuò)誤響應(yīng)的步驟。在步驟s1506中發(fā)送的錯(cuò)誤響應(yīng)可以包括在存儲(chǔ)訪問范圍管理表1200中不存在對應(yīng)的客戶端id401和對應(yīng)的作用域403的錯(cuò)誤原因。假定在該步驟中發(fā)送錯(cuò)誤響應(yīng)??商娲?,可以在存儲(chǔ)訪問范圍管理表1200中登記當(dāng)不存在必需的設(shè)定時(shí)使用的默認(rèn)設(shè)定。默認(rèn)設(shè)定可以用作存儲(chǔ)訪問權(quán)限。在步驟s1505或步驟s1506中的處理之后,整個(gè)處理結(jié)束。
如上所述,根據(jù)本實(shí)施例的訪問權(quán)限中介服務(wù)器103可以基于由認(rèn)證授權(quán)服務(wù)器102發(fā)布的授權(quán)令牌調(diào)解對存儲(chǔ)服務(wù)器105的訪問權(quán)限。通過調(diào)解,認(rèn)證授權(quán)服務(wù)器102能夠控制對存儲(chǔ)服務(wù)器105的訪問權(quán)限的許可范圍,并且能夠向存儲(chǔ)服務(wù)器105發(fā)布適當(dāng)?shù)脑L問權(quán)限。此外,可以根據(jù)要由客戶端101執(zhí)行的處理發(fā)布對存儲(chǔ)服務(wù)器105的訪問權(quán)限。因此,向客戶端101提供了最小必需訪問權(quán)限,并且可以避免提供過多的許可。
(第二實(shí)施例)
在第一實(shí)施例中,指示了其中訪問權(quán)限中介服務(wù)器103在每次訪問權(quán)限中介服務(wù)器103接收到獲取存儲(chǔ)訪問權(quán)限的請求時(shí)獲得存儲(chǔ)訪問權(quán)限的示例。在本實(shí)施例中,訪問權(quán)限中介服務(wù)器臨時(shí)高速緩存存儲(chǔ)訪問權(quán)限。本實(shí)施例具有與第一實(shí)施例類似的配置。下面將描述本實(shí)施例與第一實(shí)施例之間的差異。
圖11示出根據(jù)本實(shí)施例的訪問權(quán)限中介服務(wù)器103的功能的示例性配置。根據(jù)本實(shí)施例的訪問權(quán)限中介服務(wù)器103包括存儲(chǔ)訪問權(quán)限存儲(chǔ)單元1601,并且臨時(shí)存儲(chǔ)從存儲(chǔ)訪問權(quán)限發(fā)布服務(wù)器104獲得的存儲(chǔ)訪問權(quán)限。存儲(chǔ)訪問權(quán)限存儲(chǔ)單元1601具有圖12中所示的存儲(chǔ)訪問權(quán)限管理表1700,并且存儲(chǔ)由授權(quán)客戶端和作用域構(gòu)成的并且用于獲得存儲(chǔ)訪問權(quán)限的每個(gè)數(shù)據(jù)集的存儲(chǔ)訪問權(quán)限。
如圖所示,存儲(chǔ)訪問權(quán)限管理表1700是用于管理所獲得的存儲(chǔ)訪問權(quán)限的表。存儲(chǔ)訪問權(quán)限管理表1700具有與對應(yīng)于授權(quán)令牌的客戶端id1701相關(guān)聯(lián)的作用域1702。作為對應(yīng)于作用域1702的存儲(chǔ)服務(wù)器105的訪問范圍,操作1703和文件路徑1704被關(guān)聯(lián)。此外,存儲(chǔ)訪問權(quán)限1705和用于存儲(chǔ)訪問權(quán)限1706的過期日期和時(shí)間1705被關(guān)聯(lián)。過期日期和時(shí)間1705指示當(dāng)存儲(chǔ)訪問權(quán)限1706變得無效時(shí)的日期和時(shí)間。存儲(chǔ)訪問權(quán)限1705可以被加密和存儲(chǔ),而不是純文本??梢酝ㄟ^使用由訪問權(quán)限中介服務(wù)器103或客戶端101使用的時(shí)區(qū)中的日期和時(shí)間來存儲(chǔ)過期日期和時(shí)間1705。
通過使用圖13,將描述當(dāng)接收到獲取存儲(chǔ)訪問權(quán)限的請求時(shí)由存儲(chǔ)訪問權(quán)限管理單元1101執(zhí)行的處理流程。圖13中的處理與根據(jù)第一實(shí)施例的圖8中的處理幾乎相同。將僅僅描述差異。
實(shí)際上,這些步驟以這樣的方式實(shí)現(xiàn):cpu201將存儲(chǔ)在rom202中的各種計(jì)算機(jī)程序存儲(chǔ)在ram203中,并且執(zhí)行各種計(jì)算機(jī)程序。
步驟s1801是其中關(guān)于對應(yīng)于要獲得的存儲(chǔ)訪問權(quán)限的存儲(chǔ)訪問權(quán)限是否已經(jīng)被獲得的查詢被發(fā)送到存儲(chǔ)訪問權(quán)限存儲(chǔ)單元1601的步驟。當(dāng)查詢被發(fā)送時(shí),存儲(chǔ)訪問權(quán)限存儲(chǔ)單元1601檢查以下點(diǎn)。即,存儲(chǔ)訪問權(quán)限存儲(chǔ)單元1601檢查具有與要獲得的存儲(chǔ)訪問權(quán)限的授權(quán)客戶端的客戶端id、作用域、操作和文件路徑匹配的客戶端id、作用域、操作和文件路徑的存儲(chǔ)訪問權(quán)限是否在存儲(chǔ)訪問權(quán)限管理表1700中存在。如果這樣的存儲(chǔ)訪問權(quán)限存在,則存儲(chǔ)訪問權(quán)限存儲(chǔ)單元1601檢查過期日期和時(shí)間。如果存儲(chǔ)訪問權(quán)限未過期,則存儲(chǔ)訪問權(quán)限被認(rèn)為被獲得,并且存儲(chǔ)訪問權(quán)限的值被返回到存儲(chǔ)訪問權(quán)限獲取單元。即使在存儲(chǔ)訪問權(quán)限未過期的情況下,只有在直到過期日期和時(shí)間到來為止仍然具有一定時(shí)段或更長時(shí)段時(shí),才可以確定已獲得存儲(chǔ)訪問權(quán)限。在上述處理之后,如果已獲得存儲(chǔ)訪問權(quán)限,則處理進(jìn)行到步驟s1309。如果還沒有獲得存儲(chǔ)訪問權(quán)限,則處理進(jìn)行到步驟s1307。
步驟s1802是其中存儲(chǔ)訪問權(quán)限存儲(chǔ)單元1601存儲(chǔ)所獲得的存儲(chǔ)訪問權(quán)限的步驟。所獲得的存儲(chǔ)訪問權(quán)限作為高速緩存被記錄在存儲(chǔ)訪問權(quán)限管理表1700中。當(dāng)獲取相同存儲(chǔ)訪問權(quán)限的請求被發(fā)送時(shí),可以通過參考存儲(chǔ)訪問權(quán)限管理表1700來獲得存儲(chǔ)訪問權(quán)限。
如上所述,根據(jù)本實(shí)施例的訪問權(quán)限中介服務(wù)器不需要每次從存儲(chǔ)訪問權(quán)限發(fā)布服務(wù)器104獲得存儲(chǔ)訪問權(quán)限。因而,直到圖13中的處理完成為止的時(shí)間減少,使得能夠快速地向客戶端101返回對獲取存儲(chǔ)訪問權(quán)限的請求的響應(yīng)。
(第三實(shí)施例)
本實(shí)施例描述當(dāng)訪問權(quán)限中介服務(wù)器103接收到改變存儲(chǔ)訪問范圍的請求時(shí)執(zhí)行的處理。
圖14示出根據(jù)本實(shí)施例的訪問權(quán)限中介服務(wù)器103的示例性功能配置。根據(jù)本實(shí)施例的訪問權(quán)限中介服務(wù)器103包括存儲(chǔ)訪問范圍管理單元1401。存儲(chǔ)訪問范圍管理單元1401添加、刪除和改變存儲(chǔ)在存儲(chǔ)訪問范圍設(shè)定信息1106中的信息。通信單元1107接收改變存儲(chǔ)訪問范圍的請求,并且向存儲(chǔ)訪問范圍管理單元1401通知接收到的改變存儲(chǔ)訪問范圍的請求。存儲(chǔ)訪問范圍管理單元1401基于改變存儲(chǔ)訪問范圍的請求來改變存儲(chǔ)在存儲(chǔ)訪問范圍管理表1200中的信息。
圖15示出根據(jù)本實(shí)施例的當(dāng)接收到改變存儲(chǔ)訪問范圍的請求時(shí)由存儲(chǔ)訪問范圍管理單元1401執(zhí)行的處理流程。
實(shí)際上,這些步驟以這樣的方式實(shí)現(xiàn):cpu201將存儲(chǔ)在rom202中的各種計(jì)算機(jī)程序存儲(chǔ)在ram203中,并且執(zhí)行各種計(jì)算機(jī)程序。
步驟s1901是其中接收從通信單元1107發(fā)送的改變存儲(chǔ)訪問范圍的請求的步驟。改變存儲(chǔ)訪問范圍的請求包括由認(rèn)證授權(quán)服務(wù)器102發(fā)布的授權(quán)令牌,以及關(guān)于改變存儲(chǔ)訪問范圍的信息。
圖16示出在要修改存儲(chǔ)訪問范圍的情況下改變存儲(chǔ)訪問范圍的示例性請求。改變存儲(chǔ)訪問范圍的請求具有與存儲(chǔ)在存儲(chǔ)訪問范圍管理表1200中的信息對應(yīng)的屬性。改變存儲(chǔ)訪問范圍的請求可以包括存儲(chǔ)在存儲(chǔ)訪問范圍管理表1200中的項(xiàng)目中的全部,或者可以僅包括必須要改變的屬性。
步驟s1902是其中獲得關(guān)于被包括在改變存儲(chǔ)訪問范圍的請求中的授權(quán)令牌的信息的步驟。授權(quán)令牌信息獲取單元1103向認(rèn)證授權(quán)服務(wù)器102發(fā)送獲取授權(quán)令牌信息的請求,并且獲得授權(quán)令牌信息。獲取授權(quán)令牌信息的請求包括授權(quán)令牌的值。
步驟s1903是其中驗(yàn)證在步驟s1902中獲得的授權(quán)令牌是否有效的步驟。通過使用驗(yàn)證結(jié)果,在步驟s1904中,確定授權(quán)令牌是否有效。如果在步驟s1902中授權(quán)令牌信息沒有被正常獲得,則確定授權(quán)令牌無效。如果授權(quán)令牌信息被正常獲得,則檢查被包括在授權(quán)令牌信息中的授權(quán)客戶端的客戶端id和作用域是否與改變存儲(chǔ)訪問范圍的請求中包括的那些客戶端id和作用域相匹配。如果匹配被成功執(zhí)行,則確定授權(quán)令牌有效。如果確定授權(quán)令牌有效,則處理進(jìn)行到步驟s1905。如果匹配沒有被成功執(zhí)行,則可以認(rèn)為做出了改變與已發(fā)送改變存儲(chǔ)訪問范圍的請求的授權(quán)客戶端不同的授權(quán)客戶端的設(shè)定的嘗試。因此,確定授權(quán)令牌無效。如果確定授權(quán)令牌無效,則處理進(jìn)行到步驟s1906。
步驟s1905是其中使用關(guān)于接收到的改變存儲(chǔ)訪問范圍的請求的信息來改變存儲(chǔ)訪問范圍管理表1200中對應(yīng)的授權(quán)客戶端和對應(yīng)的作用域的信息的步驟。在步驟s1906中,向客戶端101返回錯(cuò)誤響應(yīng)。在步驟s1905或步驟s1906中的處理之后,整個(gè)處理結(jié)束。
在圖15中的處理中,示出了改變現(xiàn)有設(shè)定的示例。此外,可以刪除設(shè)定或者可以創(chuàng)建新的設(shè)定。例如,當(dāng)要?jiǎng)h除設(shè)定時(shí),圖16中的http中的動(dòng)詞部分可以被改變?yōu)閐elete。當(dāng)要?jiǎng)?chuàng)建新的設(shè)定時(shí),http中的動(dòng)詞部分可以被改變?yōu)閜ost。
改變存儲(chǔ)訪問范圍的請求包括授權(quán)令牌。替代地,可以發(fā)送指示使用用戶id和密碼的認(rèn)證結(jié)果的信息。此外,改變存儲(chǔ)訪問范圍的許可可以僅被給予用戶所屬的特定用戶組。
如上所述,根據(jù)本實(shí)施例的訪問權(quán)限中介服務(wù)器使得用戶能夠改變由存儲(chǔ)訪問范圍管理表1200管理的存儲(chǔ)訪問范圍的設(shè)定信息。因而,當(dāng)必需時(shí),對存儲(chǔ)服務(wù)器105的訪問權(quán)限的設(shè)定可以被改變。因此,可以在適當(dāng)?shù)姆秶鷥?nèi)管理對存儲(chǔ)服務(wù)器105的訪問權(quán)限。
當(dāng)要改變存儲(chǔ)訪問范圍管理表1200中的設(shè)定時(shí),檢查用戶是否被允許改變存儲(chǔ)訪問范圍管理表1200中的設(shè)定。因此,無效的用戶難以篡改存儲(chǔ)訪問范圍管理表1200中的設(shè)定。
(其他實(shí)施例)
本發(fā)明可以通過以下處理來實(shí)現(xiàn):其中實(shí)現(xiàn)上述實(shí)施例的一個(gè)或多個(gè)功能的程序經(jīng)由網(wǎng)絡(luò)或存儲(chǔ)介質(zhì)被供應(yīng)給系統(tǒng)或裝置,并且其中系統(tǒng)或裝置的計(jì)算機(jī)中的一個(gè)或多個(gè)處理器讀取并執(zhí)行程序。此外,本發(fā)明可以通過實(shí)現(xiàn)一個(gè)或多個(gè)功能的電路(例如,asic)來實(shí)現(xiàn)。
本發(fā)明不限于上述實(shí)施例。在不違背本發(fā)明的精神和范圍的情況下,可以做出各種改變和修改。因此,為了向公眾通報(bào)本發(fā)明的范圍,附加了以下權(quán)利要求。
附圖標(biāo)記列表
1102存儲(chǔ)訪問權(quán)限獲取單元
1103授權(quán)令牌信息獲取單元
1104存儲(chǔ)訪問范圍確定單元
1107通信單元