本申請涉及計算機技術領域,特別是涉及一種采用外部賬戶操作資源的方法和裝置。
背景技術:
在云計算場景中,某個用戶如果在云計算場景所處的平臺中申請了一個內(nèi)部主賬戶,然后基于該內(nèi)部主賬戶向平臺購買了一系列的云資源,就需要對該云資源進行管理。在實際中,可能由于該用戶自己沒有時間或者相應技術對該內(nèi)部主賬戶的各種云資源進行管理,或者不同的云資源需要給不同的資源代管人員管理,該用戶會找其他具備時間以及相應技術的人員去管理該內(nèi)部主賬戶中的云資源。
而為了實現(xiàn)其他資源代管人員對這些內(nèi)部主賬戶的云資源進行代管,而又不想將內(nèi)部主賬戶的賬戶名和密碼告知資源代管人員,保證內(nèi)部主賬戶的安全性,在先技術中,設計一套主從賬戶系統(tǒng),在同一個平臺內(nèi)部,允許在內(nèi)部主賬戶的框架下,創(chuàng)建子賬戶,該子賬戶具備用戶名和密碼,然后將該子賬戶交給相應資源代管人員使用。
但是,上述在先技術的過程,操作權限限定在了一個平臺內(nèi)部,并且進一步限定在了一個內(nèi)部主賬戶的子賬戶中,其應用不夠靈活。特別是對于一些外包的應用環(huán)境,比如一個資源代管人員同時接了多個用戶的云資源管理業(yè)務,其需要記憶多個子賬戶的賬戶名和密碼,那么對于該資源代管人員來說,登錄時需要找到對應內(nèi)部主賬戶的子賬戶的賬戶名和密碼,其記憶負擔大,不能統(tǒng)一管理。
技術實現(xiàn)要素:
鑒于上述問題,提出了本申請實施例以便提供一種克服上述問題或者至少部分地解決上述問題的一種采用外部賬戶操作資源的方法和相應的一種采用外部賬戶操作資源的裝置。
為了解決上述問題,本申請公開了一種采用外部賬戶操作資源的方法,包括:
通過外部賬戶所在的服務器對外部賬戶進行身份驗證;
如果對所述外部賬戶的身份驗證通過,則查詢與所述外部賬戶綁定的虛擬子賬戶;其中,每個虛擬子賬戶從屬于當前平臺的一個內(nèi)部主賬戶;
在確認所述外部賬戶所綁定的一個虛擬子賬戶之后,允許所述外部賬戶基于針對所述虛擬子賬戶預先配置的權限對所述內(nèi)部主賬戶的資源進行操作。
本申請還公開了一種采用外部賬戶操作資源的裝置,包括:
身份驗證模塊,用于通過外部賬戶所在的服務器對外部賬戶進行身份驗證;
虛擬子賬戶查詢模塊,用于如果對所述外部賬戶的身份驗證通過,則查詢與所述外部賬戶綁定的虛擬子賬戶;其中,每個虛擬子賬戶從屬于當前平臺的一個內(nèi)部主賬戶;
資源操作模塊,用于在確認所述外部賬戶所綁定的一個虛擬子賬戶之后,允許所述外部賬戶基于針對所述虛擬子賬戶預先配置的權限對所述內(nèi)部主賬戶的資源進行操作。
與背景技術相比,本申請實施例包括以下優(yōu)點:
本申請實施例對于當前平臺的任意一個內(nèi)部主賬戶,均可以由該內(nèi)部主賬戶的用戶在其中設置虛擬子賬戶,該虛擬子賬戶不對外展示,該虛擬子賬戶可以與一個外部賬戶綁定。當該外部賬戶的資源代管人員想要操作上述內(nèi)部主賬戶的云資源時,可以通過外部賬戶所在服務器對該外部賬戶進行身份驗證,如果該外部賬戶身份驗證通過,資源代管人員則可以通過該外部賬戶與該內(nèi)部主賬戶的虛擬子賬戶的綁定關系,基于針對該虛擬子賬戶預先配置的權限對該內(nèi)部主賬戶的資源進行操作。那么,對于某個資源代管人員來說,其只要將其慣用的某個服務器的外部賬戶提供給內(nèi)部主賬戶的用戶,由該內(nèi)部主賬戶的用戶創(chuàng)建一個虛擬子賬戶與該外部賬戶綁定即可,那么該資源代管人員可以采用一個統(tǒng)一的外部賬戶,同時關聯(lián)多個內(nèi)部主賬戶,從而能夠操作各個內(nèi)部主賬戶的資源,降低該資源代管人員的記憶負擔,并且使操作對象的配置更靈活。
附圖說明
圖1是本申請的一種采用外部賬戶操作資源方法實施例的步驟流程圖;
圖2是本申請的另一種采用外部賬戶操作資源方法實施例的步驟流程圖;
圖3是本申請的另一種采用外部賬戶操作資源方法實施例的步驟流程圖;
圖4是本申請的本申請的一種采用外部賬戶操作資源裝置實施例的結構框圖;
圖5是本申請的本申請的另一種采用外部賬戶操作資源裝置實施例的結構框圖;
圖6是本申請的本申請的另一種采用外部賬戶操作資源裝置實施例的結構框圖。
具體實施方式
下面將結合本申請實施例中的附圖,對本申請實施例中的技術方案進行清楚、完整地描述,顯然,所描述的實施例僅僅是本申請一部分實施例,而不是全部的實施例?;诒旧暾堉械膶嵤├?,本領域普通技術人員所獲得的所有其他實施例,都屬于本申請保護的范圍。
本申請的核心思想之一在于,由于在先技術只能通過內(nèi)部主賬戶內(nèi)部創(chuàng)建一個具備賬戶名和密碼的子賬戶,以將該子賬戶提供給負責管理當前平臺中該內(nèi)部主賬戶名下的資源,使在內(nèi)部主賬戶的資源管理被外包的應用環(huán)境下,某個資源代管人員如果代為管理了多個內(nèi)部主賬戶名下的資源,則可以將其慣用的某個服務器下的外部賬戶提供給這幾個內(nèi)部主賬戶的用戶,由上述內(nèi)部主賬戶的用戶將該外部賬戶綁定到自己的虛擬子賬戶中,然后該資源代管人員在當前平臺登錄時,由外部賬戶所在服務器提供外部賬戶的身份驗證,驗證通過后,那么對于一個內(nèi)部主賬戶,資源代管人員即可通過與該內(nèi)部主賬戶下的虛擬子賬戶,基于針對該虛擬子賬戶預先配置的權限對該內(nèi)部主賬戶的資源進行操作。因此,對于該資源代管人員來說,其能夠以一個常用的外部賬戶就能夠?qū)Ξ斍捌脚_的多個內(nèi)部賬戶的資源進行操作,減少了該資源代管人員的記憶負擔。并且上述方式,使當前平臺的內(nèi)部賬戶的資源的操作對象的設置更靈活,應用更廣泛。
實施例一
參照圖1,其示出了本申請的一種采用外部賬戶操作資源的方法實施例的步驟流程圖,具體可以包括如下步驟:
步驟110,通過外部賬戶所在的服務器對外部賬戶進行身份驗證;
在本申請實施例中,涉及客戶端、當前平臺和外部賬戶所在服務器的架構。當然外部賬戶的服務器可以為多種服務器。例如,當前平臺如阿里云平臺,在阿里云平臺中的賬戶為內(nèi)部主賬戶,比如alice@aliyun.com為當前平臺中的內(nèi)部主賬戶;外部賬戶所在服務器為當前平臺之外的服務器,比如新浪網(wǎng)站的服務器、網(wǎng)易網(wǎng)站的服務器、騰訊網(wǎng)站的服務器等,比如bob@sina.com為新浪網(wǎng)站的服務器中的外部賬戶。外部賬戶所在的服務器能夠以其自身現(xiàn)存的賬戶系統(tǒng)為當前平臺提供外部賬戶的身份驗證流程。
那么當外部賬戶的擁有者,如前述的管理人員,想要在當前平臺如阿里云平臺中操作其內(nèi)部主賬戶下的資源時,則首先需要基于客戶端和當前平臺、然后通過外部賬戶所在的服務器對外部賬戶進行身份驗證。如果對該外部賬戶的身份驗證通過,則進入步驟120。
如果對該外部賬戶的身份驗證未通過,表示外部賬戶登錄失敗,則結束流程。當然,身份驗證未通過后,可在客戶端中提示外部賬戶登錄失敗原因。比如外部賬戶所在服務器的簽名不正確等。
在本申請實施例中,以bob@sina.com的擁有者想對alice@aliyun.com的資源進行操作為例。該擁有者可在其客戶端中訪問阿里云平臺的登錄頁面,然后通過該登錄頁面的觸發(fā)接口向新浪網(wǎng)站的服務器發(fā)起身份驗證請求;
新浪網(wǎng)站服務器根據(jù)該身份驗證請求向客戶端提供賬戶輸入頁面,該擁有者可在客戶端中展示的該賬戶輸入頁面輸入賬戶名bob@sina.com和密碼123456,然后點擊確認;
新浪網(wǎng)站的服務器則針對賬戶名bob@sina.com和密碼123456進行內(nèi)部驗證,驗證是否有賬戶名bob@sina.com,并在驗證存在bob@sina.com之后驗證bob@sina.com的密碼是否正確,如果賬戶名和密碼都驗證通過,則返回身份驗證結果至阿里云平臺;
阿里云平臺則對新浪網(wǎng)站的服務器返回的身份驗證結果進行解析,如果該身份驗證結果表示bob@sina.com驗證通過,則進入步驟120。
在本申請的一種優(yōu)選實施例中,步驟110可以包括如下子步驟:
子步驟A111,向外部賬戶所在服務器發(fā)起針對外部賬戶的身份驗證請求;
以前述阿里云平臺的內(nèi)部主賬戶alice@aliyun.com和新浪網(wǎng)站的服務器的外部賬戶bob@sina.com為例。
外部賬戶bob@sina.com的擁有者,在客戶端打開阿里云平臺的登錄頁面后,想要對alice@aliyun.com的資源進行操作時,需要先通過阿里云平臺的登錄頁面向新浪網(wǎng)站的服務器發(fā)起身份驗證請求。
新浪網(wǎng)站的服務器接收到該身份驗證請求后,為擁有者的客戶端提供賬戶輸入頁面,該擁有者可在客戶端中展示的該賬戶輸入頁面中輸入賬戶名bob@sina.com和其密碼123456。
新浪網(wǎng)站的服務器驗證存在賬戶名bob@sina.com和其密碼123456后,生成針對bob@sina.com的身份驗證結果,該身份驗證結果包括外部賬戶bob@sina.com,外部賬戶所在服務器的服務器簽名,在本申請實施例中為新浪網(wǎng)站服務器的服務器簽名。然后,新浪網(wǎng)站服務器返回該身份驗證結構之阿里云平臺。
當然,該身份驗證結果還可包括其他內(nèi)容,本申請不對其加以限制。
其中,上述的客戶端可以為瀏覽器,當然也可以為其他的客戶端,本申請實施例不對其加以限制。
子步驟A112,認證所述外部賬戶所在服務器返回的身份驗證結果中的服務器簽名;如果所述服務器簽名認證通過,則進入步驟A113。
在阿里云平臺接收到上述身份驗證結果之后,則對該身份驗證結果中的服務器簽名進行認證,如果服務器簽名認證成功,表示bob@sina.com是新浪認證通過的外部賬戶,是可信的,可以進入子步驟A113。如果服務器簽名認證未通過,則bob@sina.com可能是仿冒的外部賬戶,存在風險,則拒絕該外部賬戶bob@sina.com的登錄。
可以理解,在本申請實施例中,不同身份驗證協(xié)議下的服務器簽名的認證過程不同:
比如對于SAML協(xié)議,對于當前平臺可預先獲取各種外部賬戶所在服務器的公鑰,在接收到上述身份驗證結果后,直接提取該相應外部賬戶所在服務器的公鑰對該身份驗證結果中的服務器簽名進行認證。
對于OpenID協(xié)議,服務器簽名的認證過程與SAML協(xié)議的認證過程類似。
對于OAuth協(xié)議,可以從上述身份驗證結果中提取出服務器簽名,然后發(fā)送到相應的外部賬戶所在服務器,通知該服務器對該簽名進行認證,并返回安全令牌給當前平臺。當前平臺接收到安全令牌之后,則認為該服務器簽名認證通過。
子步驟A113,確定所述身份驗證結果中的外部賬戶通過驗證。
對于真實的由外部賬戶所在服務器認證通過的身份驗證結果,本申請實施例則可確認該驗證結果中的外部賬戶通過驗證。如前述bob@sina.com,本申請實施例的阿里云平臺則認可bob@sina.com可以進入后續(xù)流程。
在本申請的一種優(yōu)選實施例中,步驟110可以包括如下子步驟:
子步驟A115,采用身份驗證協(xié)議通過外部賬戶所在的服務器對外部賬戶進行身份驗證;所述身份驗證協(xié)議包括:OAuth協(xié)議、或OpenID協(xié)議、或SAML協(xié)議。
在本申請實施例中,預先會在客戶端、當前平臺和外部賬戶所在的服務器之間設置一個身份驗證協(xié)議,使客戶端可以經(jīng)由當前平臺,通過外部賬戶所在的服務器對外部賬戶進行身份驗證。
在本申請實施例中,身份驗證協(xié)議可以采用OAuth協(xié)議、或SAML協(xié)議、或OpenID協(xié)議中的一種或者多種。比如客戶端、阿里云平臺和新浪網(wǎng)站服務器之間采用OAuth協(xié)議,客戶端、阿里云平臺和網(wǎng)易網(wǎng)站服務器之間采用OpenID協(xié)議,客戶端、阿里云平臺和網(wǎng)易網(wǎng)站服務器之間采用SAML協(xié)議。當然,具體的采用情況可以根據(jù)實際需求選擇。
可以理解,實際應用中,還可采用上述身份驗證協(xié)議之外的其他身份驗 證協(xié)議,本申請不對其加以限制。
其中,OAuth(Open Authorization,開放授權)協(xié)議為用戶資源的授權提供了一個安全的、開放而又簡易的標準,OAuth協(xié)議的授權不會使第三方觸及到用戶的帳號信息(如用戶名與密碼),即第三方無需使用用戶的用戶名與密碼就可以申請獲得該用戶資源的授權)。
在本申請實施例中,前述擁有者的客戶端作為OAuth協(xié)議中的Client,阿里云平臺作為OAuth協(xié)議中接入方,外部賬戶所在服務器作為OAuth協(xié)議中的AS(authorization server,授權服務器),客戶端向當前平臺發(fā)起授權請求,然后當前平臺跳轉至外部賬戶所在服務器,客戶端在外部賬戶所在服務器輸入外部賬戶名和密碼后,進行驗證,驗證通過后跳轉至當前平臺,然后即可執(zhí)行后續(xù)操作。
SAML(Security Assertion Markup Language,安全斷言標記語言)協(xié)議是一個基于XML的標準,用于在不同的安全域(security domain)之間交換認證和授權數(shù)據(jù)。
在本申請實施例中,擁有者的客戶端作為SAML協(xié)議中的Subject(主體),當前平臺作為SAML協(xié)議中的RelyingParty(信任方),外部賬戶所在服務器作為SAML協(xié)議中AssertingParty(斷言方)??蛻舳丝上虍斍捌脚_發(fā)起授權訪問請求,然后當前平臺將該請求重定向至外部賬戶所在服務器,外部賬戶所在服務器外部賬戶進行驗證,驗證通過后,再重定向至當前平臺,然后即可進行后續(xù)過程。
OpenID協(xié)議是一個以用戶為中心的數(shù)字身份識別框架,它具有開放、分散性。
在本申請實施例中,客戶端作為OpenID協(xié)議中的User-agent(用戶代理),外部賬戶所在服務器作為OpenID協(xié)議中的OP(Identity provider or OpenID provider,為OpenID提供者),當前平臺作為OpenID協(xié)議中的RP(Relying party,依賴方),外部賬戶需要預先在外部賬戶所在服務器的OP系統(tǒng)中注冊一個唯一的ID,然后當前平臺的登錄頁面中提供OP的登錄接口,擁有者在客戶端中點擊OP登錄接口后,跳轉至外部賬戶所在服務器,然后 擁有者可以輸入外部賬戶名和密碼,進行驗證,驗證通過后,外部賬戶所在服務器可以將驗證結果返回給當前平臺。
在本申請的一種優(yōu)選實施例中,步驟110之前還可以包括如下步驟:
步驟102,在內(nèi)部主賬戶中創(chuàng)建一個虛擬子賬戶;所述內(nèi)部主賬戶具有用戶名和密碼,所述虛擬子賬戶無采用外部賬戶操作資源密碼;
在本申請實施例中,當前平臺的內(nèi)部主賬戶的用戶,可以預先創(chuàng)建一個虛擬子賬戶virtual_user,該virtual_user不用登陸密碼,不用對外進行展示,比如前述內(nèi)部賬戶alice@aliyun.com,其密碼為111111,alice@aliyun.com的用戶可以當前平臺中,該alice@aliyun.com賬戶空間內(nèi)部,創(chuàng)建一個虛擬子賬戶virtual_user。
步驟103,對所述虛擬子賬戶賦予對內(nèi)部主賬戶的資源進行操作的操作權限;
在實際應用中,一個內(nèi)部主賬戶中可能有不同的資源,分布在不同的文件夾中,有些資源不能暴露給外部的資源代管人員,那么可以對這些不同文件夾中的資源設置操作權限,比如設置虛擬子賬戶能夠操作的文件夾范圍,操作的類型等。其中操作的類型如只可讀、或者只可寫、或者即可讀也可寫。
步驟104,將虛擬子賬戶與一外部賬戶綁定。
對于創(chuàng)建的虛擬子賬戶,則可以與用戶選擇的資源代管人員的外部賬戶進行綁定。比如前述用戶選擇了bob@sina.com,則可將alice@aliyun.com中的virtual_user與bob@sina.com進行綁定。
當然,本申請實施例中,對于一個外部賬戶,可能有多個內(nèi)部主賬戶的虛擬子賬戶與其進行綁定。比如bob@sina.com,還被tom@aliyun.com的虛擬子賬戶進行了綁定。
當然,在本申請實施例中,每個內(nèi)部主賬戶中可以創(chuàng)建多個虛擬子賬戶,每個虛擬子賬戶綁定一個不同的外部賬戶。
在本申請的一種優(yōu)選實施例中,步驟104之后還可以包括如下步驟:
步驟105,在內(nèi)部主賬戶中,修改所述虛擬子賬戶當前的操作權限。
在本申請實施例中,為了方便內(nèi)部主賬戶的用戶對其內(nèi)部資源的控制, 以及方便其對外部賬戶所操作的資源的控制,內(nèi)部主賬戶的用戶可以采用該內(nèi)部主賬戶登錄當前平臺,然后在該內(nèi)部主賬戶的空間中,對其想要控制的某個外部賬戶所綁定的虛擬子賬戶對其資源的操作權限。
需要說明的是,本申請實施例提及的內(nèi)部賬戶的資源,可以為任意數(shù)據(jù),比如統(tǒng)計數(shù)據(jù),視頻、文檔等。
在本申請的一種優(yōu)選實施例中,步驟104之后還可以包括如下步驟:
步驟106,將與所述虛擬子賬戶綁定的當前外部賬戶,修改為另外一個外部賬戶。
在本申請實施例中,對于某個內(nèi)部主賬戶來說,其某個虛擬子賬戶綁定的外部賬戶的資源代管人員請假,或者該內(nèi)部主賬戶的用戶想采用其他的資源代管人員替換該資源代管人員對其資源進行操作。那么該內(nèi)部主賬戶的用戶能以內(nèi)部主賬戶的用戶名和密碼登錄當前平臺,然后在內(nèi)部主賬戶的空間中將上述虛擬子賬戶綁定的外部賬戶修改為其他的外部賬戶。
步驟120,如果對所述外部賬戶的身份驗證通過,則查詢與所述外部賬戶綁定的虛擬子賬戶;其中,每個虛擬子賬戶從屬于當前平臺的一個內(nèi)部主賬戶;
在本申請實施例中,當前平臺記錄了{內(nèi)部主賬戶,虛擬子賬戶,外部賬戶},三者之間的一一對應關系,然后對于通過驗證的外部賬戶,則在當前平臺中查詢是否有與該外部賬戶對應的上述對應關系。如果有多個,則可提供給資源代管人員進行確定。比如bob@sina.com,分別綁定了alice@aliyun.com和tom@aliyun.com的虛擬子賬戶,則提示給資源代管人員進行確定哪一個內(nèi)部主賬戶。
如果只有一個,可提供給資源代管人員進行確定,也可直接確定與該外部賬戶所綁定的虛擬子賬戶。
步驟130,在確認所述外部賬戶所綁定的一個虛擬子賬戶之后,允許所述外部賬戶基于針對所述虛擬子賬戶預先配置的權限對所述內(nèi)部主賬戶的資源進行操作。
在資源代管人員確定與外部賬戶綁定的一個虛擬子賬戶之后,也可以理 解為,資源代管人員確定與外部賬戶綁定的內(nèi)部主賬戶之后,當前平臺則允許資源代管人員在其客戶端中,通過上述外部賬戶,基于針對上述虛擬子賬戶預先配置的權限對上述內(nèi)部主賬戶的資源進行操作。
在本申請實施例中,上述虛擬子賬戶僅僅是一個權限身份,其不對外顯示,進而也不會在客戶端中提供虛擬子賬戶的輸入接口。虛擬子賬戶不需要外部賬號的密碼,其本身也沒有登錄密碼。并且,由于本申請實施例不會在客戶端中提供虛擬子賬戶的輸入接口,無法單獨以虛擬子賬戶進行登錄,如果需要登錄以對內(nèi)部主賬戶的資源進行操作,必須通過將虛擬子賬戶綁定外部賬號,然后通過外部賬號才可以登錄,從而操作內(nèi)部主賬戶的資源。
本申請實施例對于當前平臺的任意一個內(nèi)部主賬戶,均可以由該內(nèi)部主賬戶的用戶在其中設置虛擬子賬戶,該虛擬子賬戶不對外展示,該虛擬子賬戶可以與一個外部賬戶綁定。當該外部賬戶的資源代管人員想要操作上述內(nèi)部主賬戶的云資源時,可以通過外部賬戶所在服務器對該外部賬戶進行身份驗證,如果該外部賬戶身份驗證通過,資源代管人員則可以通過該外部賬戶與該內(nèi)部主賬戶的虛擬子賬戶的綁定關系,基于針對該虛擬子賬戶預先配置的權限對該內(nèi)部主賬戶的資源進行操作。那么,對于某個資源代管人員來說,其只要將其慣用的某個服務器的外部賬戶提供給內(nèi)部主賬戶的用戶,由該內(nèi)部主賬戶的用戶創(chuàng)建一個虛擬子賬戶與該外部賬戶綁定即可,那么該資源代管人員可以采用一個統(tǒng)一的外部賬戶,同時關聯(lián)多個內(nèi)部主賬戶,從而能夠操作各個內(nèi)部主賬戶的資源,降低該資源代管人員的記憶負擔,并且使操作對象的配置更靈活。
實施例二
參照圖2,在實施例一的基礎之上,本申請?zhí)峁┝肆硪环N采用外部賬戶操作資源的方法實施例的步驟流程圖,具體可以包括如下步驟:
步驟210,通過外部賬戶所在的服務器對外部賬戶進行身份驗證;
步驟220,如果對所述外部賬戶的身份驗證通過,則查詢所有內(nèi)部主賬戶下的虛擬子賬戶是否有與所述外部賬戶綁定;其中,每個虛擬子賬戶從屬于當前平臺的一個內(nèi)部主賬戶;
比如,對于外部賬戶bob@sina.com,則查當前平臺中所有的內(nèi)部主賬戶中是否有與該bob@sina.com綁定的虛擬子賬戶。如果有,則可以彈出提示框,將所有與該bob@sina.com綁定的虛擬子賬戶所屬的內(nèi)部主賬戶名稱在提示框中進行展示,提供給用戶選擇。當用戶選擇了某個內(nèi)部名稱后,即確定了bob@sina.com綁定的虛擬子賬戶,進入步驟230。
步驟230,在確認所述外部賬戶所綁定的一個虛擬子賬戶之后,允許所述外部賬戶基于針對所述虛擬子賬戶預先配置的權限對所述內(nèi)部主賬戶的資源進行操作。
在本申請實施例中,資源代管人員可以不用預先確定到底針對哪一個內(nèi)部主賬戶的資源進行操作,直接向其外部賬戶所在的服務器發(fā)起針對外部賬戶的身份驗證請求,然后接收外部賬戶所在的服務器返回的身份驗證結果,在當前平臺確定該身份驗證結果的出處可信之后,查找所有與該外部賬戶對應的{內(nèi)部主賬戶,虛擬子賬戶,外部賬戶}對應關系,然后在客戶端中彈出展示框,將各個內(nèi)部主賬戶提供給資源代管人員進行選擇。用戶選擇了其中一個內(nèi)部主賬戶之后,即確認該外部賬戶所綁定的一個虛擬子賬戶。如果未查詢到任意一個上述對應關系,則提示用戶沒有與該外部賬戶綁定的內(nèi)部主賬戶。本申請實施例不用用戶預先去輸入其需要操作的內(nèi)部主賬戶名稱,直接通過當前平臺跳轉到外部賬戶所在的服務器進行身份驗證,然后當前平臺可以直接將與該外部賬戶綁定的虛擬子賬戶提供給用戶選擇,因而可以節(jié)省外部賬戶的用戶的操作。
實施例三
參照圖3,在實施例一的基礎之上,本申請?zhí)峁┝肆硪环N采用外部賬戶操作資源的方法實施例的步驟流程圖,具體可以包括如下步驟:
步驟310,確定目標內(nèi)部主賬戶;
用戶可以預先在當前平臺的登錄頁面輸入目標內(nèi)部主賬戶的名稱,比如在登錄頁面輸入alice@aliyun.com,然后點擊身份認證接口,跳轉到步驟320。
步驟320,通過外部賬戶所在的服務器對外部賬戶進行身份驗證;
步驟330,如果對所述外部賬戶的身份驗證通過,則查詢目標內(nèi)部主賬戶下的虛擬子賬戶是否有與所述外部賬戶綁定;其中,每個虛擬子賬戶從屬于當前平臺的一個內(nèi)部主賬戶;
比如對外部賬戶bob@sina.com身份驗證通過,本申請實施例則可以直接查詢alice@aliyun.com的某個虛擬子賬戶是否與bob@sina.com綁定。如果alice@aliyun.com有某個虛擬子賬戶與bob@sina.com綁定,則確認所述外部賬戶所綁定的一個虛擬子賬戶,進入步驟340。
步驟340,在確認所述外部賬戶所綁定的一個虛擬子賬戶之后,允許所述外部賬戶基于針對所述虛擬子賬戶預先配置的權限對所述內(nèi)部主賬戶的資源進行操作。
在本申請實施例中,資源代管人員可以預先確定到底針對哪一個內(nèi)部主賬戶的資源進行操作,比如直接確定alice@aliyun.com。然后向其外部賬戶所在的服務器發(fā)起針對外部賬戶的身份驗證請求,然后接收外部賬戶所在的服務器返回的身份驗證結果,在當前平臺確定該身份驗證結果的出處可信之后,查找與alice@aliyun.com對應的{內(nèi)部主賬戶,虛擬子賬戶,外部賬戶}對應關系,如果查找到,則直接確認所述外部賬戶所綁定的一個虛擬子賬戶。如果未查詢到上述對應關系,則提示用戶沒有與該外部賬戶綁定的內(nèi)部主賬戶。本申請實施例由于可以預先確定目標內(nèi)部主賬戶,在外部賬戶的身份驗證通過之后,可以有目的性的去查詢該外部賬戶是否與目標內(nèi)部賬戶的某個虛擬子賬戶綁定,其處理速度快,節(jié)省系統(tǒng)資源。
實施例四
參照圖4,其示出了本申請的一種采用外部賬戶操作資源的裝置實施例的結構框圖,具體可以包括如下模塊:
身份驗證模塊410,用于通過外部賬戶所在的服務器對外部賬戶進行身份驗證;
虛擬子賬戶查詢模塊420,用于如果對所述外部賬戶的身份驗證通過,則查詢與所述外部賬戶綁定的虛擬子賬戶;其中,每個虛擬子賬戶從屬于當 前平臺的一個內(nèi)部主賬戶;
資源操作模塊430,用于在確認所述外部賬戶所綁定的一個虛擬子賬戶之后,允許所述外部賬戶基于針對所述虛擬子賬戶預先配置的權限對所述內(nèi)部主賬戶的資源進行操作。
在本申請的一種優(yōu)選實施例中,上述身份驗證模塊410包括:
身份驗證請求發(fā)送模塊,用于向外部賬戶所在服務器發(fā)起針對外部賬戶的身份驗證請求;
簽名認證模塊,用于認證所述外部賬戶所在服務器返回的身份驗證結果中的服務器簽名;
外部賬戶確認模塊,用于如果所述服務器簽名認證通過,則確定所述身份驗證結果中的外部賬戶通過驗證。
在本申請的一種優(yōu)選實施例中,在身份驗證模塊410之前,還包括:
虛擬子賬戶創(chuàng)建模塊,用于在內(nèi)部主賬戶中創(chuàng)建一個虛擬子賬戶;所述內(nèi)部主賬戶具有用戶名和密碼,所述虛擬子賬戶無采用外部賬戶操作資源密碼;
權限賦予模塊,用于對所述虛擬子賬戶賦予對內(nèi)部主賬戶的資源進行操作的操作權限;
綁定模塊,用于將虛擬子賬戶與一外部賬戶綁定。
在本申請的一種優(yōu)選實施例中,在綁定模塊之后,還包括:
權限變更模塊,用于在內(nèi)部主賬戶中,修改所述虛擬子賬戶當前的操作權限。
在本申請的一種優(yōu)選實施例中,在綁定模塊之后,還包括:
綁定對象變更模塊,用于將與所述虛擬子賬戶綁定的當前外部賬戶,修改為另外一個外部賬戶。
在本申請的一種優(yōu)選實施例中,上述身份驗證模塊410包括:
第一身份驗證模塊,用于采用身份驗證協(xié)議通過外部賬戶所在的服務器對外部賬戶進行身份驗證;所述身份驗證協(xié)議包括:OAuth協(xié)議、或SAML協(xié)議、或OpenID協(xié)議。
實施例五
參照圖5,在實施例四的基礎之上,本申請?zhí)峁┝肆硪环N采用外部賬戶操作資源的裝置實施例的結構框圖,具體可以包括如下模塊:
身份驗證模塊510,用于通過外部賬戶所在的服務器對外部賬戶進行身份驗證;
虛擬子賬戶查詢模塊520,具體包括:
第一查詢模塊521,用于如果對所述外部賬戶的身份驗證通過,查詢所有內(nèi)部主賬戶下的虛擬子賬戶是否有與所述外部賬戶綁定;其中,每個虛擬子賬戶從屬于當前平臺的一個內(nèi)部主賬戶;
資源操作模塊530,用于在確認所述外部賬戶所綁定的一個虛擬子賬戶之后,允許所述外部賬戶基于針對所述虛擬子賬戶預先配置的權限對所述內(nèi)部主賬戶的資源進行操作。
實施例六
參照圖6,在實施例四的基礎之上,本申請?zhí)峁┝肆硪环N采用外部賬戶操作資源的裝置實施例的結構框圖,具體可以包括如下模塊:
目標內(nèi)部主賬戶確定模塊610,用于確定目標內(nèi)部主賬戶;
身份驗證模塊620,用于通過外部賬戶所在的服務器對外部賬戶進行身份驗證;
虛擬子賬戶查詢模塊630,具體包括:
指定查詢模塊631,用于如果對所述外部賬戶的身份驗證通過,查詢目標內(nèi)部主賬戶下的虛擬子賬戶是否有與所述外部賬戶綁定;其中,每個虛擬子賬戶從屬于當前平臺的一個內(nèi)部主賬戶;
資源操作模塊640,用于在確認所述外部賬戶所綁定的一個虛擬子賬戶之后,允許所述外部賬戶基于針對所述虛擬子賬戶預先配置的權限對所述內(nèi)部主賬戶的資源進行操作。
對于裝置實施例而言,由于其與方法實施例基本相似,所以描述的比較 簡單,相關之處參見方法實施例的部分說明即可。
本說明書中的各個實施例均采用遞進的方式描述,每個實施例重點說明的都是與其他實施例的不同之處,各個實施例之間相同相似的部分互相參見即可。
本領域內(nèi)的技術人員應明白,本申請實施例的實施例可提供為方法、裝置、或計算機程序產(chǎn)品。因此,本申請實施例可采用完全硬件實施例、完全軟件實施例、或結合軟件和硬件方面的實施例的形式。而且,本申請實施例可采用在一個或多個其中包含有計算機可用程序代碼的計算機可用存儲介質(zhì)(包括但不限于磁盤存儲器、CD-ROM、光學存儲器等)上實施的計算機程序產(chǎn)品的形式。
在一個典型的配置中,所述計算機設備包括一個或多個處理器(CPU)、輸入/輸出接口、網(wǎng)絡接口和內(nèi)存。內(nèi)存可能包括計算機可讀介質(zhì)中的非永久性存儲器,隨機存取存儲器(RAM)和/或非易失性內(nèi)存等形式,如只讀存儲器(ROM)或閃存(flash RAM)。內(nèi)存是計算機可讀介質(zhì)的示例。計算機可讀介質(zhì)包括永久性和非永久性、可移動和非可移動媒體可以由任何方法或技術來實現(xiàn)信號存儲。信號可以是計算機可讀指令、數(shù)據(jù)結構、程序的模塊或其他數(shù)據(jù)。計算機的存儲介質(zhì)的例子包括,但不限于相變內(nèi)存(PRAM)、靜態(tài)隨機存取存儲器(SRAM)、動態(tài)隨機存取存儲器(DRAM)、其他類型的隨機存取存儲器(RAM)、只讀存儲器(ROM)、電可擦除可編程只讀存儲器(EEPROM)、快閃記憶體或其他內(nèi)存技術、只讀光盤只讀存儲器(CD-ROM)、數(shù)字多功能光盤(DVD)或其他光學存儲、磁盒式磁帶,磁帶磁磁盤存儲或其他磁性存儲設備或任何其他非傳輸介質(zhì),可用于存儲可以被計算設備訪問的信號。按照本文中的界定,計算機可讀介質(zhì)不包括非持續(xù)性的電腦可讀媒體(transitory media),如調(diào)制的數(shù)據(jù)信號和載波。
本申請實施例是參照根據(jù)本申請實施例的方法、終端設備(系統(tǒng))、和計算機程序產(chǎn)品的流程圖和/或方框圖來描述的。應理解可由計算機程序指令實現(xiàn)流程圖和/或方框圖中的每一流程和/或方框、以及流程圖和/或方框 圖中的流程和/或方框的結合??商峁┻@些計算機程序指令到通用計算機、專用計算機、嵌入式處理機或其他可編程數(shù)據(jù)處理終端設備的處理器以產(chǎn)生一個機器,使得通過計算機或其他可編程數(shù)據(jù)處理終端設備的處理器執(zhí)行的指令產(chǎn)生用于實現(xiàn)在流程圖一個流程或多個流程和/或方框圖一個方框或多個方框中指定的功能的裝置。
這些計算機程序指令也可存儲在能引導計算機或其他可編程數(shù)據(jù)處理終端設備以特定方式工作的計算機可讀存儲器中,使得存儲在該計算機可讀存儲器中的指令產(chǎn)生包括指令裝置的制造品,該指令裝置實現(xiàn)在流程圖一個流程或多個流程和/或方框圖一個方框或多個方框中指定的功能。
這些計算機程序指令也可裝載到計算機或其他可編程數(shù)據(jù)處理終端設備上,使得在計算機或其他可編程終端設備上執(zhí)行一系列操作步驟以產(chǎn)生計算機實現(xiàn)的處理,從而在計算機或其他可編程終端設備上執(zhí)行的指令提供用于實現(xiàn)在流程圖一個流程或多個流程和/或方框圖一個方框或多個方框中指定的功能的步驟。
盡管已描述了本申請實施例的優(yōu)選實施例,但本領域內(nèi)的技術人員一旦得知了基本創(chuàng)造性概念,則可對這些實施例做出另外的變更和修改。所以,所附權利要求意欲解釋為包括優(yōu)選實施例以及落入本申請實施例范圍的所有變更和修改。
最后,還需要說明的是,在本文中,諸如第一和第二等之類的關系術語僅僅用來將一個實體或者操作與另一個實體或操作區(qū)分開來,而不一定要求或者暗示這些實體或操作之間存在任何這種實際的關系或者順序。而且,術語“包括”、“包含”或者其任何其他變體意在涵蓋非排他性的包含,從而使得包括一系列要素的過程、方法、物品或者終端設備不僅包括那些要素,而且還包括沒有明確列出的其他要素,或者是還包括為這種過程、方法、物品或者終端設備所固有的要素。在沒有更多限制的情況下,由語句“包括一個……”限定的要素,并不排除在包括所述要素的過程、方法、物品或者終端設備中還存在另外的相同要素。
以上對本申請所提供的一種采用外部賬戶操作資源的方法和裝置,進行了詳細介紹,本文中應用了具體個例對本申請的原理及實施方式進行了闡述,以上實施例的說明只是用于幫助理解本申請的方法及其核心思想;同時,對于本領域的一般技術人員,依據(jù)本申請的思想,在具體實施方式及應用范圍上均會有改變之處,綜上所述,本說明書內(nèi)容不應理解為對本申請的限制。