專利名稱:授權(quán)控制的制作方法
授權(quán)控制
背景技術(shù):
云計(jì)算環(huán)境可以提供被從底層物理硬件中抽象的計(jì)算基礎(chǔ)設(shè)施。云計(jì)算環(huán)境可以通過(guò)提供用于根據(jù)需求創(chuàng)建虛擬機(jī)(VM)的能力來(lái)實(shí)現(xiàn)(de I i ver )基礎(chǔ)設(shè)施即服務(wù)(IaaS ),所述虛擬機(jī)具有諸如尺寸、操作系統(tǒng)、塊設(shè)備的數(shù)目等的定義的屬性??梢詮牡讓游锢碛布型诰蜻@些VM,所述這些VM可以被形成為封裝網(wǎng)絡(luò)。圖1圖示了云計(jì)算環(huán)境的示例。在圖1中所示出的示例中,示出了物理計(jì)算硬件基礎(chǔ)設(shè)施101。所述物理計(jì)算硬件基礎(chǔ)設(shè)施能夠例如包括一個(gè)或多個(gè)數(shù)據(jù)中心等等,所述數(shù)據(jù)中心包括多個(gè)服務(wù)器、一個(gè)或多個(gè)超級(jí)計(jì)算機(jī)或計(jì)算資源的任何集合或網(wǎng)絡(luò)。物理硬件可以被一個(gè)組織擁有和控制,并且被使得其他組織可獲得,例如作為基礎(chǔ)設(shè)施即服務(wù)和/或平臺(tái)即服務(wù)業(yè)務(wù)的一部分,或者硬件能夠是作為針對(duì)其自己的用戶的云計(jì)算環(huán)境而操作的單一組織的硬件。物理硬件可以被用來(lái)根據(jù)需求將適當(dāng)?shù)腣M提供給用戶。VM可以與用于操作和數(shù)據(jù)存儲(chǔ)的卷(即虛擬盤)相關(guān)聯(lián)。在一個(gè)實(shí)施方式中,VM和卷被提供在單元內(nèi),其中每個(gè)單元是包括一個(gè)或多個(gè)VM和/或卷的封裝網(wǎng)絡(luò)。在云計(jì)算環(huán)境的實(shí)施方式中,單元是得自底層物理基礎(chǔ)設(shè)施的虛擬化基礎(chǔ)設(shè)施,其可以通過(guò)封裝與由相同的物理基礎(chǔ)設(shè)施所提供的其他虛擬資源分離。換句話說(shuō),單元是虛擬資源的集合,所述虛擬資源可以被隔離在虛擬安全邊界內(nèi),并且其中,網(wǎng)絡(luò)安全規(guī)則可以控制任何數(shù)據(jù)業(yè)務(wù)進(jìn)入或離開所述單元。單元因此可以提供虛擬網(wǎng)絡(luò),所述虛擬網(wǎng)絡(luò)可以被連接到更廣泛的網(wǎng)絡(luò),并且在所述虛擬網(wǎng)絡(luò)中,除了通過(guò)能夠被單元的擁有者所控制的連接規(guī)則以外,網(wǎng)絡(luò)安全規(guī)則可能意味著一個(gè)單元與另一個(gè)單元隔離。默認(rèn)情況下每個(gè)單元都可以與所有其他單元徹底地隔離,盡管單元的擁有者能夠通過(guò)網(wǎng)絡(luò)訪問(wèn)規(guī)則來(lái)控制所述單元與外部實(shí)體的交互。在單元內(nèi)又一個(gè)虛擬機(jī)可以被實(shí)例化并且可以形成虛擬網(wǎng)絡(luò)。卷是單元的部件。在云計(jì)算的背景下,卷是可被VM訪問(wèn)的虛擬部件,所述VM提供了永久存儲(chǔ)以便保持VM的狀態(tài)或用來(lái)形成VM的圖像或部件。在云計(jì)算的背景下,卷被自任何底層物理存儲(chǔ)硬件中抽象出來(lái),并且因此與任何特定的存儲(chǔ)資源或資源的類型分離并且未捆綁到任何特定的存儲(chǔ)資源或資源的類型,但是提供具有諸如尺寸之類的定義屬性的單一不同的虛擬存儲(chǔ)資源。圖1示出了第一用戶102正在運(yùn)行兩個(gè)單元103和104。用戶102經(jīng)由通過(guò)例如用戶的本地工作站所提供的用戶接口來(lái)訪問(wèn)單元。用戶102針對(duì)單元規(guī)定了 VM和相關(guān)聯(lián)的卷的數(shù)目和屬性。單元103示出了若干VM 105-1至105-5的說(shuō)明性網(wǎng)絡(luò),每個(gè)VM都具有相關(guān)聯(lián)的卷106-1至106-5。單元104示出了包括具有三個(gè)相關(guān)聯(lián)的卷108-1至108-3的單個(gè)VM 107的說(shuō)明性網(wǎng)絡(luò)。圖1還圖示了另一用戶109正在運(yùn)行不同的單元110。在一些實(shí)施例中,用戶可以共享云計(jì)算環(huán)境內(nèi)的服務(wù),并且運(yùn)行在云計(jì)算環(huán)境內(nèi)的應(yīng)用可以自主地與其他應(yīng)用交互。因此,云計(jì)算環(huán)境可以以松散耦合的、自主服務(wù)的集合為特征。
現(xiàn)在將參考以下圖僅通過(guò)示例對(duì)實(shí)施方式進(jìn)行描述,圖中
圖1圖示了云計(jì)算環(huán)境和多個(gè)單元的示例;
圖2圖示了卷管理系統(tǒng)的實(shí)施方式;
圖3圖示了云計(jì)算環(huán)境中的授權(quán)系統(tǒng)的實(shí)施方式;
圖4圖示了使用授權(quán)系統(tǒng)來(lái)出具認(rèn)證的實(shí)體的實(shí)施方式;
圖5示出了出具認(rèn)證的一個(gè)方法的流程 圖6示出了查詢實(shí)體是否具有授權(quán)的一個(gè)方法的流程圖;以及 圖7圖示了授權(quán)系統(tǒng)的多個(gè)實(shí)例的實(shí)施方式。
具體實(shí)施例方式在許多計(jì)算環(huán)境中以及尤其在云計(jì)算環(huán)境中安全是重要的考慮事項(xiàng)。安全的重要方面是用于控制對(duì)服務(wù)和資源的訪問(wèn)的授權(quán)。例如,圖2圖示了可以被與多個(gè)用戶202a和202b共享的卷管理服務(wù)201。卷管理服務(wù)201可以允許用戶創(chuàng)建和修改單元卷,即可以被附加到在用的虛擬機(jī)(VM)的虛擬盤。卷管理服務(wù)在基于單元的云計(jì)算環(huán)境中可以被實(shí)例化在其自己的單元內(nèi),并且可以提供卷管理服務(wù)器VM 203以便執(zhí)行各種管理功能。用戶202a可以連接到卷管理服務(wù)器203并且能夠訪問(wèn)該用戶的單元卷204a。用戶202b也可以連接到卷管理服務(wù)器203以訪問(wèn)由用戶202b所擁有的單元卷204b。一般而言,用戶202a可能想要成為能夠訪問(wèn)用戶202a擁有的卷204a的唯一用戶。然而在一些情況下,用戶202a可能是想允許一個(gè)或多個(gè)其他用戶(例如,用戶202b)訪問(wèn)用戶202a擁有的卷中的一個(gè)或多個(gè)。此外,出于執(zhí)行卷的掃描的目的,用戶202a可能想要允許云計(jì)算環(huán)境中的一個(gè)或多個(gè)應(yīng)用(例如,應(yīng)用205)例如病毒掃描應(yīng)用能夠訪問(wèn)卷204a。圖3圖示了認(rèn)證系統(tǒng)的實(shí)施方式,所述認(rèn)證系統(tǒng)例如云計(jì)算環(huán)境中用于控制對(duì)服務(wù)和資源的訪問(wèn)的授權(quán)系統(tǒng)。圖3示出了訪問(wèn)應(yīng)用302的實(shí)體301,所述實(shí)體301在本示例中可以是訪問(wèn)諸如上述的卷管理服務(wù)器VM的用戶。然而顯然實(shí)體301還能夠是云計(jì)算環(huán)境的應(yīng)用。用戶301可以訪問(wèn)卷管理服務(wù)器并且請(qǐng)求關(guān)于卷303的動(dòng)作。卷管理服務(wù)器需要確定用戶301是否被授權(quán)以對(duì)所規(guī)定的卷執(zhí)行所請(qǐng)求的動(dòng)作。例如,如果用戶試圖訪問(wèn)可用卷的列表或者針對(duì)滿足特定標(biāo)準(zhǔn)的卷執(zhí)行搜索,則卷管理服務(wù)器需要確定用戶301被授權(quán)發(fā)現(xiàn)哪些卷,例如具有讀訪問(wèn)權(quán)。如果用戶301選擇了特定卷并且試圖修改該卷,則卷管理服務(wù)器需要確定用戶301是否具有修改該卷的授權(quán),例如已經(jīng)許可了對(duì)該特定卷的寫訪問(wèn)權(quán)。卷管理服務(wù)器因此聯(lián)系授權(quán)系統(tǒng)304,以確定用戶301是否具有對(duì)所規(guī)定的資源執(zhí)行所請(qǐng)求的動(dòng)作的必要授權(quán)。在一個(gè)實(shí)施方式中,卷管理服務(wù)器生成查詢,所述查詢?cè)儐?wèn)授權(quán)系統(tǒng)用戶301是否被授權(quán)對(duì)所規(guī)定的資源執(zhí)行所請(qǐng)求的動(dòng)作。在一個(gè)實(shí)施方式中,授權(quán)系統(tǒng)304可以包括與卷管理服務(wù)器進(jìn)行交互的授權(quán)服務(wù)器VM 305。授權(quán)系統(tǒng)304控制對(duì)認(rèn)證的存儲(chǔ)306的訪問(wèn),所述存儲(chǔ)306支配授權(quán)。認(rèn)證是語(yǔ)句,其已經(jīng)被實(shí)體預(yù)先出具,其指示另一個(gè)實(shí)體(認(rèn)證的主體)具有特定屬性。認(rèn)證因此是主體具有相關(guān)屬性的預(yù)先出具的確認(rèn)。屬性可以是用于執(zhí)行某動(dòng)作的許可和/或?qū)傩钥梢允桥c訪問(wèn)相關(guān)的主體的任何屬性。認(rèn)證是能夠賴以進(jìn)行授權(quán)決定的安全語(yǔ)句。在一個(gè)實(shí)施方式中,授權(quán)系統(tǒng)為出具的認(rèn)證提供安全。授權(quán)系統(tǒng)在授權(quán)服務(wù)器305處接收查詢,并且將所述查詢傳遞到?jīng)Q定引擎307。所述決定引擎根據(jù)已經(jīng)被出具的認(rèn)證的存儲(chǔ)306來(lái)確定用戶301是否具有對(duì)所規(guī)定的資源執(zhí)行所請(qǐng)求的動(dòng)作的授權(quán)。決定引擎307因此進(jìn)行關(guān)于用戶301是否被授權(quán)的決定,并且充當(dāng)策略決定點(diǎn)(PDP)。授權(quán)系統(tǒng)然后可以以關(guān)于針對(duì)該動(dòng)作用戶301是否被授權(quán)的決定的結(jié)果來(lái)響應(yīng)卷管理服務(wù)器302 (經(jīng)由授權(quán)服務(wù)器305)。卷管理服務(wù)器302然后使用本決定的結(jié)果來(lái)相應(yīng)地許可或者拒絕用戶301訪問(wèn)。應(yīng)用即本示例中的卷管理服務(wù)器因此充當(dāng)策略實(shí)施點(diǎn)(PEP)。應(yīng)當(dāng)認(rèn)識(shí)到的是,云計(jì)算環(huán)境中的授權(quán)系統(tǒng)可以包括一個(gè)或多個(gè)虛擬機(jī)(VM)。例如,授權(quán)服務(wù)器可以是在底層物理基礎(chǔ)設(shè)施內(nèi)實(shí)例化的VM,即底層計(jì)算機(jī)硬件提供授權(quán)服務(wù)器。認(rèn)證的存儲(chǔ)306可以由附加到VM并且實(shí)現(xiàn)在底層物理基礎(chǔ)設(shè)施內(nèi)的一個(gè)或多個(gè)卷來(lái)提供。卷管理服務(wù)器可以檢驗(yàn)用戶301的身份,即卷管理服務(wù)器可以驗(yàn)證用戶301。在一個(gè)實(shí)施方式中,卷管理系統(tǒng)在向授權(quán)系統(tǒng)生成查詢之前驗(yàn)證用戶301的身份。卷管理服務(wù)器可以使用任何類型的驗(yàn)證,例如使用X509加密方案、Kerberos或OpenID或任何其他適當(dāng)?shù)尿?yàn)證協(xié)議。在本實(shí)施方式中,驗(yàn)證因此由授權(quán)來(lái)解耦。由查詢傳送的用戶的身份可以簡(jiǎn)單地是字符串,例如類型化字符串,其得自由卷管理服務(wù)器所執(zhí)行的驗(yàn)證程序。卷管理服務(wù)器即應(yīng)用可以采用相對(duì)簡(jiǎn)單的查詢來(lái)查詢授權(quán)系統(tǒng),并且授權(quán)系統(tǒng)可以以決定例如授權(quán)真(True)或假(False)來(lái)響應(yīng)。這避免了對(duì)于認(rèn)證為數(shù)字證書的需要。數(shù)字證書的管理和處理可能是復(fù)雜的。避免了對(duì)于認(rèn)證為數(shù)字證書的需要的授權(quán)系統(tǒng)的實(shí)施方式可以避免這樣的復(fù)雜性。在這樣的情況下,云計(jì)算環(huán)境的用戶和應(yīng)用信任出具認(rèn)證的授權(quán)系統(tǒng)以及各方-然而可以使授權(quán)系統(tǒng)它本身變得安全,并且在實(shí)現(xiàn)安全授權(quán)系統(tǒng)方面的改進(jìn)的易用性將意指應(yīng)用開發(fā)者更可能開發(fā)安全的應(yīng)用。授權(quán)系統(tǒng)可以作為局部對(duì)象被實(shí)現(xiàn)為應(yīng)用或服務(wù)的部件。換句話說(shuō),授權(quán)系統(tǒng)的實(shí)例可以包括云計(jì)算環(huán)境的應(yīng)用的一部分,使得所述應(yīng)用讓授權(quán)系統(tǒng)作為局部對(duì)象嵌入在其之內(nèi)。例如授權(quán)系統(tǒng)可以是卷管理系統(tǒng)的部件,作為卷管理系統(tǒng)的一部分的局部對(duì)象例如Java對(duì)象來(lái)運(yùn)行。能夠?qū)⑹跈?quán)服務(wù)作為局部對(duì)象來(lái)運(yùn)行意指可以在服務(wù)的開發(fā)的非常早期階段包括授權(quán),并且可能無(wú)需開發(fā)或者部署額外的基礎(chǔ)設(shè)施。授權(quán)服務(wù)還可以被實(shí)現(xiàn)為云計(jì)算環(huán)境內(nèi)的獨(dú)立服務(wù),并且可以例如經(jīng)由諸如HTTP/SSL之類的安全通信協(xié)議訪問(wèn)。在任何一種情況下,編程抽象是相同的。如將稍后更詳細(xì)地描述的那樣,可以存在在單個(gè)云計(jì)算環(huán)境內(nèi)實(shí)例化的授權(quán)系統(tǒng)的多個(gè)實(shí)例,并且授權(quán)系統(tǒng)可以是多租戶,即可被多個(gè)用戶使用。如還將稍后更詳細(xì)地描述的那樣,授權(quán)系統(tǒng)可被云計(jì)算環(huán)境的應(yīng)用使用,并且應(yīng)用可以自主地出具認(rèn)證。授權(quán)系統(tǒng)使用認(rèn)證來(lái)確定云計(jì)算環(huán)境的用戶或應(yīng)用是否被授權(quán)對(duì)資源執(zhí)行動(dòng)作。在一個(gè)實(shí)施方式中,針對(duì)授權(quán)所選擇的初級(jí)抽象是路徑的概念。程序員和開發(fā)者熟悉路徑的概念,并且路徑的使用允許便于對(duì)多個(gè)資源的授權(quán)。認(rèn)證可以包括訪問(wèn)權(quán)限認(rèn)證。訪問(wèn)權(quán)限認(rèn)證規(guī)定了主體即一個(gè)或多個(gè)用戶和/或應(yīng)用被授權(quán)對(duì)特定資源執(zhí)行特定動(dòng)作。主體可以包括標(biāo)別一個(gè)或多個(gè)用戶或應(yīng)用的字符串。字符串可以是類型化字符串,例如類型可以規(guī)定‘用戶’-在這個(gè)情況下字符串標(biāo)別用戶-或者可以規(guī)定‘組’-在這個(gè)情況下字符串表示將被授權(quán)系統(tǒng)所識(shí)別的組。正被允許的特定動(dòng)作可以通過(guò)表示特權(quán)例如讀、寫、拷貝等來(lái)規(guī)定。特定的特權(quán)可以使得能實(shí)現(xiàn)多個(gè)動(dòng)作,例如寫特權(quán)可以使得能實(shí)現(xiàn)修改或者更新以及刪除諸如卷之類的資源的動(dòng)作。寫特權(quán)還可以被采取來(lái)包括在讀特權(quán)級(jí)可獲得的所有動(dòng)作,以便避免對(duì)于單獨(dú)地規(guī)定每個(gè)個(gè)別特權(quán)的需要。云計(jì)算環(huán)境可以配置有用于訪問(wèn)資源的公共的一組特權(quán),使得對(duì)不同應(yīng)用和資源的訪問(wèn)能夠使用所述公共的一組特權(quán)來(lái)控制。然而在一些實(shí)施方式中,特定的應(yīng)用可能想要為該應(yīng)用引入定制(bespoke)特權(quán)。來(lái)自這樣的應(yīng)用的查詢以及關(guān)于訪問(wèn)這樣的應(yīng)用的認(rèn)證因此可以指的是這樣的定制特權(quán),并且授權(quán)系統(tǒng)將確認(rèn)特定的主體是否已經(jīng)被許可定制特權(quán)。這樣的定制特權(quán)將被特定的應(yīng)用識(shí)別但可能不被其他應(yīng)用識(shí)別。資源的指定可以包括路徑到資源的指定。如上所述,路徑對(duì)于程序員和開發(fā)者而言可能是熟悉的概念,并且提供用于指定云計(jì)算環(huán)境中的資源的方便方法。指定還可以包括資源的類型的指定。使用資源的基于路徑的指定,認(rèn)證可以指定在路徑的規(guī)定節(jié)點(diǎn)處的資源,例如在分級(jí)目錄存儲(chǔ)系統(tǒng)中路徑能夠指定特定的卷。例如,形式為/用戶/用戶a/卷/卷I (/users/user_a/volumes/voll)的路徑將指定所規(guī)定的目錄中被命名‘卷I (voll)’的卷。資源的指定還能夠指示路徑中的所指定的節(jié)點(diǎn)以下的所有資源,例如指定/用戶/用戶a/卷/* (/users/user_a/volumes/*)可以被用來(lái)標(biāo)識(shí)相關(guān)目錄或任何子目錄內(nèi)的所規(guī)定的類型的所有資源,如果資源的類型被包括的話。主體和特權(quán)的指定還可以包括例如諸如或條件‘a(chǎn)ll (所有)’之類的通配符的指定,以指示所有主體或所有特權(quán)級(jí)都被許可。因?yàn)槭跈?quán)系統(tǒng)可以是多租戶并且可以被多個(gè)用戶和應(yīng)用使用,所以認(rèn)證還可以包括出具認(rèn)證的實(shí)體的身份的指示。以這種方式,用戶或應(yīng)用可以僅使用由已經(jīng)被選擇為信任的實(shí)體所出具的認(rèn)證。出具者(issuer)的指定可以是字符串,所述字符串指示了進(jìn)行認(rèn)證的用戶或應(yīng)用。將在下面描述出具認(rèn)證的過(guò)程,但出具認(rèn)證的實(shí)體可以向授權(quán)系統(tǒng)驗(yàn)證它自己。以這種方式,認(rèn)證的消費(fèi)者可以信任已經(jīng)正確地驗(yàn)證了所述認(rèn)證的出具者的授權(quán)系統(tǒng),以及由此,如果它們信任該出具者,則能夠信任所述認(rèn)證。在一個(gè)實(shí)施方式中訪問(wèn)權(quán)限認(rèn)證因此是五元組(5-tuple),即五個(gè)元素的排序列表,包括(出具者、主體、路徑、接口、特權(quán))其中,接口元素表示資源的類型。例如訪問(wèn)權(quán)限認(rèn)證可以是
出具者用戶(愛麗絲(Alice)),主體用戶(鮑勃(Bob)),路徑/用戶(users)/鮑勃/*,接口 :目錄,特權(quán)寫
該認(rèn)證因此指示了其通用名為愛麗絲的用戶已經(jīng)向其通用名為鮑勃的用戶許可了對(duì)于/用戶/鮑勃目錄內(nèi)和以下的每件事的寫訪問(wèn)權(quán)。因此由用戶鮑勃修改在/用戶/鮑勃/卷/卷I處的卷的請(qǐng)求可以得到授權(quán)系統(tǒng)授權(quán)。如上所述,授權(quán)系統(tǒng)可以允許基于幾組用戶或應(yīng)用的認(rèn)證。組的定義能夠減少所需要的認(rèn)證的數(shù)目,并且通過(guò)按角色對(duì)用戶進(jìn)行分組并且對(duì)訪問(wèn)相關(guān)基于角色的組進(jìn)行授權(quán)來(lái)允許基于角色的訪問(wèn)的能力。為了組的成員資格被正確地控制,由授權(quán)系統(tǒng)所控制的認(rèn)證可以包括組認(rèn)證。
組認(rèn)證規(guī)定了主體即一個(gè)或多個(gè)用戶和/或應(yīng)用是規(guī)定組的成員。組認(rèn)證還可以包括組認(rèn)證的出具者的指定。組認(rèn)證在一個(gè)實(shí)施方式中因此包括三元組(3-tuple):(出具者、主體、組名)。出具者和主體可以是分別定義了出具者和主體的名字的字符串,并且可以是類型化字符串。主體它本身可以是組以允許到組的層級(jí)結(jié)構(gòu),即一個(gè)組,以及由此所有它的成員可以是另一個(gè)組的成員。組名可以是用來(lái)指定組的任何字符串。例如以下組認(rèn)證
出具者用戶(愛麗絲),主體用戶(鮑勃),組名工程師出具者用戶(查理(Charlie)),主體用戶(戴夫(Dave)),組名經(jīng)理出具者用戶(愛麗絲),主體組(用戶(愛麗絲),工程師),組名員工出具者用戶(愛麗絲),主體組(用戶(查理),經(jīng)理),組名員工指示了用戶愛麗絲已經(jīng)證實(shí)用戶鮑勃是在稱為‘工程師’的組中,并且用戶查理已經(jīng)證實(shí)用戶戴夫是在稱為‘經(jīng)理’的組中。用戶愛麗絲還已經(jīng)證實(shí)組‘工程師’(由愛麗絲出具)和組‘經(jīng)理’(由查理出具)兩者是稱為‘員工’的組的一部分。各組(Group)可以由出具者限定范圍,即組的指定包括對(duì)定義該組的認(rèn)證的出具者的參考。這意指組(用戶(愛麗絲),工程師)與由不同用戶出具的也稱為工程師的組例如(用戶(伊芙(Eve)),工程師)不同。如果不同用戶選擇了不同的組名,則組的此作用范圍由用戶來(lái)避免任何沖突。授權(quán)‘員工,組(如由愛麗絲出具)的成員執(zhí)行特定動(dòng)作的訪問(wèn)權(quán)限認(rèn)證,即其中主體是組(用戶(愛麗絲),員工)的認(rèn)證因此將在本示例中將向鮑勃和戴夫兩者許可授權(quán)。在一個(gè)實(shí)施方式中,認(rèn)證還可以包括屬性認(rèn)證,所述屬性認(rèn)證規(guī)定了一個(gè)或多個(gè)用戶或應(yīng)用的或可以被訪問(wèn)的資源的屬性。例如,只要用戶已經(jīng)完成了由用戶的雇主所要求的培訓(xùn)課程或進(jìn)修課程例如商業(yè)行為準(zhǔn)則課程,希望使用特定應(yīng)用例如通過(guò)用戶的雇主所提供的云計(jì)算環(huán)境的電子郵件服務(wù)的用戶就可以允許訪問(wèn)。培訓(xùn)課程能夠由在云計(jì)算環(huán)境中實(shí)現(xiàn)的培訓(xùn)應(yīng)用來(lái)提供。如果用戶成功地完成了培訓(xùn)課程,則培訓(xùn)應(yīng)用可以出具相關(guān)用戶已經(jīng)完成所述培訓(xùn)課程的認(rèn)證。在沒(méi)有這樣的有效認(rèn)證的情況下,電子郵件服務(wù)可以拒絕該用戶訪問(wèn)服務(wù)。作為另一示例,只要卷已經(jīng)由病毒掃描服務(wù)掃描過(guò)并且認(rèn)為無(wú)毒,卷管理系統(tǒng)就可以允許用戶訪問(wèn)或者使用卷。在本實(shí)施方式中,云計(jì)算環(huán)境的應(yīng)用和服務(wù)因此能夠自主地出具認(rèn)證,并且許多不同的應(yīng)用可能夠出具認(rèn)證。這避免了對(duì)于由人類管理員管理的單個(gè)中央認(rèn)證管理機(jī)構(gòu)(authority)的需要。在松散耦合服務(wù)的集合內(nèi),諸如為云計(jì)算環(huán)境中的特性,認(rèn)證的中央控制將是復(fù)雜的和耗時(shí)的。然而,通過(guò)允許認(rèn)證的自主出具并且允許用戶規(guī)定他們將信任的認(rèn)證的出具者,授權(quán)的管理被大大簡(jiǎn)化了。屬性認(rèn)證可以包括所述認(rèn)證的主體的指示,所述認(rèn)證的主體可以包括云計(jì)算的一個(gè)或多個(gè)用戶或應(yīng)用和/或一個(gè)或多個(gè)組,并且所述屬性認(rèn)證在一些實(shí)施方式中可以包括資源的指示。屬性認(rèn)證還可以包括相關(guān)屬性的指示,所述相關(guān)屬性在一個(gè)實(shí)施方式中可以包括類型和值。類型可以定義值的適當(dāng)類型,即布爾值、日期、字符串等,其中所述值然后表示值的適當(dāng)指示器。例如,如果認(rèn)證是特定用戶已經(jīng)完成進(jìn)修課程,則主體可以包括相關(guān)用戶的身份,類型可以指示日期以及所述值可以包括所述課程成功地完成的相關(guān)日期。這能夠允許構(gòu)建授權(quán)查詢,所述授權(quán)查詢?cè)儐?wèn)特定用戶是否已經(jīng)在規(guī)定的時(shí)間段內(nèi)例如在最近兩年內(nèi)承擔(dān)了進(jìn)修課程。屬性認(rèn)證可以包括認(rèn)證的出具者的指示。認(rèn)證的消費(fèi)者可以僅信任由特定實(shí)體出具的認(rèn)證,所以出具者的指示可能是重要的。在一個(gè)實(shí)施方式中,至少一些認(rèn)證可以包括用于存儲(chǔ)所述認(rèn)證的路徑指示器。換句話說(shuō),認(rèn)證可以被存儲(chǔ)在其中路徑指示存儲(chǔ)結(jié)構(gòu)的相關(guān)目錄的基于目錄的結(jié)構(gòu)中。在一些實(shí)例中,用于存儲(chǔ)認(rèn)證的路徑可以對(duì)應(yīng)于所述認(rèn)證應(yīng)用于的相關(guān)資源的路徑,或者在一些實(shí)例中路徑可能與進(jìn)行認(rèn)證的應(yīng)用相關(guān)。為至少一些認(rèn)證提供基于路徑的存儲(chǔ)結(jié)構(gòu)可以使得認(rèn)證能夠在基于路徑的基礎(chǔ)上被管理。例如,如將稍后描述的那樣可以向用戶許可對(duì)結(jié)構(gòu)中的某節(jié)點(diǎn)以下的所有認(rèn)證的讀訪問(wèn)權(quán)。這能夠便于對(duì)認(rèn)證的訪問(wèn)控制的管理,特別是對(duì)于屬性認(rèn)證來(lái)說(shuō)。例如,病毒掃描應(yīng)用可以在特定用戶的卷即愛麗絲的卷中的全部上運(yùn)行掃描。掃描的結(jié)果可以作為屬性認(rèn)證被存儲(chǔ)在諸如Il病毒掃描儀(virus_scanner)/掃描(scans)/愛麗絲之類的授權(quán)系統(tǒng)的儲(chǔ)存器內(nèi)的目錄中。本目錄的內(nèi)容可以由已經(jīng)被許可對(duì)愛麗絲的卷的讀訪問(wèn)權(quán)的任何人按只讀方式訪問(wèn)。作為另一示例,培訓(xùn)應(yīng)用能夠按員工將進(jìn)修課程的完成的日期存儲(chǔ)在目錄//培訓(xùn)應(yīng)用(training_app)/進(jìn)修(refresher)/狀態(tài)(status)/中,所述目錄由組‘人力資源’的所有成員讀訪問(wèn)。用于存儲(chǔ)認(rèn)證的路徑的使用為經(jīng)授權(quán)的屬性提供了完全結(jié)構(gòu)化的命名空間。應(yīng)用能夠通過(guò)使用授權(quán)系統(tǒng)自主地出具認(rèn)證,并且這些與規(guī)定路徑存儲(chǔ)在一起。認(rèn)證的消費(fèi)者通過(guò)授權(quán)系統(tǒng)知道對(duì)所述認(rèn)證的寫訪問(wèn)被控制和限制。在一個(gè)實(shí)施方式中,僅認(rèn)證的原始出具者被準(zhǔn)許更新或者修改認(rèn)證。然而,對(duì)于規(guī)定的用戶、用戶的組或應(yīng)用,授權(quán)系統(tǒng)可以基于該路徑允許讀訪問(wèn)。這避免了對(duì)于認(rèn)證為數(shù)字證書的需要,由此避免接踵而至的復(fù)雜性。在缺少用于存儲(chǔ)認(rèn)證的規(guī)定路徑時(shí),授權(quán)系統(tǒng)可以將所述認(rèn)證存儲(chǔ)在可被授權(quán)系統(tǒng)訪問(wèn)的一個(gè)或多個(gè)存儲(chǔ)系統(tǒng)(諸如數(shù)據(jù)庫(kù))中。授權(quán)系統(tǒng)可以基于認(rèn)證的類型即訪問(wèn)權(quán)限或組或?qū)傩詠?lái)存儲(chǔ)認(rèn)證。通常,存儲(chǔ)系統(tǒng)對(duì)于授權(quán)系統(tǒng)的實(shí)例而言可能是個(gè)別的,并且可以包括授權(quán)系統(tǒng)的一部分。然而,在一個(gè)實(shí)施方式中,儲(chǔ)存器可以在授權(quán)系統(tǒng)的任何特定實(shí)例外部但可被授權(quán)系統(tǒng)的該實(shí)例訪問(wèn)。圖4圖示了實(shí)體使用授權(quán)系統(tǒng)來(lái)出具認(rèn)證的實(shí)施方式,而圖5圖示了在出具認(rèn)證方面的步驟的流程圖。圖4圖示了實(shí)體401可以經(jīng)由諸如HTTP/SSL之類的適當(dāng)?shù)耐ㄐ艆f(xié)議訪問(wèn)授權(quán)系統(tǒng)402 (步驟501)。授權(quán)系統(tǒng)可以包括用于與實(shí)體401和存儲(chǔ)404交互的授權(quán)服務(wù)器403。授權(quán)服務(wù)器403可以是由底層物理基礎(chǔ)設(shè)施提供的VM。為了與授權(quán)系統(tǒng)402建立會(huì)話,實(shí)體向授權(quán)系統(tǒng)驗(yàn)證它自己(步驟502)。諸如X509驗(yàn)證之類的任何合適的認(rèn)證協(xié)議可以被授權(quán)系統(tǒng)用來(lái)驗(yàn)證實(shí)體,并且在一些實(shí)施方式中,取決于實(shí)體的性質(zhì)授權(quán)系統(tǒng)可以被配置成承擔(dān)多個(gè)可能的驗(yàn)證協(xié)議中的一個(gè)。實(shí)體401可以是云計(jì)算環(huán)境的用戶,例如經(jīng)由計(jì)算機(jī)工作站或移動(dòng)計(jì)算設(shè)備或任何其他適當(dāng)?shù)挠?jì)算硬件訪問(wèn)該授權(quán)系統(tǒng)的用戶。替換地,實(shí)體可以是例如包括在被配置成運(yùn)行應(yīng)用的底層物理基礎(chǔ)設(shè)施(即底層計(jì)算硬件)中實(shí)例化的一個(gè)或多個(gè)VM的云計(jì)算環(huán)境的應(yīng)用。因此,云計(jì)算環(huán)境的應(yīng)用或服務(wù)能夠自主地出具認(rèn)證。用于應(yīng)用自主地出具認(rèn)證的能力提高了授權(quán)系統(tǒng)在云計(jì)算環(huán)境中的靈活性,并且減少了對(duì)于基于中央用戶的控制的需要。
一旦會(huì)話已經(jīng)被建立了,實(shí)體401就能夠向授權(quán)系統(tǒng)發(fā)送用于添加認(rèn)證的命令(步驟503)。所述命令可以規(guī)定正被進(jìn)行的認(rèn)證的類型,并且規(guī)定所述認(rèn)證的元素。例如,用于添加認(rèn)證的命令可以包括用于添加訪問(wèn)權(quán)限的命令并且可以規(guī)定權(quán)限的主體、資源的路徑、接口即資源的類型以及按如上所述許可的特權(quán)。因此命令諸如
添加許可(addGrant)(主體用戶(鮑勃),路徑/用戶/愛麗絲/*,接口 目錄(dir),特權(quán)讀)
將給予用戶鮑勃遍及目錄/用戶/愛麗絲的整個(gè)內(nèi)容的讀訪問(wèn)權(quán)。授權(quán)系統(tǒng)接收所述命令并且確定(步驟504)實(shí)體401是否有權(quán)添加這樣的訪問(wèn)權(quán)限。許可訪問(wèn)權(quán)限的能力可以限于特定定義的用戶和/或應(yīng)用,和/或可以限制可以進(jìn)行的認(rèn)證的類型。因此,如果實(shí)體是用戶愛麗絲并且目錄用戶/愛麗絲是存儲(chǔ)了由愛麗絲創(chuàng)建的卷的地方,則愛麗絲可以被授權(quán)添加這樣的許可。然而,愛麗絲可能未被授權(quán)將許可添加到目錄用戶/鮑勃。檢查實(shí)體401是否具有添加認(rèn)證的必要授權(quán)的過(guò)程可以使用響應(yīng)于訪問(wèn)權(quán)限查詢所使用的基本上相同的過(guò)程,將稍后對(duì)所述過(guò)程進(jìn)行更詳細(xì)的描述。如果實(shí)體不具有必要的授權(quán),則可以終止過(guò)程(步驟505)。然而如果實(shí)體被授權(quán),則如在步驟502中驗(yàn)證過(guò)的實(shí)體401的身份被添加到認(rèn)證(步驟506),并且然后完成的認(rèn)證被存儲(chǔ)(步驟507)在存儲(chǔ)404中,存儲(chǔ)404可以是由計(jì)算機(jī)存儲(chǔ)器/底層物理資源的儲(chǔ)存器所提供的卷。認(rèn)證可以被存儲(chǔ)在存儲(chǔ)404中,所述存儲(chǔ)404被封裝在授權(quán)系統(tǒng)402內(nèi)并且僅可經(jīng)由特定的授權(quán)服務(wù)器403訪問(wèn)。因此,授權(quán)服務(wù)器403可以控制對(duì)認(rèn)證的存儲(chǔ)的所有訪問(wèn)。然而在一個(gè)實(shí)施方式中,存儲(chǔ)404可以在授權(quán)系統(tǒng)402外部和/或可以被授權(quán)系統(tǒng)的不同實(shí)例訪問(wèn)。在一些實(shí)施方式中,至少一些認(rèn)證以指定的路徑存儲(chǔ)在存儲(chǔ)404內(nèi)。例如實(shí)體401可以是已經(jīng)被用戶用來(lái)完成進(jìn)修課程的培訓(xùn)應(yīng)用。在這種情況下,認(rèn)證可以是規(guī)定完成的日期的屬性認(rèn)證。用于添加認(rèn)證的命令因此可以包括用于存儲(chǔ)所述屬性的路徑,例如
添加屬性(addAttribute)(主體用戶(鮑勃),路徑//課程(courses)/狀態(tài)(status),類型日期,值I月23日
這將指示授權(quán)系統(tǒng)將鮑勃于I月23日完成進(jìn)修課程的屬性認(rèn)證添加在存儲(chǔ)404內(nèi)的規(guī)定路徑處。如上所述,出具者的身份可以通過(guò)授權(quán)系統(tǒng)而被存儲(chǔ)在認(rèn)證中。在本實(shí)施方式中,不可能代表第三方出具認(rèn)證。因此,認(rèn)證的消費(fèi)者知道授權(quán)系統(tǒng)已經(jīng)驗(yàn)證了出具者的身份以及由此指定特定出具者的認(rèn)證是可信的,從而避免對(duì)于認(rèn)證包括數(shù)字證書的需要,所述認(rèn)證的消費(fèi)者可能僅信任從特定信任源出具的認(rèn)證。參考圖4,與授權(quán)服務(wù)器403建立會(huì)話的用戶還可以使用該連接來(lái)管理他們的認(rèn)證。授權(quán)系統(tǒng)可以提供用于管理授權(quán)的各種各樣的設(shè)施,諸如搜索、編輯功能等。用戶可以列舉或者搜索認(rèn)證,并且在需要時(shí)可以修改或者更新認(rèn)證。認(rèn)證本身可以包含敏感信息。例如,各個(gè)組的成員能夠使敏感的,或者給予特定用戶的訪問(wèn)權(quán)限也可能是敏感的。對(duì)認(rèn)證本身的訪問(wèn)因此可以由授權(quán)系統(tǒng)來(lái)控制。因此可以存在支配哪些用戶能夠讀現(xiàn)有認(rèn)證的訪問(wèn)權(quán)限。這提供了允許在使用數(shù)字證書時(shí)是不可能的選擇性訪問(wèn)認(rèn)證的能力,并且保護(hù)所述認(rèn)證的主體和出具者的隱私。另外,能夠動(dòng)態(tài)地改變控制對(duì)認(rèn)證的訪問(wèn)的認(rèn)證。如上所述,訪問(wèn)控制可以是基于路徑的,通過(guò)其認(rèn)證被存儲(chǔ),并且可以針對(duì)規(guī)定的節(jié)點(diǎn)和其以下的所有節(jié)點(diǎn)給予訪問(wèn)權(quán)。默認(rèn)情況下,諸如訪問(wèn)權(quán)限認(rèn)證或組認(rèn)證之類的認(rèn)證的出具者可以是被授權(quán)讀、修改或者刪除認(rèn)證的唯一用戶,盡管一些認(rèn)證可以是有時(shí)限的并且可以期滿。認(rèn)證的出具者可能夠授權(quán)其他用戶讀和/或?qū)?,即修改現(xiàn)有認(rèn)證。例如在組織中,組的管理可能是人力資源的責(zé)任。管理者因此可以創(chuàng)建組認(rèn)證以創(chuàng)建初始人力資源組。人力資源組然后可以被授權(quán)創(chuàng)建新的組認(rèn)證以及修改或者替換現(xiàn)有的組認(rèn)證(包括人力資源組)。一旦認(rèn)證已經(jīng)被出具,授權(quán)系統(tǒng)就能夠被其他實(shí)體用來(lái)確定云計(jì)算環(huán)境的用戶或應(yīng)用是否被授權(quán)執(zhí)行如與圖3相關(guān)地在上文所描述的特定動(dòng)作。圖6圖示了訪問(wèn)控制的一個(gè)方法的流程圖。如圖3中所示,實(shí)體301聯(lián)系應(yīng)用302以便訪問(wèn)一些資源303 (步驟601)。應(yīng)用302使用諸如X509、Kerboros> OpenID等等之類的任何適當(dāng)?shù)尿?yàn)證協(xié)議來(lái)驗(yàn)證實(shí)體301的身份(步驟602)。因?yàn)檎J(rèn)證被執(zhí)行在應(yīng)用302與實(shí)體301之間并且由授權(quán)解耦,所以不同的應(yīng)用能夠在具有相同授權(quán)系統(tǒng)的云計(jì)算環(huán)境內(nèi)使用不同的驗(yàn)證協(xié)議。一旦應(yīng)用302已經(jīng)驗(yàn)證了實(shí)體301,實(shí)體就可以請(qǐng)求訪問(wèn)一些資源,例如用戶可以請(qǐng)求訪問(wèn)存儲(chǔ)服務(wù)的目錄或者試圖執(zhí)行搜索,并且病毒掃描應(yīng)用可以請(qǐng)求訪問(wèn)卷以便病毒掃描。應(yīng)用確定由實(shí)體301所請(qǐng)求的動(dòng)作和資源并且構(gòu)建查詢(步驟603)。查詢可以是關(guān)于主體即請(qǐng)求實(shí)體是否有權(quán)對(duì)規(guī)定的資源執(zhí)行規(guī)定的動(dòng)作的查詢。查詢的形式可以和訪問(wèn)權(quán)限認(rèn)證的通用形式匹配。主體可以由如在驗(yàn)證步驟中確定的實(shí)體301的通用名字來(lái)表示。所規(guī)定的資源可以由相關(guān)資源的路徑規(guī)定。資源的類型還可以用接口字段規(guī)定。所請(qǐng)求的動(dòng)作可以通過(guò)表示所需要的特權(quán)級(jí)來(lái)規(guī)定。例如,如果實(shí)體301是用戶愛麗絲,并且應(yīng)用是存儲(chǔ)服務(wù)器,以及愛麗絲正想要訪問(wèn)在/用戶/愛麗絲/卷I處的目錄,則查詢可以采取形式
具有授權(quán)(hasAuth)(主體用戶(愛麗絲),路徑/用戶/愛麗絲/,接口目錄,特權(quán)讀)
在一些實(shí)施方式中,在對(duì)服務(wù)的訪問(wèn)還取決于特定屬性情況下,諸如例如,用戶已經(jīng)在最近兩年內(nèi)完成了進(jìn)修課程,查詢還可以查詢主體是否具有相關(guān)的屬性認(rèn)證。例如
具有屬性(hasAttr)(主體用戶(愛麗絲),路徑/課程/狀態(tài),類型日期,值:>01/01/2009)
可以包括詢問(wèn)用戶愛麗絲是否具有比2009年I月I日更近的在所述位置處存儲(chǔ)的課程完成日期。在一些實(shí)施方式中,查詢可以包括應(yīng)用和/或?qū)嶓w將信任的認(rèn)證的所有出具者的指不,即以便確定哪些認(rèn)證應(yīng)當(dāng)被用在決定授權(quán)決定中。在其他實(shí)施方式中,針對(duì)應(yīng)用和/或用戶的信任關(guān)系可以由授權(quán)系統(tǒng)存儲(chǔ)并且由授權(quán)系統(tǒng)基于查詢的應(yīng)用和/或主體的身份來(lái)檢索。應(yīng)用302與授權(quán)系統(tǒng)304進(jìn)行聯(lián)系(步驟604)。盡管在本示例中被示出為在生成查詢之后與授權(quán)系統(tǒng)進(jìn)行聯(lián)系,但顯然能夠在與授權(quán)系統(tǒng)進(jìn)行聯(lián)系的步驟期間或之后生成所述查詢。如果授權(quán)系統(tǒng)是獨(dú)立服務(wù)或應(yīng)用302的一部分或與應(yīng)用302不同的應(yīng)用,則通信是經(jīng)由諸如HTTP/SSL之類的任何適當(dāng)?shù)陌踩珔f(xié)議的,并且應(yīng)用和授權(quán)系統(tǒng)可以互相驗(yàn)證(步驟605)。然而在授權(quán)系統(tǒng)正作為應(yīng)用內(nèi)的局部部件運(yùn)行的實(shí)例中,可能無(wú)需驗(yàn)證并且通信可以本身是內(nèi)在私密的。一旦建立了適當(dāng)?shù)倪B接,應(yīng)用302就將查詢發(fā)送到授權(quán)系統(tǒng)304 (步驟606)。授權(quán)系統(tǒng)接收請(qǐng)求并且確定應(yīng)用和/或?qū)嶓w準(zhǔn)備信任的受信任的出具者的列表(步驟607 )。如上所述,這個(gè)可以被包含在查詢內(nèi),或者授權(quán)系統(tǒng)可以基于應(yīng)用和/或主體的身份來(lái)訪問(wèn)存儲(chǔ)關(guān)系的列表。授權(quán)系統(tǒng)然后可以搜索受信任的出具者的所存儲(chǔ)的認(rèn)證,用來(lái)確定主體是否是任何組的成員并且用來(lái)標(biāo)識(shí)這樣的組(步驟608)。這可以涉及迭代搜索,因?yàn)槿绻黧w即個(gè)別用戶愛麗絲是組即‘工程師’的一部分,則將有必要然后確定組‘工程師’是否是較大組的本身部分。一旦所有組已經(jīng)被標(biāo)識(shí)了,就可以搜索訪問(wèn)權(quán)限認(rèn)證(步驟609)以確定主體或所述主體屬于的組中的任何一個(gè)是否具有必要的訪問(wèn)權(quán)限(如由受信任的出具者所證實(shí)的)。如果查詢涉及以特定屬性認(rèn)證為條件的授權(quán),則還可以執(zhí)行搜索(步驟610)以確定主體或相關(guān)組是否具有必要的屬性(如由受信任的出具者所證實(shí)的)。如果發(fā)現(xiàn)主體具有必要的訪問(wèn)權(quán)限和任何必要的屬性(如由受信任的出具者所證實(shí)的),則決定被采取來(lái)對(duì)所請(qǐng)求的動(dòng)作進(jìn)行授權(quán),然后該決定被傳送到應(yīng)用302 (步驟611)。應(yīng)用接收用于授權(quán)的所述決定,并且通過(guò)允許實(shí)體301訪問(wèn)所請(qǐng)求的資源來(lái)實(shí)施所述決定(步驟612)。然而,如果未發(fā)現(xiàn)必要的訪問(wèn)權(quán)限或者如果未發(fā)現(xiàn)必要的屬性(如由受信任的出具者所證實(shí)的),則由授權(quán)系統(tǒng)做出所請(qǐng)求的訪問(wèn)未被授權(quán)的決定。該決定被發(fā)送到應(yīng)用(步驟613),并且所述應(yīng)用通過(guò)拒絕訪問(wèn)來(lái)實(shí)施所述決定(步驟614)。如上所述,在云計(jì)算環(huán)境中可能存在授權(quán)系統(tǒng)的若干實(shí)例。圖7圖示了具有授權(quán)系統(tǒng)的若干實(shí)例的實(shí)施方式。圖7示出了多個(gè)用戶701a_d。用戶701a和701b正在分別地訪問(wèn)與圖2相關(guān)地在上文所描述的卷管理服務(wù)類似的卷管理服務(wù)702。用戶701a和用戶701b中的每一個(gè)都與卷管理服務(wù)器VM 703建立會(huì)話以便訪問(wèn)和管理卷704。為了決定用戶701a是否被授權(quán)訪問(wèn)卷704,卷管理服務(wù)器與如上所述的授權(quán)系統(tǒng)705進(jìn)行通信。在本實(shí)施方式中,授權(quán)系統(tǒng)705被提供為卷管理系統(tǒng)702的部件,例如作為局部Java對(duì)象。卷管理系統(tǒng)702內(nèi)的網(wǎng)絡(luò)規(guī)則是這樣的,即僅卷管理服務(wù)器能夠通常直接地訪問(wèn)授權(quán)系統(tǒng)705。用戶701a和701b在一些實(shí)施方式中可以是來(lái)自不同組織的用戶,并且卷管理系統(tǒng)使用授權(quán)系統(tǒng)705來(lái)確定哪一個(gè)用戶能夠訪問(wèn)那些卷704。卷管理服務(wù)器還可以被云計(jì)算環(huán)境的應(yīng)用706訪問(wèn),所述應(yīng)用706在本示例中可以是病毒掃描應(yīng)用。病毒掃描應(yīng)用可以被布置成掃描由卷管理系統(tǒng)702所管理的卷,例如,用戶701b可能布置成以便病毒掃描應(yīng)用定期地掃描由用戶701b所控制的卷。病毒掃描系統(tǒng)706因此可以定期地聯(lián)系卷管理服務(wù)器703以便對(duì)用戶701b的卷讀訪問(wèn)。卷管理服務(wù)器703可以查詢本地授權(quán)系統(tǒng)以確定病毒掃描系統(tǒng)706是否被授權(quán)訪問(wèn)所請(qǐng)求的卷。病毒掃描的結(jié)果可以被存儲(chǔ)為屬性。所述結(jié)果可以通過(guò)病毒掃描系統(tǒng)包括所規(guī)定的卷是無(wú)毒的認(rèn)證。病毒掃描系統(tǒng)可以被配置成經(jīng)由卷管理服務(wù)器703使用授權(quán)系統(tǒng)705出具這樣的認(rèn)證。這意味著關(guān)于卷的病毒屬性的認(rèn)證連同針對(duì)所述卷的訪問(wèn)控制一起被存儲(chǔ)在授權(quán)系統(tǒng)705中。替換地,病毒掃描系統(tǒng)可以被配置成聯(lián)系授權(quán)系統(tǒng)707的獨(dú)立實(shí)例。授權(quán)系統(tǒng)707可以與授權(quán)系統(tǒng)705大體上相同,除了一般可訪問(wèn)的授權(quán)系統(tǒng)707將經(jīng)歷任何實(shí)體聯(lián)系它的認(rèn)證步驟之外。病毒掃描系統(tǒng)可以使用授權(quán)系統(tǒng)707來(lái)存儲(chǔ)相關(guān)認(rèn)證。因?yàn)榫砉芾矸?wù)器703可能要求訪問(wèn)由授權(quán)系統(tǒng)707所存儲(chǔ)的屬性認(rèn)證,所以其還可以被配置成詢問(wèn)授權(quán)系統(tǒng)707。替換地,卷管理服務(wù)器703可以僅與其自己的嵌入的授權(quán)系統(tǒng)705進(jìn)行通信,并且該嵌入的授權(quán)系統(tǒng)705可以被配置成聯(lián)系獨(dú)立授權(quán)系統(tǒng)707以確定來(lái)自病毒掃描系統(tǒng)706的適當(dāng)認(rèn)證是否存在。例如在每個(gè)授權(quán)系統(tǒng)都包括授權(quán)服務(wù)器的實(shí)施方式中,相關(guān)的授權(quán)服務(wù)器可以彼此通信。用戶701c可以直接地聯(lián)系授權(quán)系統(tǒng)707以便添加新的認(rèn)證或者修正現(xiàn)有認(rèn)證。然而對(duì)其認(rèn)證的存儲(chǔ)的訪問(wèn)由授權(quán)系統(tǒng)707控制,并且僅用戶701c被授權(quán)讀的認(rèn)證將被顯示。另外,用戶701c添加新的認(rèn)證或者修正現(xiàn)有認(rèn)證的能力可能限于例如某些規(guī)定的資源。圖7還圖示了兩個(gè)另外的應(yīng)用708和709,例如分別為培訓(xùn)應(yīng)用和電子郵件服務(wù)。培訓(xùn)應(yīng)用708可以采用授權(quán)系統(tǒng)710檢查用戶701d被授權(quán)訪問(wèn)針對(duì)特定主體的培訓(xùn)材料,例如以完成規(guī)定的在線培訓(xùn)模塊,諸如商業(yè)行為準(zhǔn)則進(jìn)修課程。同樣地,當(dāng)用戶701d接受并且成功地完成了這樣的模塊時(shí),培訓(xùn)應(yīng)用可以使用授權(quán)系統(tǒng)來(lái)出具具有完成所述課程的日期的認(rèn)證。該認(rèn)證通常被存儲(chǔ)在授權(quán)系統(tǒng)710內(nèi),但在一個(gè)實(shí)施方式中,能夠被存儲(chǔ)在通用存儲(chǔ)(未示出)中或者在培訓(xùn)應(yīng)用的安全存儲(chǔ)區(qū)域內(nèi)。電子郵件服務(wù)709可以通過(guò)查詢授權(quán)系統(tǒng)710檢查用戶701d被授權(quán)訪問(wèn)郵箱。另夕卜,只要確認(rèn)了相關(guān)用戶已經(jīng)在設(shè)定的時(shí)間段內(nèi)完成了 ‘商業(yè)行為準(zhǔn)則’進(jìn)修課程的來(lái)自培訓(xùn)應(yīng)用的認(rèn)證存在,電子郵件服務(wù)就可以允許用戶709發(fā)送電子郵件。上述授權(quán)系統(tǒng)的實(shí)施方式將簡(jiǎn)單的模型提供給應(yīng)用開發(fā)者以及提供給授權(quán)系統(tǒng)的管理員。所述授權(quán)系統(tǒng)利用了編程抽象和交互模型,并且可以通過(guò)可能不是安全專家的開發(fā)者來(lái)使得能實(shí)現(xiàn)相對(duì)不費(fèi)勁的采用,從而提高正確的安全的實(shí)施方式的可能性。所描述的系統(tǒng)、方法以及技術(shù)可以用數(shù)字電子電路、計(jì)算機(jī)硬件、存儲(chǔ)在一個(gè)或多個(gè)計(jì)算機(jī)硬件部件中并且執(zhí)行在其上的固件或軟件實(shí)現(xiàn),或者用這些元件的組合實(shí)現(xiàn)。體現(xiàn)這些技術(shù)的裝置可以包括適當(dāng)?shù)妮斎牒洼敵鲈O(shè)備、計(jì)算機(jī)處理器、以及確實(shí)地體現(xiàn)(例如,存儲(chǔ))在機(jī)器可讀存儲(chǔ)設(shè)備中以便由可編程處理器執(zhí)行的指令。體現(xiàn)這些技術(shù)的過(guò)程可以由可編程處理器執(zhí)行,所述可編程處理器執(zhí)行指令的程序以通過(guò)對(duì)輸入數(shù)據(jù)進(jìn)行操作并且生成適當(dāng)?shù)妮敵鰜?lái)執(zhí)行所期望的功能。技術(shù)可以用包括指令的一個(gè)或多個(gè)計(jì)算機(jī)程序?qū)崿F(xiàn),所述指令可在包括至少一個(gè)可編程處理器的可編程系統(tǒng)上執(zhí)行,所述至少一個(gè)可編程處理器被耦合來(lái)從數(shù)據(jù)存儲(chǔ)系統(tǒng)、至少一個(gè)輸入設(shè)備以及至少一個(gè)輸出設(shè)備接收數(shù)據(jù)和指令,并且被耦合來(lái)將數(shù)據(jù)和指令傳送到數(shù)據(jù)存儲(chǔ)系統(tǒng)、至少一個(gè)輸入設(shè)備以及至少一個(gè)輸出設(shè)備。通過(guò)示例,適當(dāng)?shù)奶幚砥靼ㄍㄓ煤蛯S梦⑻幚砥鲀烧摺_m合于確實(shí)地體現(xiàn)計(jì)算機(jī)程序指令和數(shù)據(jù)的存儲(chǔ)設(shè)備包括所有形式的非易失性存儲(chǔ)器,其通過(guò)示例包括半導(dǎo)體存儲(chǔ)器設(shè)備,諸如可擦可編程只讀存儲(chǔ)器(EPR0M)、電可擦可編程只讀存儲(chǔ)器(EEPROM)以及閃速存儲(chǔ)器設(shè)備;諸如內(nèi)部硬盤和可移動(dòng)盤之類的磁盤;磁光盤;以及緊致盤只讀存儲(chǔ)器(CD-ROM)。前述中的任何一個(gè)可以由特別設(shè)計(jì)的ASIC (專用集成電路)來(lái)補(bǔ)充,或者被結(jié)合在特別設(shè)計(jì)的ASIC中。應(yīng)該注意的是,上述的實(shí)施方式是說(shuō)明性的而非限制性的,并且實(shí)施方式修改是可能的。例如,如果以不同次序執(zhí)行所公開的技術(shù)的動(dòng)作和/或如果所公開的系統(tǒng)中的部件被以不同方式組合和/或被其他部件替換或者補(bǔ)充,則可以實(shí)現(xiàn)有利的結(jié)果。此外,詞“包括”不排除除權(quán)利要求中列舉的那些之外的元件或步驟的存在,并且術(shù)語(yǔ)“一”或“ー個(gè)”的使用未必排除多個(gè)。權(quán)利要求中的任何附圖標(biāo)記不應(yīng)該被解釋為限制它們的范圍。
權(quán)利要求
1.一種云計(jì)算環(huán)境中的認(rèn)證系統(tǒng)(705,707,710),其被配置成 允許所述云計(jì)算環(huán)境的多個(gè)用戶(710a-d)和應(yīng)用(702,706,708,709)出具關(guān)于其他用戶和應(yīng)用的屬性的認(rèn)證; 控制對(duì)所述認(rèn)證的訪問(wèn);以及 允許所述云計(jì)算環(huán)境的多個(gè)用戶和應(yīng)用查詢所述授權(quán)系統(tǒng),以確定規(guī)定的用戶或應(yīng)用是否具有規(guī)定的屬性。
2.如權(quán)利要求1所述的認(rèn)證系統(tǒng),其中,關(guān)于其他用戶的屬性的所述認(rèn)證包括其他用戶和應(yīng)用的授權(quán),使得所述授權(quán)系統(tǒng)被配置成 允許所述云計(jì)算環(huán)境的多個(gè)用戶和應(yīng)用出具關(guān)于其他用戶和應(yīng)用的授權(quán)的認(rèn)證;以及 允許所述云計(jì)算環(huán)境的多個(gè)用戶和應(yīng)用查詢所述授權(quán)系統(tǒng),以確定規(guī)定的用戶或應(yīng)用是否具有規(guī)定的授權(quán)。
3.如權(quán)利要求1或權(quán)利要求2所述的認(rèn)證系統(tǒng),其被配置成存儲(chǔ)用戶或應(yīng)用的身份的指示,所述用戶或應(yīng)用出具具有所述認(rèn)證的認(rèn)證。
4.如權(quán)利要求3所述的認(rèn)證系統(tǒng),其被配置成驗(yàn)證出具認(rèn)證的用戶或應(yīng)用的身份。
5.如前述權(quán)利要求中任一項(xiàng)所述的認(rèn)證系統(tǒng),其中,所述認(rèn)證包括對(duì)于資源的訪問(wèn)權(quán)限認(rèn)證,所述訪問(wèn)權(quán)限認(rèn)證包括相關(guān)資源、經(jīng)授權(quán)的用戶和應(yīng)用以及所準(zhǔn)許的動(dòng)作的指示。
6.如權(quán)利要求5所述的認(rèn)證系統(tǒng),其中,所述相關(guān)資源的指示包括到所述相關(guān)資源的路徑。
7.如前述權(quán)利要求中任一項(xiàng)所述的認(rèn)證系統(tǒng),其中,所述認(rèn)證可以規(guī)定用戶的組。
8.如權(quán)利要求7所述的認(rèn)證系統(tǒng),其中,所述認(rèn)證包括組認(rèn)證,所述組認(rèn)證規(guī)定了為組的成員的所述用戶或應(yīng)用。
9.如前述權(quán)利要求中任一項(xiàng)所述的認(rèn)證系統(tǒng),其中,關(guān)于屬性的所述認(rèn)證通過(guò)為關(guān)于屬性的每個(gè)認(rèn)證指定路徑而被存儲(chǔ)。
10.如前述權(quán)利要求中任一項(xiàng)所述的認(rèn)證系統(tǒng),其中,所述認(rèn)證不包括數(shù)字證書。
11.如前述權(quán)利要求中任一項(xiàng)所述的認(rèn)證系統(tǒng),其被配置為使得其可以作為局部對(duì)象被嵌入在所述云計(jì)算環(huán)境的應(yīng)用內(nèi)或者作為獨(dú)立服務(wù)進(jìn)行操作。
12.一種用于與包括計(jì)算機(jī)可讀代碼的計(jì)算系統(tǒng)一起使用的計(jì)算機(jī)程序產(chǎn)品,所述計(jì)算機(jī)可讀代碼當(dāng)在所述計(jì)算系統(tǒng)中執(zhí)行時(shí),致使所述計(jì)算系統(tǒng)提供如前述任何權(quán)利要求中所要求保護(hù)的云計(jì)算環(huán)境中的認(rèn)證系統(tǒng)。
13.—種控制對(duì)云計(jì)算環(huán)境中的資源(704,709)的訪問(wèn)的方法,所述方法包括 接收來(lái)自所述云計(jì)算環(huán)境的實(shí)體(701a-d,706, 709)的請(qǐng)求以用規(guī)定的資源來(lái)執(zhí)行動(dòng)作; 驗(yàn)證所述實(shí)體的身份; 向授權(quán)系統(tǒng)(705,707,710)生成關(guān)于所述經(jīng)標(biāo)識(shí)的實(shí)體是否被認(rèn)證授權(quán)來(lái)對(duì)所述規(guī)定的資源執(zhí)行所述動(dòng)作的查詢; 響應(yīng)于指示所述實(shí)體是否被如此授權(quán)的所述查詢來(lái)接收響應(yīng);以及 實(shí)施從所述授權(quán)系統(tǒng)接收到的決定。
14.如權(quán)利要求13所述的方法,其進(jìn)一步包括出于確定所述實(shí)體是否被認(rèn)證授權(quán)的目的,將受信任的認(rèn)證的出具者的指示提供給所述授權(quán)系統(tǒng)。
15.—種在云計(jì)算環(huán)境中提供安全認(rèn)證的方法,其包括接收來(lái)自實(shí)體(701a-d,706,709)的查詢以出具認(rèn)證;驗(yàn)證所述實(shí)體的身份;從所述實(shí)體接收用于添加認(rèn)證的指令;以及連同所述實(shí)體的身份的指示一起存儲(chǔ)所述認(rèn)證;其中所述實(shí)體可以是所述云計(jì)算環(huán)境的用戶(701a-d)或應(yīng)用(702,706, 708, 709)。
全文摘要
本申請(qǐng)描述了一種云計(jì)算環(huán)境中的認(rèn)證系統(tǒng)(705,707,710)。授權(quán)系統(tǒng)被配置成允許所述云計(jì)算環(huán)境的多個(gè)用戶(701a-d)和應(yīng)用(702,706,708,709)出具關(guān)于其他用戶和應(yīng)用的屬性的認(rèn)證。所述授權(quán)系統(tǒng)還被配置成控制對(duì)所述認(rèn)證的訪問(wèn),并且被配置成允許所述云計(jì)算環(huán)境的多個(gè)用戶和應(yīng)用查詢所述授權(quán)系統(tǒng)以確定規(guī)定的用戶或應(yīng)用是否具有規(guī)定的屬性。還描述了控制對(duì)云計(jì)算環(huán)境中的資源的訪問(wèn)的方法以及還提供安全認(rèn)證的方法。
文檔編號(hào)H04L29/06GK103038778SQ201080068733
公開日2013年4月10日 申請(qǐng)日期2010年6月23日 優(yōu)先權(quán)日2010年6月23日
發(fā)明者N.J.愛德華茲, M.J.雷, J.M.阿爾卡拉斯卡萊羅, P.戈?duì)柕滤_克 申請(qǐng)人:惠普發(fā)展公司,有限責(zé)任合伙企業(yè)