背景技術:
管理員頻繁地利用目錄服務來創(chuàng)建和維護目錄以用于用戶和/或計算資源管理和/或以用于提供對各種計算資源(例如,文件系統(tǒng)、文件、用戶、安全策略、網(wǎng)絡資源、應用、系統(tǒng)存儲等)的訪問??梢栽谟晒芾韱T操作的數(shù)據(jù)服務器中(例如,場內(on-premises))實現(xiàn)目錄服務。管理員還可以管理由用戶操作的多個客戶端設備,其中的每一個與數(shù)據(jù)服務器共享網(wǎng)絡或域。為了保證客戶端設備安全并且為了確??缭接虻募嫒菪?,數(shù)據(jù)服務器可以在客戶端設備上指派和實施安全策略并且安裝或者更新在客戶端設備上運行的軟件。
然而,安裝、維護和操作數(shù)據(jù)服務器可能是繁重的。數(shù)據(jù)服務器它本身可以包括數(shù)個計算系統(tǒng),從而要求昂貴硬件的購買以及復雜軟件的配置。在一些情況下,還可能需要用于給數(shù)據(jù)服務器供電并且使數(shù)據(jù)服務器冷卻的專用設施。建立并維護數(shù)據(jù)服務器與客戶端設備之間的連接性可能要求昂貴網(wǎng)絡設備的安裝。此外,可能需要附加的硬件和/或軟件以在數(shù)據(jù)服務器出故障或者數(shù)據(jù)以其他方式丟失的情況下實現(xiàn)備份和恢復過程。
附圖說明
遍及附圖,參考數(shù)字可以被再用來指示參考元素之間的對應。附圖被提供來圖示本文中所描述的示例性實施方案,而不旨在限制本公開的范圍。
圖1a圖示根據(jù)一個實施方案的具有提供目錄服務的各種區(qū)域的受管理目錄服務環(huán)境。
圖1b示出根據(jù)一些實施方案的可實現(xiàn)本公開的目錄管理特征以及用戶、群組及設備管理與認證特征的示例性網(wǎng)絡環(huán)境。
圖2a示出在提供由用戶設備利用令牌(token)所訪問的服務的過程期間往返用戶管理和認證模塊142的交互。
圖2b示出在提供令牌并且處理api調用的過程期間往返用戶管理和認證模塊142的交互。
圖3圖示用于在與可以通過第三方應用服務器或者由計算機資源服務提供商系統(tǒng)提供的應用或服務所使用的不同區(qū)域中的多個目錄相關聯(lián)的公共端點(endpoint)處對用戶進行認證的過程。
圖4a至圖4b圖示在用戶設備(諸如圖1a至圖1b的用戶設備)上查看的網(wǎng)絡頁面的表示的示例。
具體實施方式
介紹-具有組織名稱的全球端點
如上所述,實現(xiàn)目錄服務的場內數(shù)據(jù)服務器可能是繁重的。因此,在一些常規(guī)系統(tǒng)中,受管理目錄服務(例如,在計算機操作系統(tǒng)的目錄(諸如
現(xiàn)有的受管理目錄服務具有數(shù)個局限。例如,兩個或更多個實體可能已經使用受管理目錄服務創(chuàng)建了目錄。因為實體是單獨的并且創(chuàng)建了單獨的目錄,所以用戶可以通過訪問它們各自的實體的目錄來認證。在一些情況下,實體可以期望共享資源或內容。實體能夠共享資源或內容的一個可能的方式將是創(chuàng)建用作可由與任何一個實體相關聯(lián)的用戶訪問的公共端點的共享組織。然而,因為實體維護不同的目錄,所以除非創(chuàng)建了新的用戶賬號,否則一個實體的用戶可能不能夠使用他們現(xiàn)有的憑證(credentials)來訪問由另一實體創(chuàng)建的目錄,并且反之亦然。此外,公共端點可能不能夠訪問維護憑證的目錄。實體可以期望來自任何一個實體的用戶可出于認證目的鍵入他們現(xiàn)有的憑證所在的公共端點和登錄系統(tǒng),即使憑證與單獨的目錄相關聯(lián)。
在本文中描述了解決這些問題中的至少一些的公共全球端點。全球端點可以是托管用來經由現(xiàn)有憑證訪問應用或服務的頁面(例如,內容頁面或網(wǎng)絡頁面,諸如web頁面)的計算系統(tǒng)。全球端點可以通過組織名稱來標識并且全球端點的位置(例如,網(wǎng)際協(xié)議(ip)地址)可以與標識該組織名稱的統(tǒng)一資源定位符(url)(例如,<組織名稱>.<應用主機>.com)相關聯(lián)。全球端點可以與多個目錄相關聯(lián),所述多個目錄諸如由希望經由用戶的現(xiàn)有憑證給他們的用戶提供對應用或服務的訪問的實體所創(chuàng)建的目錄。
受管理目錄服務可以分布在不同的地理區(qū)域中。例如,一個或多個內容遞送網(wǎng)絡(cdn)可以被配置有后端服務器,并且該后端服務器可以與實現(xiàn)受管理目錄服務的系統(tǒng)通信。實現(xiàn)受管理目錄服務的系統(tǒng)可以在多區(qū)域分布式計算機系統(tǒng)的單個區(qū)域中操作并且可以僅與該單個區(qū)域中的其他設備或系統(tǒng)進行通信。因此,cdn可以被認為是區(qū)域端點并且實現(xiàn)受管理目錄服務的系統(tǒng)可以被認為是單個端點。使用cdn并且將受管理目錄服務分配到各種區(qū)域中可以提供一些好處,諸如更低延時通信(例如,經由數(shù)據(jù)的高速緩存)以及改進的資源均衡(例如,通過從單個端點卸載計算)。然而,為了對用戶的憑證進行認證,全球端點可以首先必須標識與所接收到的憑證相關聯(lián)的目錄位于的區(qū)域。
為了幫助標識目錄位于的區(qū)域,可維護包括全球端點的組織名稱與dns條目(例如,對應的ip地址)的映射的路由服務(例如,域名系統(tǒng)(dns)web服務)。例如,可以在為一個組織或一組組織創(chuàng)建全球端點時將映射存儲在路由服務中。路由服務還可以包括dns條目與一個或多個cdn的地址的映射。因此,可查詢路由服務以標識與全球端點的組織名稱相關聯(lián)的dns條目,并且可查詢路由服務以標識與dns條目相關聯(lián)的一個或多個cdn的地址。路由服務然后可將全球端點定向到經標識的cdn。經標識的cdn中的一個或多個可基于存儲的映射將全球端點定向到區(qū)域服務(例如,受管理目錄服務),并且該區(qū)域服務基于組織名稱可標識目錄的位置。
例如,區(qū)域內的目錄或其他計算系統(tǒng)實體可以具有可被該區(qū)域內的計算系統(tǒng)實體利用和/或不可被該區(qū)域外部的計算系統(tǒng)實體利用的唯一標識符(例如,統(tǒng)一資源標識符、url或任何其他資源標識符)。出于安全目的(例如,使得實體的目錄的特定位置和類型保持隱藏)和/或因為唯一標識符可以改變,所以唯一標識符可能不可被區(qū)域外部的計算系統(tǒng)實體利用。因為唯一標識符可能是不可用的,所以cdn或經由cdn的區(qū)域服務可以向分布式計算系統(tǒng)中的各種計算系統(tǒng)(諸如全球端點和路由服務)提供用作目錄的實際唯一標識符的別名的不同的唯一標識符。因此,如果全球端點指示要使用別名標識符來訪問目錄的請求,則路由服務可將該請求重定向到適當?shù)腸dn。cdn然后可以標識可基于別名標識符的內容確定適當?shù)哪夸浀膮^(qū)域服務。在標題為“techniquesfornetworkredirection”并且于2013年12月12日提交的美國專利申請no.14/098,446中更詳細地描述了使用此類技術來將調用或請求重定向到適當?shù)亩它c,所述專利申請的內容從而通過引用整體地并入。
一旦適當?shù)膮^(qū)域被標識并且區(qū)域服務將全球端點指向適當?shù)哪夸洠脩舻默F(xiàn)有憑證就可被該適當?shù)哪夸浾J證。如果認證通過,則用戶可以成功地登錄并訪問應用或服務。因此,用戶可在不必創(chuàng)建或者使用與他的或她的現(xiàn)有憑證分開的一組新憑證的情況下訪問應用或服務。
當用戶使用他的或她的憑證來登錄以訪問應用或服務時,瀏覽器應用中的url欄可以甚至隨著路由服務(應全球端點的請求)將用戶從全球端點重定向到cdn并且該cdn標識區(qū)域服務而保持不變。例如,用戶可以訪問由組織名稱標識的頁面并且url欄可以顯示組織名稱。在鍵入組織名稱時,全球端點可以使瀏覽器應用被重定向到由區(qū)域服務生成的登錄頁面,使得用戶可鍵入他的或她的現(xiàn)有憑證并且url欄可以保持不變??商娲?,用戶可以鍵入標識組織名稱和服務的url(例如,<組織名稱>.<應用主機>.com/news-service,其中news-service是經標識的服務)。url欄可以顯示經標識的組織名稱和服務,但是可以將瀏覽器應用重定向到由區(qū)域服務生成的登錄頁面。一旦登錄,就可以將用戶重定向到應用或服務的主頁面;然而url欄可以仍然顯示原始url。
介紹-使用組織名稱來管理目錄
一般地,如上所述,成員服務器被用來管理目錄的資源。然而,一些管理員可能不能夠訪問成員服務器或者可能不希望操作成員服務器(例如,web開發(fā)者、應用開發(fā)者、移動應用開發(fā)者等),并且因此可能不能夠執(zhí)行任何用戶管理或者以其他方式管理目錄的資源。例如,由應用服務器托管的全球端點可能不是成員服務器并且通??赡芪幢挥脕砉芾砘蛘咴L問目錄。然而,本文中所描述的實施方案還呈現(xiàn)了允許管理員通過一組應用編程接口(api)經由計算系統(tǒng)(諸如全球端點)管理或者訪問目錄的用戶管理和認證系統(tǒng)。
用戶管理和認證系統(tǒng)可以是結合受管理目錄服務工作以提供本文中所描述的功能性的附加系統(tǒng)。例如,用戶管理和認證系統(tǒng)可以生成一旦路由服務將全球端點重定向到正確的cdn并且該cdn解析區(qū)域就可由全球端點訪問的一組登錄頁面(例如,內容或網(wǎng)絡頁面,諸如web頁面)。管理員可鍵入他的或她的憑證、標識正在請求訪問域的應用或服務的客戶端標識、重定向頁面(例如,由管理員正在設法經由全球端點訪問的應用或服務生成的頁面)和/或組織名稱(例如,標識全球端點的名稱或目錄的名稱)。用戶管理和認證系統(tǒng)可以將憑證發(fā)送到與組織相關聯(lián)的目錄,并且該目錄可以確定憑證是否可被認證(例如,管理員是否能夠訪問目錄)。如果憑證可被認證,則用戶管理和認證系統(tǒng)被通知并且生成認證代碼(例如,oauth代碼)。
認證代碼可以連同用于訪問重定向頁面的指令一起由用戶管理和認證系統(tǒng)發(fā)送到用戶設備。認證代碼可以是在設定時間段(例如,10分鐘、1小時等)內有效的一次性代碼,并且在認證代碼的期滿之前,可以由與重定向頁面相關聯(lián)的應用或服務使用來發(fā)起對與組織相關聯(lián)的目錄的訪問。例如,用戶管理和認證系統(tǒng)可以包括gettokenapi。應用或服務可以調用gettokenapi,從而將認證代碼作為參數(shù)來傳遞。
gettokenapi可以響應于接收到有效的認證代碼而生成訪問令牌和/或刷新令牌并且將所述令牌提供給應用或服務??梢曰趹{證和/或組織名稱生成訪問令牌和/或刷新令牌。例如,訪問令牌和/或刷新令牌可以以安全格式包括憑證和/或組織名稱。訪問令牌可以允許應用或服務經由一組api訪問和/或管理與組織相關聯(lián)的目錄并且可以在管理員定義的或預設的時間段(例如,1小時、1天等)內有效。刷新令牌可以在管理員定義的或預設的時間段(例如,1星期、1個月等)內有效并且可由應用或服務使用來一旦前一個訪問令牌期滿就接收新的訪問令牌。在一些實施方案中,刷新令牌可以在一定量的時間內無效(例如,一旦訪問令牌期滿就可以不刷新它)。
在實施方案中,用戶管理和認證系統(tǒng)提供數(shù)個api。此類api可以包括用戶api、群組api、組織單元api、口令api、訪問令牌api和/或服務api。用戶api可以包括createuserapi(例如,以在目錄中創(chuàng)建用戶)、describeusersapi(例如,以列舉目錄內的所有或任何數(shù)量的用戶及其屬性)、updateuserapi(例如,以更新目錄中的用戶的屬性)、deleteuserapi(例如,以從目錄中刪除用戶)和/或listgroupsforuserapi(例如,以列舉目錄內的所有或任何數(shù)量的用戶及其群組)。群組api可以包括creategroupapi(例如,以在目錄內創(chuàng)建新群組)、describegroupsapi(例如,以列舉目錄內的群組和群組的屬性)、updategroupapi(例如,以更新目錄中的現(xiàn)有群組)、deletegroupapi(例如,以從目錄中刪除群組)、listmembersingroupapi(例如,以列舉目錄中的群組的成員)、addmembertogroupapi(例如,以將成員(用戶或群組)添加到目錄中的群組)和/或removememberfromgroupapi(例如,以從目錄中的群組中移除成員)。組織單元api可以包括describeorganizationalunitsapi(例如,以列舉目錄內的所有或任何數(shù)量的組織單元及其屬性)。口令api可以包括authenticateuserapi(例如,以對目錄中的用戶進行認證并且返回認證代碼)、authenticatekerberosuserapi(例如,以對目錄中的用戶進行認證并且返回認證代碼)、authenticateradiususerapi(例如,以對照與目錄相關聯(lián)的radius服務器來對用戶進行認證并且返回認證代碼)、resetpasswordapi(例如,以重置用戶的口令)和/或changepasswordapi(例如,以改變用戶的口令)。訪問令牌api可以包括createanonymoustokenapi(例如,以創(chuàng)建要存儲的匿名令牌)、gettokenapi(例如,以基于認證代碼生成訪問令牌和/或刷新令牌)、validatetokenapi(例如,以驗證先前發(fā)布的訪問令牌或匿名令牌仍然有效)、refreshtokenapi(例如,以使用先前發(fā)布的刷新令牌來生成新的訪問令牌)和/或revoketokenapi(例如,以使先前發(fā)布的訪問、匿名或刷新令牌無效)。服務api可以包括getserviceaccountcredsapi(例如,以允許注冊的應用或服務檢索域加入憑證)。
應用或服務可使用訪問令牌來調用由用戶管理和認證系統(tǒng)支持的api中的任一個。例如,可經由api將訪問令牌和/或其他操作特定參數(shù)提供給用戶管理和認證系統(tǒng)以管理目錄。如上所述,可以基于認證代碼和/或組織名稱生成訪問令牌。因此,當經由api在接收時由用戶管理和認證系統(tǒng)打開時,訪問令牌可以標識認證代碼,并且因此標識正在執(zhí)行動作的管理員和/或將執(zhí)行動作的目錄。因此,應用或服務可以不單獨地標識要訪問和/或管理的目錄。不單獨地標識目錄可以提供常規(guī)系統(tǒng)中未找到的附加安全級別。在一般地涉及訪問并管理單個目錄的常規(guī)系統(tǒng)中,管理員可以通過提供目錄名稱和/或其他操作特定參數(shù)簡單地管理目錄。然而,在本文中所公開的實施方案中,用戶或管理員可能不能夠通過提供組織名稱和/或其他操作特定參數(shù)簡單地以未被授權的方式訪問并操縱目錄。相反,如本文中所描述的,需要訪問令牌來訪問和/或操縱特定目錄,并且用戶或管理員可以僅在可利用特定目錄驗證他的或她的憑證之后(例如,在接收到認證代碼之后)獲得訪問令牌。
在實施方案中,當生成訪問令牌時,用戶管理和認證系統(tǒng)可以將訪問令牌映射到通常能夠由成員服務器使用來訪問與組織名稱相關聯(lián)的目錄的目錄服務令牌(例如,kerberos令牌、其他目錄特定憑證等)。因此,當應用或服務使用訪問令牌來調用api時,用戶管理和認證系統(tǒng)可以訪問數(shù)據(jù)庫以確定映射到訪問令牌的令牌,并且將經映射的令牌(和/或由應用或服務提供的其他操作特定參數(shù))提供給受管理目錄服務以執(zhí)行經由api的調用所請求的動作或操作。在一些實施方案中,刷新令牌的有效性可能束縛于經映射的令牌的有效性(例如,其壽命可由管理員預設或者定義)。結果(若有的話)可以通過受管理目錄服務返回給用戶管理和認證系統(tǒng),并且用戶管理和認證系統(tǒng)可以將結果轉發(fā)到應用或服務。
應用或服務可重復這個過程以為由管理員操作的一個或多個目錄生成訪問令牌。因此,管理員使用應用或服務可訪問和/或管理多個目錄。
在另外的實施方案中,用戶管理和認證系統(tǒng)支持單因素認證和/或多因素認證(例如,多個不同組憑證可以在訪問被許可之前由用戶提供用于認證)。用戶管理和認證系統(tǒng)可以經由用戶界面和/或api支持任何類型的認證。用戶管理和認證系統(tǒng)還可以支持單次登錄(例如,管理員可以能夠登錄一次并且獲得對所有適當?shù)哪夸浀脑L問,而不用每當目錄被訪問時被提示再次登錄)。
系統(tǒng)部件
圖1a圖示根據(jù)一個實施方案的具有提供目錄服務的各種區(qū)域的受管理目錄服務環(huán)境。圖1a中所示的受管理目錄服務環(huán)境包括各種用戶設備102、路由服務130、第三方應用服務器108、各種cdn150a-b、各種計算資源服務提供商系統(tǒng)104a-c以及各種可擴展的專用服務器系統(tǒng)170。各種用戶設備102、路由服務130、第三方應用服務器108以及各種cdn150a-b可以經由一個或多個通信網(wǎng)絡110彼此進行通信。網(wǎng)絡110可以是可能由各種不同方操作的鏈接網(wǎng)絡的公開可訪問的網(wǎng)絡,諸如互聯(lián)網(wǎng)。在其他實施方案中,網(wǎng)絡110可以包括專用網(wǎng)、個人區(qū)域網(wǎng)、局域網(wǎng)、廣域網(wǎng)、電纜網(wǎng)、衛(wèi)星網(wǎng)、蜂窩電話網(wǎng)等或其組合,每個能夠訪問互聯(lián)網(wǎng)或/或來自互聯(lián)網(wǎng)。
計算資源服務提供商系統(tǒng)104a-c和各種專用服務器系統(tǒng)170a-c分別可以經由單獨的通信網(wǎng)絡160a-c彼此進行通信。網(wǎng)絡160a-c可以是具有兩個端點的專用網(wǎng):與網(wǎng)絡160a-c相關聯(lián)的計算資源服務提供商系統(tǒng)104a-c和專用服務器系統(tǒng)170a-c。各種專用服務器系統(tǒng)170a-c可以不共享網(wǎng)絡160a-c。相反,每個網(wǎng)絡160a-c可以專用于特定專用服務器系統(tǒng)170a-c。
如相關領域的技術人員將了解的,受管理目錄服務環(huán)境可以包括任何數(shù)量的不同的用戶設備102、計算資源服務提供商系統(tǒng)104a-c、cdn150a-b和/或專用服務器系統(tǒng)170a-c。單獨的計算資源服務提供商系統(tǒng)104a-c可以被定位為使得它們靠近(在地理或聯(lián)網(wǎng)意義上)當前或潛在的用戶設備102或專用服務器系統(tǒng)170a-c的群組。
在實施方案中,受管理目錄服務分布在不同的地理區(qū)域120a-b中。例如,一個或多個cdn150a-b可以被配置有后端服務器,并且該后端服務器可以與實現(xiàn)受管理目錄服務的系統(tǒng)(諸如計算資源服務提供商系統(tǒng)140a-c)通信。計算資源服務提供商系統(tǒng)104a-c可以在多區(qū)域分布式計算機系統(tǒng)的單個區(qū)域中操作并且可以僅與該單個區(qū)域中的其他設備或系統(tǒng)進行通信。因此,cdn150a或150b可以被認為是區(qū)域端點并且計算資源服務提供商系統(tǒng)140a-c可以被認為是單個端點。
用戶設備102可包括各式各樣的計算設備,包括成員服務器、個人計算設備、終端計算設備、膝上型計算設備、平板計算設備、電子閱讀器設備、移動設備(例如,移動電話、媒體播放器、手持游戲設備等)、具有網(wǎng)絡訪問和程序執(zhí)行能力的可穿戴設備(例如,“智能手表”或“智能護目鏡”)、無線設備、機頂盒、游戲控制臺、娛樂系統(tǒng)、具有網(wǎng)絡訪問和程序執(zhí)行能力的電視(例如,“智能tv”)以及各種其他電子設備和器具。單獨的用戶設備102可以執(zhí)行應用以經由網(wǎng)絡110與計算資源服務提供商系統(tǒng)104進行通信以便管理一個或多個目錄。例如,應用可以是被安裝在用戶設備102上的獨立應用。作為另一示例,應用可以是訪問由計算資源服務提供商系統(tǒng)104a-c、第三方應用服務器108和/或另一計算系統(tǒng)(未示出)托管的應用或服務(例如,web服務)的瀏覽器(例如,web瀏覽器)。
第三方應用服務器108可以是托管應用或服務(例如,目錄管理服務、文檔共享服務、字處理應用等)并且提供對所述應用或服務的訪問的計算系統(tǒng)。例如,第三方應用服務器108可以托管提供對所托管的應用或服務的訪問的與不同的組織名稱相關聯(lián)的各種頁面。頁面可以具有以下格式的url:<組織名稱>.<應用主機>.com。因此,第三方應用服務器108可以用作管理員或用戶試圖訪問與一個或多個實體相關聯(lián)的頁面的全球端點。由第三方應用服務器108托管的單個頁面可以與多個目錄相關聯(lián),所述多個目錄諸如由希望使用用戶的現(xiàn)有憑證來給它們的用戶提供對由第三方應用服務器108托管的應用或服務的訪問的實體所創(chuàng)建的目錄。第三方應用服務器108可以位于任何區(qū)域(諸如區(qū)域120a或區(qū)域120b)中。
用戶設備102可以經由網(wǎng)絡110訪問所托管的應用或服務。應用或服務可以附屬于操作計算資源服務提供商系統(tǒng)104或者可以由第三方實體操作的實體。在實施方案中,由第三方應用服務器108或計算資源服務提供商系統(tǒng)104提供的已經向計算資源服務提供商系統(tǒng)104注冊的應用或服務可以訪問本文中所描述的特征。尚未向計算資源服務提供商系統(tǒng)104注冊和/或尚未被計算資源服務提供商系統(tǒng)104的管理員批準的應用或服務可以被阻止訪問本文中所描述的特征。
專用服務器系統(tǒng)170a-c可以存儲與實體相關聯(lián)的目錄。例如,專用服務器系統(tǒng)170a-c可以為組織存儲場內目錄。在一些實施方案中,專用服務器系統(tǒng)170a-c可為同一實體存儲多個目錄。如關于圖1b在下面更詳細地描述的,目錄可以由各自的計算資源服務提供商系統(tǒng)104a-c來管理。
路由服務130可以幫助標識可幫助標識目錄位于的區(qū)域的cdn150a-b。路由服務130(例如,域名系統(tǒng)(dns)web服務)可包括由應用服務器140創(chuàng)建的組織名稱與dns條目(例如,對應的ip地址)的映射。例如,可以在為組織(例如,多個實體)創(chuàng)建組織名稱時將映射存儲在路由服務130中。路由服務130還可以包括dns條目與一個或多個cdn150a-b的地址的映射。因此,可查詢路由服務130以標識與組織名稱相關聯(lián)的dns條目,并且可查詢路由服務130以標識與該dns條目相關聯(lián)的一個或多個cdn150a-b的地址。路由服務器130然后可將在用戶設備102上執(zhí)行的應用(例如,瀏覽器)定向到經標識的cdn150a-b。經標識的cdn150a-b中的一個可基于存儲的映射將用戶設備102定向到區(qū)域服務(例如,計算資源服務提供商系統(tǒng)104a-c),并且該區(qū)域服務基于組織名稱可標識目錄的位置。
例如,區(qū)域120a內的目錄或其他計算系統(tǒng)實體可以具有可被區(qū)域120a內的計算系統(tǒng)實體利用和/或不可被區(qū)域120a外部的計算系統(tǒng)實體利用的唯一標識符(例如,統(tǒng)一資源標識符、url或任何其他資源標識符)。如上所述,出于安全目的(例如,使得實體的目錄的特定位置和類型保持隱藏)和/或因為唯一標識符可以改變,所以唯一標識符可能不可被區(qū)域120a外部的計算系統(tǒng)實體利用。因為唯一標識符可能是不可用的,所以cdn150a或計算資源服務提供商系統(tǒng)104a經由cdn150a可以向分布式計算系統(tǒng)中的各種計算系統(tǒng)(諸如應用服務器140和路由服務130)提供用作目錄的實際唯一標識符的別名的不同的唯一標識符。因此,如果應用服務器140生成用于使用別名標識符來訪問目錄的請求,則路由服務130可將該請求重定向到適當?shù)腸dn150a或150b。cdn150a或150b然后可以標識可基于別名標識符的內容確定適當?shù)哪夸浀挠嬎阗Y源服務提供商系統(tǒng)104a-c。
示例性網(wǎng)絡環(huán)境
圖1b示出根據(jù)一些實施方案的可實現(xiàn)本公開的目錄管理特征以及用戶、群組及設備管理與認證特征的示例性網(wǎng)絡環(huán)境。出于簡單的目的,圖1b中所示的網(wǎng)絡環(huán)境包括一個區(qū)域的部件。如本文中所使用的,術語“目錄”一般地是指關于計算機網(wǎng)絡的用戶、設備、應用和其他公共資源的數(shù)據(jù)的組織集合。計算機網(wǎng)絡上的每個資源(或其某個子集)可以被表示為目錄中的對象,并且關于特定資源的信息(例如,名稱、地址、許可等)可作為該對象的屬性被存儲。信息可被安全地存儲在對象內或者與對象相關聯(lián)地存儲,使得僅具有足夠許可的用戶能夠訪問、修改或者以其他方式使用該信息。
如所示,網(wǎng)絡環(huán)境包括經由一個或多個網(wǎng)絡110通信的各種用戶設備102、計算資源服務提供商系統(tǒng)104、組織106和第三方應用服務器108。計算資源服務提供商系統(tǒng)104可向各種組織或其他客戶提供應用;目錄管理服務;用戶、群組及設備管理與認證服務;和/或其他基于網(wǎng)絡的服務。組織106a-c(或其他客戶)可采用計算資源服務提供商系統(tǒng)104來向與這些組織相關聯(lián)的用戶提供應用訪問,管理組織的目錄等。單獨的用戶可使用用戶設備102來使用來自它們各自的組織106a-106c的憑證來訪問由計算資源服務提供商系統(tǒng)104(或第三方應用服務器108)托管的應用。此外,計算資源服務提供商系統(tǒng)104可任憑各自的組織處理給應用提供對各種組織106a-c的目錄的訪問。
一些用戶設備102可以與特定組織106a-c相關聯(lián)。例如,組織可以具有保持場內或者主要由員工、管理員或與組織相關聯(lián)的其他用戶場外(off-premises)使用的各種用戶設備102。在一些實施方案中,用戶設備102中的一些或全部可以與任何組織分開,諸如由任何數(shù)量的用戶使用來執(zhí)行各種任務的公用計算機或家庭計算機,所述各種任務可以包括使用與特定組織106a-c或計算資源服務提供商系統(tǒng)104的其他客戶相關聯(lián)的憑證來管理目錄或者訪問應用。
計算資源服務提供商系統(tǒng)104可以是被配置成托管應用144(字處理應用、照片編輯應用、電子郵件應用等)或者以其他方式提供對應用144的訪問、為單獨的客戶組織106a-c管理目錄和/或提供其他基于網(wǎng)絡的服務和資源(例如,文檔共享服務、虛擬機服務等)的計算系統(tǒng)。例如,計算資源服務提供商系統(tǒng)104可以是可以經由通信網(wǎng)絡110訪問的一服務器或一組服務器。計算資源服務提供商系統(tǒng)104可包括用于提供本文中所描述的各種特征的許多部件,諸如可由組織106和用戶設備102訪問的受管理目錄系統(tǒng)或服務140、用戶管理和認證模塊142以及一個或多個應用或應用服務器144。如在下面所描述的,計算資源服務提供商系統(tǒng)104還可以存儲各種場外目錄146,諸如組織160b的場外目錄。在一些實施方案中,計算資源服務提供商系統(tǒng)104可以包括除圖1中所圖示外的附加或更少的部件以提供上面并且在下面更詳細地描述的特征。
如本文中所使用的,術語“場外目錄”是指遠離與它關聯(lián)的組織的目錄,以便區(qū)分這種目錄和位于組織的駐地上的目錄。因此,盡管目錄可以被以物理方式存儲在計算資源服務提供商系統(tǒng)104的駐地上,然而該目錄可能被稱為場外目錄,因為它相對于它所屬于的組織(例如,擁有或者操作由該目錄描述的網(wǎng)絡的組織)是場外的。附加地,盡管目錄可以被以物理方式存儲在計算資源服務提供商系統(tǒng)104的駐地外面,然而該目錄可能被稱為場內目錄,因為它相對于它所屬于的組織是場內的。
說明性地,管理員可以使用由用戶設備102執(zhí)行的應用來管理由管理員的組織(諸如組織106a-c中的一個)所擁有或者操作的一個或多個目錄。應用可以與受管理目錄服務140和/或用戶管理和認證模塊142交互。受管理目錄服務140可以是實現(xiàn)受管理目錄服務的計算系統(tǒng)。在實施方案中,受管理目錄服務140被配置成創(chuàng)建、監(jiān)視并管理一個或多個目錄。例如,受管理目錄服務140可以與場外目錄146和/或場內目錄160通信并且管理它們。如上所述,如果用戶設備102是成員服務器,則管理員可以使用受管理目錄服務140來創(chuàng)建、監(jiān)視和/或管理目錄。然而,如果用戶設備102不是成員服務器,則管理員可以經由由用戶管理和認證模塊142提供的api來創(chuàng)建、監(jiān)視和/或管理目錄。
用戶管理和認證模塊142可以是實現(xiàn)用戶、群組及設備管理與認證系統(tǒng)的計算系統(tǒng)。在實施方案中,用戶管理和認證模塊142允許管理員經由一組api(諸如上面所描述的api)利用不是成員服務器(例如,不與各自目錄的域相關聯(lián))的用戶設備102來管理一個或多個目錄。用戶管理和認證模塊142還可以提供用于即使所執(zhí)行的應用或所訪問的應用或服務不能夠直接訪問目錄的創(chuàng)建用戶的列表也允許由用戶設備102執(zhí)行的應用或者由所執(zhí)行的應用訪問的應用或服務訪問目錄中的內容或資源的授權和認證機制。例如,用戶管理和認證模塊142可以與受管理目錄服務140通信并且可以用作用戶設備102與受管理目錄服務140之間的接口,使得用戶設備102可管理由受管理目錄服務140管理的一個或多個目錄。用戶設備102可調用由用戶管理和認證模塊142提供的api,并且用戶管理和認證模塊142可指令受管理目錄服務140執(zhí)行由所調用的api指示的動作。關于圖2a至圖2b在下面更詳細地描述用戶設備102、受管理目錄服務140及用戶管理和認證模塊142之間的交互。
在另外的實施方案中,用戶管理和認證模塊142支持單因素認證和/或多因素認證。用戶管理和認證模塊142可以經由用戶界面和/或api支持任何類型的認證。用戶管理和認證模塊142還可以支持單次登錄(例如,管理員可以能夠登錄一次并且獲得對所有適當?shù)哪夸浀脑L問,而不用每當目錄被訪問時被提示再次登錄)。
計算資源服務提供商系統(tǒng)104可以是單個計算設備,或者它可以包括以邏輯方式或以物理方式分組在一起以共同地作為服務器系統(tǒng)操作的多個不同的計算設備,諸如計算機服務器。計算資源服務提供商系統(tǒng)104的部件可每個用專用硬件(例如,具有一個或多個asic的服務器計算設備)加以實現(xiàn)使得軟件不是必要的,或者作為硬件和軟件的組合被實現(xiàn)。此外,計算資源服務提供商系統(tǒng)104的模塊和部件可被組合在一個服務器計算設備上或者單獨地分開或者到數(shù)個服務器計算設備上的群組中。
此外,可以使用多個(例如,兩個或更多個)計算資源服務提供商系統(tǒng)104。例如,計算資源服務提供商系統(tǒng)104可以位于單獨的區(qū)域中并且可以或者可以不彼此交互。單獨的計算資源服務提供商系統(tǒng)104可以被定位為使得它們靠近(在地理或聯(lián)網(wǎng)意義上)當前或潛在的用戶設備102或組織160a-c的群組。
在一些實施方案中,由計算資源服務提供商系統(tǒng)104提供的特征和服務可以作為可經由通信網(wǎng)絡110消費的web服務被實現(xiàn)。在另外的實施方案中,計算資源服務提供商系統(tǒng)104由實現(xiàn)在托管計算環(huán)境中的一個或多個虛擬機來提供。托管計算環(huán)境可以包括一個或多個快速地提供和釋放的計算資源,所述計算資源可以包括計算、聯(lián)網(wǎng)和/或存儲設備。托管計算環(huán)境還可以被稱為云計算環(huán)境。
組織106a-c可對應于計算資源服務提供商系統(tǒng)104的各種客戶。盡管在本文中使用術語“組織”,然而涉及此類組織的特征可以附加地或可替代地涉及具有目錄(無論場內還是場外)并且希望使用計算資源服務提供商系統(tǒng)104以通過由計算資源服務提供商系統(tǒng)104或第三方應用服務器108托管的應用來管理該目錄并且控制對該目錄的訪問的任何客戶。
維護場內目錄160的組織可以具有目錄160被存儲在上面的一個或多個服務器。例如,組織106a可以具有包括各種服務器的數(shù)據(jù)中心,并且可以將場內目錄160存儲在這些服務器中的一個或多個上。維護場外目錄的組織可以采用計算資源服務提供商系統(tǒng)104的服務,其可以將場外目錄存儲在場外目錄數(shù)據(jù)存儲區(qū)146中。例如,組織106b可能根本不維護場內目錄,而是可以替代地依靠計算資源服務提供商系統(tǒng)104以維護組織的目錄146。一些組織可以選擇場內和/或場外維護多個目錄。例如,組織106c可以每個以與組織106a類似的方式(在上面描述)存儲多個場內目錄160,并且組織106c也可以選擇采用計算資源服務提供商系統(tǒng)104來維護場外目錄146。在這個示例中由計算資源服務提供商系統(tǒng)104維護的目錄146可以是場內目錄的鏡像或子集(例如,用于備份或災難恢復目的),或者它完全可以是單獨的目錄(例如,與場內目錄160的不同區(qū)域中的計算資源的目錄)。
通信網(wǎng)絡110可以是可能由各種不同方操作的鏈接網(wǎng)絡的公開可訪問的網(wǎng)絡,諸如互聯(lián)網(wǎng)。在一些實施方案中,通信網(wǎng)絡110可以是或者包括互聯(lián)網(wǎng)、專用網(wǎng)、個人區(qū)域網(wǎng)、局域網(wǎng)、廣域網(wǎng)、電纜網(wǎng)、衛(wèi)星網(wǎng)、蜂窩電話網(wǎng)等或其組合。
往返用戶管理和認證模塊的示例性交互
圖2a示出在提供由用戶設備利用令牌所訪問的服務的過程期間往返用戶管理和認證模塊142的交互。如圖2a中所圖示,目錄服務模塊140可以與多個代理215a-b交互,并且代理215a-b可以與用戶管理和認證模塊142交互。
在實施方案中,出于管理目的,每個代理215a-b與一個或多個單獨的目錄相關聯(lián)并且與它關聯(lián)的目錄直接接口對接。代理215a-b可以與場內和/或場外目錄相關聯(lián)并且與它們進行通信。例如,代理215a可以與場外目錄146相關聯(lián)并且代理215b可以與場內目錄160相關聯(lián)。受管理目錄服務140可以被配置成創(chuàng)建、監(jiān)視和/或管理代理215a-b。雖然圖示了兩個代理215a-b,但是這不意在為限制性的。計算資源服務提供商系統(tǒng)104可以包括任何數(shù)量的代理(例如,足以處理由受管理目錄服務140管理的所有目錄的許多代理)。
代理215a-b可以接收對用戶管理和認證模塊142做出的api調用的翻譯版本。對用戶管理和認證模塊142做出的api調用的翻譯版本可以是可由受管理目錄服務140執(zhí)行的目錄特定api調用(例如,ldap、kerberos、dns等)。作為示例,api調用的翻譯可以包括將訪問令牌映射到目錄服務令牌(例如,kerberos令牌、用戶名和口令對、ntlan管理器(ntlm)散列等)。
在實施方案中,用戶管理和認證模塊142包括控制臺220、控制平面225以及負載均衡器230和235。控制臺220可以被配置成生成被發(fā)送到用戶設備102的用戶界面。用戶界面可以是可以在用戶設備102調用由用戶管理和認證模塊142提供來登錄、重置口令、改變口令和/或執(zhí)行本文中所描述的其他操作的api時被發(fā)送到用戶設備102的登錄頁面??刂婆_220還可以生成可諸如例如在新用戶被創(chuàng)建時被發(fā)送到用戶設備102的鏈接(例如,統(tǒng)一資源定位符(url))。該鏈接可以在有限的時間段(例如,7天、2個星期等)內有效,并且當被選擇時,可以將由用戶設備102執(zhí)行的應用重定向到允許管理員鍵入附加信息(諸如用戶簡檔信息)的內容頁面??刂婆_220還可以在用戶設備102調用由用戶管理和認證模塊142提供來重置口令的api時發(fā)送包括到與管理員相關聯(lián)的賬戶的鏈接的電子消息(例如,電子郵件、文本消息等)。該電子消息可以包括可由用戶設備102使用來完成口令重置過程的一次性用戶令牌。
控制平面225可以被配置成使api暴露在用戶設備102下。例如,控制平面225可以暴露像本文中所描述的api一樣的api??刂破矫?25還可以被配置成與代理215a-b交互。例如,控制平面225可以將從用戶設備102接收到的api調用翻譯成可由受管理目錄服務140執(zhí)行的目錄特定api調用并且將所述目錄特定api調用提供給適當?shù)拇?15a-b(例如,與將根據(jù)api調用對其執(zhí)行動作的目錄相關聯(lián)的代理)。關于圖2b在下面更詳細地描述控制平面225。
控制臺220和控制平面225可以每個在負載均衡器230或235后面??刂婆_220和控制平面225可以每個包括多個計算資源并且負載均衡器230和235可以跨越多個計算資源分配工作負載以優(yōu)化資源使用,以使吞吐量最大化,和/或以使任何單個資源變得過載的風險最小化。例如,負載均衡器230和235可以接收來自用戶設備102的api調用并且將所述api調用分配到控制臺220或控制平面225的適當?shù)挠嬎阗Y源。
在(1)處,管理員經由用戶設備102可以首先與負載均衡器235進行通信以對他的或她的憑證進行認證。負載均衡器235可以將認證請求和憑證轉發(fā)到控制臺220,所述控制臺220可以將認證請求和憑證轉發(fā)該負載均衡器230。負載均衡器230可以將認證請求和憑證轉發(fā)到控制平面225。控制平面225可以確定與憑證相關聯(lián)的目錄并且將認證請求和憑證發(fā)送到適當?shù)拇?15a或215b。一旦適當?shù)拇?15a或215b接收到認證請求和憑證,該代理215a或215b就可以通過聯(lián)系它關聯(lián)的目錄(例如,場外目錄146或場內目錄160)來執(zhí)行認證。
在(2)處,響應于管理員的憑證可被認證的確定,控制平面225生成認證代碼。控制平面225將認證代碼發(fā)送到負載均衡器230以便轉發(fā)到用戶設備102。
在(3)處,用戶設備102訪問由第三方應用服務器108提供的服務。在替代實施方案(未示出)中,用戶設備102訪問由計算機資源服務提供商系統(tǒng)104提供的應用144中的應用。
在(4)處,所訪問的服務為了接收訪問令牌和/或刷新令牌而將認證代碼發(fā)送到負載均衡器230。負載均衡器230可以將認證代碼轉發(fā)到控制平面225。
在(5)處,控制平面225基于所接收到的認證代碼生成訪問令牌和/或刷新令牌。如果在期滿之前接收到認證代碼則控制平面225可以生成訪問令牌??刂破矫?25可以將訪問令牌和/或刷新令牌發(fā)送到負載均衡器230以便轉發(fā)到所訪問的服務。
圖2b示出在提供令牌并且處理api調用的過程期間往返用戶管理和認證模塊142的交互。如圖2b中所圖示,控制平面225可以包括用戶、群組和口令api模塊240、認證api模塊245、認證令牌至憑證映射器模塊250、目錄查找模塊255、目錄數(shù)據(jù)庫260、服務健康監(jiān)視模塊265以及認證壽命管理收割者模塊270。在替代實施方案(未示出)中,目錄查找模塊255是代理215a或215b的部件。
認證api模塊245可以生成認證代碼、刷新令牌和/或訪問令牌。例如,認證api模塊245可以接收管理員憑證、標識由應用服務器140托管的正在請求訪問域的應用或服務的客戶端標識、重定向頁面(例如,與一旦認證完成用戶管理和認證模塊150就應該指令用戶設備102訪問的應用或服務相關聯(lián)的頁面)和/或組織名稱或標識符(例如,標識全球端點的標識符或目錄標識符)。認證api模塊245可以將憑證發(fā)送到與和組織名稱相關聯(lián)的目錄相對應的代理215a或215b。代理215a或215b可以將憑證傳遞到目錄服務模塊140以確定憑證是否可被認證(例如,管理員是否能夠訪問目錄)。如果憑證可被認證,則認證api模塊245被通知并且生成認證代碼(例如,oauth代碼)。
在(1)處,如上所述,認證代碼可以是在有限的時間段(例如,10分鐘、1小時等)內有效的一次性代碼。認證api模塊245可以將認證代碼發(fā)送到用戶設備102。認證api模塊245還可以向用戶設備102發(fā)送用于訪問重定向頁面的指令。
在(2)處,用戶設備102訪問由第三方應用服務器108提供的服務。在替代實施方案(未示出)中,用戶設備102訪問由計算機資源服務提供商系統(tǒng)104提供的應用144中的應用。
在(3)處,認證api模塊245從所訪問的服務(例如,經由瀏覽器訪問)接收認證代碼。例如,如果gettokenapi被調用,則認證api模塊245可以接收認證代碼(例如,認證代碼可以作為參數(shù)被包括)。
如果接收到期限不滿的認證代碼,則認證api模塊245可以生成訪問令牌和/或刷新令牌??梢曰趹{證和/或組織名稱生成訪問令牌和/或刷新令牌。例如,當被打開時,訪問令牌和/或刷新令牌可以指示與令牌相關聯(lián)的認證代碼(以及因此憑證和與所述憑證相關聯(lián)的管理員)和組織名稱。訪問令牌可以允許所訪問的服務經由由用戶、群組和口令api模塊240提供的一組api來管理與組織名稱相關聯(lián)的目錄。訪問令牌可以在管理員定義的或有限的時間段(例如,1小時、1天等)內有效。刷新令牌可以在管理員定義的或有限的時間段(例如,1星期、1個月等)內有效并且可由用戶設備102和/或所訪問的應用或服務使用來一旦前一個訪問令牌期滿就接收新的訪問令牌。在一些實施方案中,刷新令牌可以在任何時間段內無效(例如,一旦訪問令牌期滿就可以不刷新它)。
在(4)處,在一些實施方案中,認證api模塊245將訪問令牌、刷新令牌、憑證和/或目錄標識符發(fā)送到認證令牌至憑證映射器模塊250。認證令牌至憑證映射器模塊250可以使用底層目錄邏輯來將憑證和/或組織名稱(或與組織的實體中的一個相關聯(lián)的目錄的標識符)映射到訪問令牌和/或刷新令牌并且將這個映射存儲在目錄數(shù)據(jù)庫260中。
在(5)處,認證api模塊245還可以將訪問令牌和/或刷新令牌發(fā)送到所訪問的服務。用戶、群組和口令api模塊240可以提供上面所描述的api中的一個或多個,并且所訪問的服務可以使用訪問令牌和/或其他操作特定參數(shù)來調用所提供的api中的一個或多個。在一些實施方案(未示出)中,認證api模塊245在執(zhí)行關于(4)所討論的操作之前將訪問令牌和/或刷新令牌發(fā)送到所訪問的服務。
在(6)處,在實施方案中,在從調用服務接收到包括訪問令牌的api調用時,用戶、群組和口令api模塊240通過查詢目錄查找模塊255來標識與訪問令牌相關聯(lián)的目錄。例如,目錄查找模塊255可以將訪問令牌傳遞到目錄數(shù)據(jù)庫260并且標識與該訪問令牌相關聯(lián)的目錄,從而將經標識的目錄發(fā)送回到用戶、群組和口令api模塊240。
在(7)處,用戶、群組和口令api模塊240然后可以標識與經標識的目錄相關聯(lián)的代理215a或215b,將api調用翻譯成目錄特定api調用,并且將該目錄特定api調用及其操作特定參數(shù)傳遞到適當?shù)拇?15a或215b。用戶、群組和口令api模塊240可以確定如何基于由目錄查找模塊255提供的信息將api調用翻譯成目錄特定api調用。在替代實施方案(未示出)中,用戶、群組和口令api模塊240直接標識與訪問令牌相關聯(lián)的目錄,而不用查詢目錄查找模塊255(例如,經由內部查找表或數(shù)據(jù)庫)。
如上所述,代理215a-b可以接收從由用戶、群組和口令api模塊240接收到的api調用翻譯的目錄特定api調用。作為示例,用戶、群組和口令api模塊240可以將由用戶、群組和口令api模塊240接收到的訪問令牌映射到目錄服務令牌(例如,kerberos令牌),并且可以將該目錄服務令牌提供給代理215a-b以訪問適當?shù)哪夸洝?/p>
在(8)處,結果(若有的話)可以由代理215a-b從受管理目錄服務140接收并且轉發(fā)到用戶、群組和口令api模塊240。用戶、群組和口令api模塊240然后可以將結果發(fā)送到調用服務。
服務健康監(jiān)視模塊265可以是監(jiān)視目錄服務的健康的計算系統(tǒng)。例如,服務健康監(jiān)視模塊265可以監(jiān)視目錄服務模塊140的健康。
認證壽命管理收割者模塊270可以對目錄數(shù)據(jù)庫260執(zhí)行維護。例如,認證壽命管理收割者模塊270可以收割出或者移除已經期滿的訪問令牌和/或刷新令牌(以及它們相關聯(lián)的憑證和目錄標識)。
用于在與不同區(qū)域中的不同目錄相關聯(lián)的公共端點處對用戶進行認證的示例性過程
圖3圖示用于在與可以通過第三方應用服務器或者由計算機資源服務提供商系統(tǒng)提供的應用或服務所使用的不同區(qū)域中的多個目錄相關聯(lián)的公共端點處對用戶進行認證的過程300。作為示例,圖1a至圖1b的第三方應用服務器108或計算機資源服務提供商系統(tǒng)104可被配置成執(zhí)行認證過程300。認證過程300在塊302處開始。
在塊304處,接收用于經由與組織名稱相關聯(lián)的頁面訪問應用的請求。例如,組織名稱可以標識全球端點。多個目錄可以與組織名稱相關聯(lián)。例如,組織名稱可以與多個實體相關聯(lián)。每個實體可以存儲和維護單獨的目錄。在實施方案中,多個目錄中的一個或多個位于單獨的區(qū)域中。每個單獨的區(qū)域中的計算設備可以不與其他區(qū)域中的計算設備進行通信。
在塊306處,接收用戶憑證。用戶憑證可以與多個目錄中的第一目錄相關聯(lián)。例如,與用戶憑證相關聯(lián)的用戶可以是存儲和維護第一目錄的實體的員工。
在塊308處,確定第一目錄位于的區(qū)域。在實施方案中,路由服務(諸如路由服務130)包括dns條目到與組織名稱相關聯(lián)的頁面的映射。路由服務還可以包括dns條目到cdn條目的映射。cdn可以包括到各種區(qū)域服務的映射。例如,第一目錄可以利用由cdn或經由該cdn的區(qū)域服務提供給路由服務和/或計算資源服務提供商系統(tǒng)或第三方應用服務器的別名標識符來標識。在從計算資源服務提供商系統(tǒng)或第三方應用服務器接收到別名標識符時,路由服務可以能夠將用戶設備重定向到適當?shù)腸dn。cdn可以標識管理第一目錄的區(qū)域服務,從而標識第一目錄的區(qū)域(例如,區(qū)域服務在與第一目錄相同的區(qū)域中)。
在塊310處,將用戶憑證發(fā)送到所述確定的區(qū)域以用于認證。在將用戶憑證發(fā)送到所述確定的區(qū)域之后,認證過程300可以完成,如塊312中所示。
用于訪問全球端點的示例性用戶界面
圖4a至圖4b圖示在用戶設備(諸如用戶設備102)上查看的網(wǎng)絡頁面400的表示的示例。網(wǎng)絡頁面400可以由區(qū)域服務(諸如計算資源服務提供商系統(tǒng)104)來生成,并且顯示在由用戶設備102執(zhí)行的瀏覽器應用的用戶界面內。如圖4a中所圖示,網(wǎng)絡頁面400允許用戶鍵入憑證(例如,用戶名和口令)以訪問應用。例如,用戶可在字段402中鍵入用戶名并且在字段404中鍵入口令。
url欄406指示由用戶提供的url。在實施方案中,url通過登錄過程保持不變。例如,用戶可能已經提供url<orgname>.xyzapps.com/news以便訪問由第一計算資源服務提供商系統(tǒng)104或第三方應用服務器108托管的新聞服務。然而,因為用戶仍然尚未登錄,所以第一計算資源服務提供商系統(tǒng)104或第三方應用服務器108將用戶重定向到由網(wǎng)絡頁面400表示的登錄頁面。由網(wǎng)絡頁面400表示的登錄頁面可以由與第一計算資源服務提供商系統(tǒng)104或第三方應用服務器108不同的計算資源服務提供商系統(tǒng)104(諸如與和用戶的組織對應的目錄相關聯(lián)的計算資源服務提供商系統(tǒng)104)來生成。計算資源服務提供商系統(tǒng)104和第三方應用服務器108可以位于不同區(qū)域中。因此,瀏覽器應用可能已經被從由一個區(qū)域中的主機生成的頁面重定向到由另一區(qū)域中的另一主機生成的另一頁面以完成登錄過程。瀏覽器應用可能已經基于存儲在路由服務130中的映射并且基于存儲在cdn150a或150b中的映射被如此重定向。然而,url欄406可以仍然顯示url<orgname>.xyzapps.com/news。
如圖4b中所圖示,用戶已經成功地登錄并且在網(wǎng)絡頁面450中顯示了由第一計算資源服務提供商系統(tǒng)104或第三方應用服務器108生成的新聞服務。然而,即使用戶被從網(wǎng)絡頁面400重定向到網(wǎng)絡頁面450并且因此從位于一個區(qū)域中的主機重定向到位于另一區(qū)域中的另一主機,url欄406也再次顯示相同的url。
術語
本文中所描述的所有方法和任務可以由計算機系統(tǒng)執(zhí)行并且完全自動化。計算機系統(tǒng)可以在一些情況下包括通過網(wǎng)絡進行通信和合作以執(zhí)行所描述的功能的多個不同的計算機或計算設備(例如,物理服務器、工作站、存儲陣列、云計算資源等)。每個這種計算設備通常包括執(zhí)行存儲在存儲器或其他非暫時性計算機可讀存儲介質或設備(例如,固態(tài)存儲設備、磁盤驅動器等)中的程序指令或模塊的處理器(或多個處理器)。本文中所公開的各種功能可以用此類程序指令具體實現(xiàn),和/或可以用計算機系統(tǒng)的專用電路(例如,asic或fpga)加以實現(xiàn)。在計算機系統(tǒng)包括多個計算設備的情況下,這些設備可以但未必位于一處??梢酝ㄟ^將物理存儲設備(諸如固態(tài)存儲器芯片和/或磁盤)變換成不同的狀態(tài)來持久地存儲所公開的方法和任務的結果。在一些實施方案中,計算機系統(tǒng)可以是其處理資源由多個不同的商業(yè)實體或其他用戶共享的基于云的計算系統(tǒng)。
取決于實施方案,本文中所描述的過程或算法中的任一個的某些行為、事件或功能可被按照不同的順序執(zhí)行,可被添加、合并或者一起省去(例如,并非所有描述的操作或事件是實踐算法所必需的)。而且,在某些實施方案中,可同時(例如,通過多線程處理、中斷處理或多個處理器或處理器核或者在其他并行架構上)而非順序地執(zhí)行操作或事件。
關于本文中所公開的實施方案而描述的各種說明性的邏輯塊、模塊、例行程序和算法步驟可作為電子硬件(例如,asic或fpag器件)、在通用計算機硬件上運行的計算機軟件或兩者的組合被實現(xiàn)。為了清楚地圖示硬件和軟件的這個互換性,已經根據(jù)其功能性在上面一般地描述了各種說明性的部件、塊、模塊和步驟。這種功能性是作為專用硬件還是在通用硬件上運行的軟件來實現(xiàn)取決于強加于總體系統(tǒng)的特定應用和設計約束??舍槍γ總€特定應用以變化方式實現(xiàn)所描述的功能性,但是此類實現(xiàn)決策不應該被解釋為導致脫離本公開的范圍。
而且,關于本文中所公開的實施方案而描述的各種說明性的邏輯塊和模塊可由機器來實現(xiàn)或者執(zhí)行,所述機器諸如通用處理器設備、數(shù)字信號處理器(dsp)、專用集成電路(asic)、現(xiàn)場可編程門陣列(fpga)或其他可編程邏輯設備、分立門或晶體管邏輯、分立硬件部件,或設計來執(zhí)行本文中所描述的功能的其任何組合。通用處理器設備可以是微處理器,但是在替代方案中,處理器設備可以是控制器、微控制器或狀態(tài)機、其組合等。處理器設備可包括被配置成對計算機可執(zhí)行指令進行處理的電氣電路。在另一實施方案中,處理器設備包括在不用對計算機可執(zhí)行指令進行處理的情況下執(zhí)行邏輯操作的fpga或其他可編程設備。處理器設備還可作為計算設備的組合被實現(xiàn),例如,dsp和微處理器的組合、多個微處理器、結合dsp核的一個或多個微處理器或任何其他這種配置。盡管在本文中主要相對于數(shù)字技術進行描述,然而處理器設備還可以主要包括模擬部件。例如,本文中所描述的渲染技術中的一些或全部可以用模擬電路或混合模擬和數(shù)字電路加以實現(xiàn)。計算環(huán)境可包括任何類型的計算機系統(tǒng),包括但不限于基于微處理器、主計算機、數(shù)字信號處理器、便攜式計算設備、設備控制器或器具內的計算引擎等等的計算機系統(tǒng)。
關于本文中所公開的實施方案而描述的方法、過程、例行程序或算法的元素可直接用硬件、用由處理器設備執(zhí)行的軟件模塊或者用兩者的組合具體實現(xiàn)。軟件模塊可駐留在ram存儲器、閃速存儲器、rom存儲器、eprom存儲器、eeprom存儲器、寄存器、硬盤、可移動磁盤、cd-rom或任何其他形式的非暫時性計算機可讀存儲介質中。示例性存儲介質可耦合到處理器設備,使得該處理器設備可從存儲介質讀取信息并且將信息寫入到存儲介質。在替代方案中,存儲介質可以與處理器設備成一體。處理器設備和存儲介質可駐留在asic中。asic可駐留在用戶終端中。在替代方案中,處理器設備和存儲介質可作為分立部件駐留在用戶終端中。
除非另外具體地陳述或者在如使用的上下文內以其他方式理解,否則本文中所使用的條件語言(尤其諸如“可”、“能夠”、“可能”、“可以”、“例如”等)一般地旨在傳達某些實施方案包括(然而其他實施方案不包括)某些特征、元素和/或步驟。因此,此類條件語言一般地不旨在暗示特征、元素和/或步驟無論如何是一個或多個實施方案所需要的,或者一個或多個實施方案必定包括用于在有或沒有其他輸入或提示的情況下判定這些特征、元素和/或步驟是否被包括或者將在任何特定實施方案中執(zhí)行的邏輯。術語“包括”、“包括”、“具有”等是同義的并且被以開放方式包括地使用,而不排除附加的元素、特征、行為、操作等。另外,術語“或”在其包括性意義上(而不在其排他性意義上)使用,使得當被使用時,例如,為了連接元素的列表,術語“或”意指該列表中的元素中的一個、一些或全部。
諸如短語“x、y、z中的至少一個”的析取語言除非另外具體地陳述,否則以其他方式與如一般而言使用的上下文一起理解為呈現(xiàn)項目、項等可以是x、y或z,或其任何組合(例如,x、y和/或z)。因此,此類析取語言一般地不旨在并且不應該暗示某些實施方案要求x中的至少一個、y中的至少一個或z中的至少一個每個存在。
雖然以上詳細描述已經示出、描述并指出了如應用于各種實施方案的新穎特征,但是可理解的是,可在不脫離本公開的精神的情況下做出所圖示的設備或算法的形式和細節(jié)上的各種省略、取代和改變。如可識別的,可在不提供本文中所闡述的所有特征和好處的形式內具體實現(xiàn)本文中所描述的某些實施方案,因為可獨立于其他特征使用或者實踐一些特征。本文中所公開的某些實施方案的范圍由所附權利要求而不是由上述描述來指示。落入權利要求的等效物的意義和范圍內的所有改變將被包含在它們的范圍內。
可鑒于以下條款描述本公開的實施方案:
1.一種系統(tǒng),所述系統(tǒng)包括:
路由服務系統(tǒng),所述路由服務系統(tǒng)被配置成確定從網(wǎng)絡中的一個計算設備到另一計算設備的路由;以及
包括一個或多個計算設備的應用服務器,所述應用服務器與多個內容遞送網(wǎng)絡通信并且被編程為實現(xiàn):
網(wǎng)絡接口,所述網(wǎng)絡接口被配置成從用戶設備接收用于經由與組織名稱相關聯(lián)的內容頁面訪問應用的請求,其中多個目錄與所述組織名稱相關聯(lián),并且其中所述多個目錄中的每個目錄位于多個區(qū)域中的單獨的區(qū)域中,
其中所述網(wǎng)絡接口還被配置成從所述用戶設備接收用戶憑證,其中所述用戶憑證與所述多個目錄中的第一目錄相關聯(lián);以及
目錄標識符模塊,所述目錄標識符模塊被配置成基于存儲在所述路由服務系統(tǒng)中的與所述組織名稱相關聯(lián)的數(shù)據(jù)在所述多個區(qū)域中確定所述第一目錄位于的區(qū)域,
其中所述網(wǎng)絡接口還被配置成將所述用戶憑證發(fā)送到所述確定的區(qū)域中的服務以用于認證,以及
其中所述網(wǎng)絡接口還被配置成從所述確定的區(qū)域中的所述服務接收所述認證的結果。
2.根據(jù)條款1所述的系統(tǒng),其中所述確定的區(qū)域中的所述服務被配置成:
確定所述第一目錄在所述確定的區(qū)域中的位置;以及
將所述用戶憑證發(fā)送到所述第一目錄在所述確定的區(qū)域中的所述位置。
3.根據(jù)條款1所述的系統(tǒng),其中所述路由服務系統(tǒng)包括所述組織名稱與域名系統(tǒng)(dns)條目之間的映射。
4.根據(jù)條款3所述的系統(tǒng),其中所述路由服務系統(tǒng)包括所述dns條目與和所述服務通信的內容遞送網(wǎng)絡之間的映射。
5.根據(jù)條款1所述的系統(tǒng),其中所述網(wǎng)絡接口還被配置成從第二用戶設備接收用于經由與所述組織名稱相關聯(lián)的所述內容頁面訪問所述應用的請求,并且其中所述網(wǎng)絡接口還被配置成從所述第二用戶設備接收第二用戶憑證,并且其中所述第二用戶憑證與所述多個目錄中的第二目錄相關聯(lián)。
6.根據(jù)條款5所述的系統(tǒng),其中所述目錄標識符模塊還被配置成基于存儲在所述路由服務系統(tǒng)中的與所述組織名稱相關聯(lián)的所述數(shù)據(jù)在所述多個區(qū)域中確定所述第二目錄位于的第二區(qū)域,并且其中所述網(wǎng)絡接口還被配置成將所述第二用戶憑證發(fā)送到所述確定的第二區(qū)域中的第二服務以用于認證。
7.根據(jù)條款1所述的系統(tǒng),其中所述用戶憑證包括由所述第一目錄管理的用戶名和口令。
8.根據(jù)條款1所述的系統(tǒng),其中所述網(wǎng)絡接口還被配置成將第二用戶憑證發(fā)送到所述確定的區(qū)域中的所述服務以用于認證,并且其中所述網(wǎng)絡接口還被配置成接收所述第二用戶憑證的所述認證的結果。
9.一種針對管理一個或多個目錄對管理員進行認證的計算機實現(xiàn)的方法,所述方法包括:
當由包括一個或多個計算設備的應用服務器實現(xiàn)時,所述應用服務器被配置有特定可執(zhí)行指令,
從用戶設備接收用于經由與組織名稱相關聯(lián)的內容頁面訪問應用的請求,其中多個目錄與所述組織名稱相關聯(lián),并且其中所述多個目錄中的至少一些位于與其他的不同的地理區(qū)域中;
從所述用戶設備接收用戶憑證,其中所述用戶憑證與所述多個目錄中的第一目錄相關聯(lián);
基于由網(wǎng)絡路由服務提供的信息確定所述第一目錄位于的第一地理區(qū)域;
將所述用戶憑證發(fā)送到所述第一地理區(qū)域中的服務以用于利用所述第一目錄進行認證;以及
從所述第一地理區(qū)域中的所述服務接收所述認證的結果。
10.根據(jù)條款9所述的計算機實現(xiàn)的方法,其中所述第一地理區(qū)域中的所述服務通過將所述用戶憑證發(fā)送到所述第一目錄在所述第一地理區(qū)域中的位置來確定所述認證的所述結果。
11.根據(jù)條款9所述的計算機實現(xiàn)的方法,其中所述網(wǎng)絡路由服務提供所述組織名稱與域名系統(tǒng)(dns)條目之間的映射。
12.根據(jù)條款11所述的計算機實現(xiàn)的方法,其中所述網(wǎng)絡路由服務還提供所述dns條目與和所述第一地理區(qū)域中的所述服務通信的內容遞送網(wǎng)絡之間的映射。
13.根據(jù)條款12所述的計算機實現(xiàn)的方法,其中確定第一地理區(qū)域包括查詢與所述dns條目相關聯(lián)的所述內容遞送網(wǎng)絡。
14.根據(jù)條款9所述的計算機實現(xiàn)的方法,其還包括:
從第二用戶設備接收用于經由與所述組織名稱相關聯(lián)的所述內容頁面訪問所述應用的請求;以及
從所述第二用戶設備接收第二用戶憑證,其中所述第二用戶憑證與所述多個目錄中的第二目錄相關聯(lián)。
15.根據(jù)條款13所述的計算機實現(xiàn)的方法,其還包括:
基于由所述網(wǎng)絡路由服務提供的信息確定所述第二目錄位于的第二地理區(qū)域;以及
將所述第二用戶憑證發(fā)送到所述第二地理區(qū)域中的第二服務以用于利用所述第二目錄進行認證。
16.根據(jù)條款9所述的計算機實現(xiàn)的方法,其中所述用戶憑證包括由所述第一目錄管理的用戶名和口令。
17.根據(jù)條款9所述的計算機實現(xiàn)的方法,其還包括:
將第二用戶憑證發(fā)送到所述第一地理區(qū)域中的所述服務以用于利用所述第一目錄進行認證;以及
從所述第一地理區(qū)域中的所述服務接收所述第二用戶憑證的所述認證的結果。
18.一種包括非暫時性存儲設備的非暫時性計算機存儲系統(tǒng),所述計算機存儲系統(tǒng)已經在其上存儲了可執(zhí)行程序指令,所述可執(zhí)行程序指令引導計算機系統(tǒng)以至少:
從用戶設備接收用于經由與組織名稱相關聯(lián)的內容頁面訪問應用的請求,其中多個目錄與所述組織名稱相關聯(lián),并且其中所述多個目錄中的至少一些位于與其他的不同的地理區(qū)域中;
從所述用戶設備接收用戶憑證,其中所述用戶憑證與所述多個目錄中的第一目錄相關聯(lián);
基于由網(wǎng)絡路由服務提供的信息確定所述第一目錄位于的第一地理區(qū)域;以及
將所述用戶憑證發(fā)送到所述第一目錄以便確定所述用戶憑證是否可被所述第一目錄認證。
19.根據(jù)條款18所述的非暫時性計算機存儲系統(tǒng),其中所述可執(zhí)行程序指令還引導所述計算機系統(tǒng)以至少:
經由所述第一地理區(qū)域中的服務將所述用戶憑證發(fā)送到所述第一目錄;以及
從所述第一地理區(qū)域中的所述服務接收所述認證的結果。
20.根據(jù)條款18所述的非暫時性計算機存儲系統(tǒng),其中所述網(wǎng)絡路由服務提供所述組織名稱與互聯(lián)網(wǎng)協(xié)議(ip)地址的映射。
21.根據(jù)條款20所述的非暫時性計算機存儲系統(tǒng),其中所述網(wǎng)絡路由服務還提供所述(ip)地址與內容遞送網(wǎng)絡的地址之間的映射。
22.根據(jù)條款21所述的非暫時性計算機存儲系統(tǒng),其中所述可執(zhí)行程序指令還指導所述計算機系統(tǒng)以至少查詢所述網(wǎng)絡路由服務以標識所述內容遞送網(wǎng)絡的所述地址。
23.根據(jù)條款18所述的非暫時性計算機存儲系統(tǒng),其中所述可執(zhí)行程序指令還引導所述計算機系統(tǒng)以至少:
從第二用戶設備接收用于經由與所述組織名稱相關聯(lián)的所述內容頁面訪問所述應用的請求;
從所述第二用戶設備接收第二用戶憑證,其中所述第二用戶憑證與所述多個目錄中的第二目錄相關聯(lián);
基于由所述網(wǎng)絡路由服務提供的信息確定所述第二目錄位于的第二地理區(qū)域;以及
將所述第二用戶憑證發(fā)送到所述第二地理區(qū)域中的第二服務以便確定所述第二用戶憑證是否可被所述第二目錄認證。
24.根據(jù)條款18所述的非暫時性計算機存儲系統(tǒng),其中所述用戶憑證包括由所述第一目錄管理的用戶名和口令。
根據(jù)條款18所述的非暫時性計算機存儲系統(tǒng),其中所述可執(zhí)行程序指令還引導所述計算機系統(tǒng)以至少向所述第一目錄發(fā)送第二用戶憑證以便確定所述第二用戶憑證是否可被所述第一目錄認證。