AzureAD以及其的驗(yàn)證機(jī)制是怎樣的

這期內(nèi)容當(dāng)中小編將會(huì)給大家?guī)?lái)有關(guān)Azure AD以及其的驗(yàn)證機(jī)制是怎樣的,文章內(nèi)容豐富且以專業(yè)的角度為大家分析和敘述,閱讀完這篇文章希望大家可以有所收獲。

10年積累的網(wǎng)站建設(shè)、成都網(wǎng)站制作經(jīng)驗(yàn),可以快速應(yīng)對(duì)客戶對(duì)網(wǎng)站的新想法和需求。提供各種問(wèn)題對(duì)應(yīng)的解決方案。讓選擇我們的客戶得到更好、更有力的網(wǎng)絡(luò)服務(wù)。我雖然不認(rèn)識(shí)你,你也不認(rèn)識(shí)我。但先網(wǎng)站設(shè)計(jì)后付款的網(wǎng)站建設(shè)流程,更有莊河免費(fèi)網(wǎng)站建設(shè)讓你可以放心的選擇與我們合作。

什么是Azure AD? 

Azure AD(簡(jiǎn)稱AAD)是在云端提供驗(yàn)證與授權(quán)的服務(wù),隨著功能日趨完善,提供的功能也越來(lái)越豐富。通過(guò)使用AAD,IT以及應(yīng)用程序開(kāi)發(fā)人員可以把驗(yàn)證和授權(quán)全權(quán)交給AAD來(lái)管理,同時(shí)也可以輕而易舉得實(shí)現(xiàn)跨平臺(tái)的認(rèn)證,以及實(shí)現(xiàn)單點(diǎn)登錄的場(chǎng)景。

但是有一點(diǎn)必須澄清,Azure AD與我們熟悉的企業(yè)的AD是完全不同的,前者是云服務(wù),只管驗(yàn)證與授權(quán), AAD更像是傳統(tǒng)AD像云端的擴(kuò)展,用以滿足更多的是用場(chǎng)景與驗(yàn)證需求。

Windows Azure AD (獨(dú)立模式或聯(lián)邦模式)支持不同的驗(yàn)證和授權(quán)場(chǎng)景:
1.Web 應(yīng)用程序、設(shè)備應(yīng)用、后臺(tái)進(jìn)程/服務(wù)訪問(wèn)一組 Web 服務(wù)
2.Web 應(yīng)用程序、Web 服務(wù)、設(shè)備應(yīng)用、后臺(tái)進(jìn)程/服務(wù)需要對(duì)用戶進(jìn)行驗(yàn)證 和授權(quán)用戶

Azure AD的驗(yàn)證機(jī)制

Azure AD是Claim Based的驗(yàn)證與授權(quán),所以在理解Azure AD的驗(yàn)證機(jī)制前,我們有必要理解幾個(gè)Claim Based Identity的重要概念。

1. Identity

Identity是我們經(jīng)常會(huì)提到的一個(gè)詞,主要涉及于授權(quán)與驗(yàn)證相關(guān)的內(nèi)容。但是簡(jiǎn)單從開(kāi)發(fā)人員的角度來(lái)看,Identity其實(shí)就是從安全角度出發(fā),能夠描述一個(gè)用戶或者對(duì)象一系列屬性,如名字,郵件地址,電話,部門(mén)等。

2. Claim(聲明)

直觀的看,Claim就是Identity的一個(gè)子集。Claim包含的屬性越多,應(yīng)用程序拿到這個(gè)Claim的時(shí)候也就越了解這個(gè)用戶。為什么要叫Claim,這個(gè)主要是從應(yīng)用程序處理它角度來(lái)看的。當(dāng)一個(gè)應(yīng)用程序收到一個(gè)Claim,他是不會(huì)去活動(dòng)目錄去驗(yàn)證這個(gè)Claim的內(nèi)容是否屬實(shí),他只會(huì)從Claim里找一個(gè)叫做頒發(fā)者的屬性,只要頒發(fā)者是應(yīng)用程序信任的,那么應(yīng)用程序就自動(dòng)信任這個(gè)Claim。

3. Security Token (安全令牌)

在傳遞一系列Claim的時(shí)候,在Web Service里,Claim是放在SOAP的包頭里的,在瀏覽器的Web應(yīng)用里,Claim是放在HTTP POST里的,然后再cache在cookie中。但是不管哪一種方式,這些Claim必須以序列化的方式傳遞過(guò)來(lái)并存放。

Security Token就是指序列化過(guò)的經(jīng)過(guò)頒發(fā)機(jī)構(gòu)數(shù)字簽名過(guò)的一系列Claim。這個(gè)數(shù)字簽名很重要,這保證了Security Token不會(huì)被偽裝。

4. Security Token Service(STS)

STS是付則創(chuàng)建、簽名和頒發(fā)Security Token的服務(wù)。比較常見(jiàn)就是微軟的ADFS,目前最新版本是Server 2012 R2里的ADFS3.0。

5. Relying Party(RP)

當(dāng)你創(chuàng)建一個(gè)依賴于Claim方式進(jìn)行驗(yàn)證的應(yīng)用程序,這個(gè)應(yīng)用程序就稱作RP。比較通俗的叫法可以是Claims aware app或者claim-based app。

基本的驗(yàn)證流程

一個(gè)客戶端,要訪問(wèn)一個(gè)Web Service(RP),它會(huì)首先1. 訪問(wèn)時(shí)獲取基本的Policy,如需要哪些Claim,需要到哪一個(gè)STS獲取, 2. 然后客戶端會(huì)到STS獲取它的Claim,STS會(huì)讓客戶端提供驗(yàn)證自己的基本信息(如用戶名密碼),驗(yàn)證后,STS會(huì)返回給客戶端包含它所需要的所有Claim的Security Token。 3. 然后客戶端就會(huì)把它的Security Token放在他之后所有的SOAP請(qǐng)求里一起提交給Web Service(RP)。 RP只要看到請(qǐng)求里有信任的STS簽名過(guò)的Token,就放行,如果沒(méi)有,就直接Deny掉。

如果客戶端是一個(gè)Browser,請(qǐng)求的是一個(gè)Web網(wǎng)站(RP)的場(chǎng)景下,它從STS拿回來(lái)的Security Token則會(huì)Cache到本地的Cookie中,這樣就能實(shí)現(xiàn)SSO,多個(gè)Web的RP都可以收到Cache在Cookie中的Token。

注:獲取的Token都是有有效期的,這個(gè)有效期都是在STS里設(shè)置的,有效期過(guò)期后必須重新去STS獲取Token。

聯(lián)合身份驗(yàn)證

Claim Based 驗(yàn)證的另一大優(yōu)勢(shì)就是可以實(shí)現(xiàn)聯(lián)合身份認(rèn)證。

舉一個(gè)例子,F(xiàn)abrikam是一家很大的生產(chǎn)自行車的公司,它有自己的進(jìn)銷存系統(tǒng)網(wǎng)站,可以給所有的加盟店訪問(wèn)。Bob是一個(gè)加盟店的老板,為了能讓Bob能訪問(wèn)系統(tǒng),傳統(tǒng)情況下,F(xiàn)abrikam會(huì)給Bob創(chuàng)建一個(gè)他們的賬號(hào),然后按照Bob的加盟店店長(zhǎng)角色,給他對(duì)應(yīng)的權(quán)限。如果Bob生意越走越大,員工越來(lái)越多,每一個(gè)員工都要使用Fabrikam的系統(tǒng),那么Bob就必須讓Fabrikam給他創(chuàng)建不同的賬號(hào)來(lái)訪問(wèn)系統(tǒng)。

那么,如果有Bob有員工要轉(zhuǎn)換角色,或者要離職,這些都是要Bob告訴Fabrikam,然后來(lái)回收賬號(hào)或者修改賬號(hào)權(quán)限。這明顯非常麻煩,而且用戶需要有多個(gè)賬號(hào),BOB公司的一個(gè)賬號(hào),F(xiàn)abrikam系統(tǒng)的一個(gè)賬號(hào),如果Bob還買其他公司的產(chǎn)品,賬號(hào)可能就更多了,如果員工角色有改動(dòng)或者離職了,光回收賬號(hào)和修改信息,就有得頭疼的了。

所以,我們要讓Bob的工作自動(dòng)化,Bob和Fabrikam之間有一個(gè)信任關(guān)系,也就是Fabrikam信任Bob告訴他的信息。Bob說(shuō)這個(gè)是他的員工,有哪些屬性,F(xiàn)abrikam就會(huì)相信他提供的信息,不需要額外再給他分配Fabrikam的賬號(hào)了,這就是聯(lián)合身份認(rèn)證的基礎(chǔ)。

Fabrikam的應(yīng)用就是一個(gè)RP,F(xiàn)abrikam有自己的STS,RP是基于這個(gè)STS。此時(shí)BoB的公司也提供自己的STS服務(wù),這兩個(gè)公司之間有信任關(guān)系。Bob新入職的一個(gè)員工Alice要使用Fabrikam的應(yīng)用系統(tǒng),她會(huì)1.首先在Bob的STS上驗(yàn)證并拿到Token,2. 然后會(huì)把Token發(fā)送給Fabrikam的STS,F(xiàn)abrikam的STS看到了由它信任的Bob頒發(fā)的Token,拿到里面的Claims,重新頒發(fā)給Alice第二個(gè)由Fabrikam簽名的Token。3.此時(shí)Alice拿著第二個(gè)Token發(fā)給系統(tǒng)網(wǎng)站(RP),RP只需要看到有Fabrikam簽名的Token,就可以放行了。

所以在這里作為應(yīng)用程序,不需要有任何權(quán)限上的修改,也不需要關(guān)心驗(yàn)證用戶,只需要看到是Fabrikam頒發(fā)的Token即可。這個(gè)應(yīng)用程序和用戶來(lái)講,都是非常高效的。

Azure AD 的驗(yàn)證

上面講了這么多,我們來(lái)看一下Azure AD具體是如何操作的。Azure AD的驗(yàn)證分為兩種場(chǎng)景,一種是啟用了單點(diǎn)登錄模式的,另一種是僅目錄同步模式。下圖,F(xiàn)abrikam利用Azure AD,啟用了單點(diǎn)登錄模式,而B(niǎo)ob的公司利用Azure AD僅啟用目錄同步,但是他們都使用同一個(gè)Azure AD進(jìn)行驗(yàn)證與授權(quán),同時(shí)他們都要訪問(wèn)對(duì)應(yīng)的應(yīng)用(RP)。

Fabrikam首先在Azure上創(chuàng)建了Azure AD,F(xiàn)abrikam設(shè)定好了單點(diǎn)登錄模式,在自己企業(yè)環(huán)境內(nèi)有STS服務(wù),F(xiàn)abrikam也將Bob的域加入到Azure AD中,但啟用的是目錄同步模式,Bob自己企業(yè)內(nèi)無(wú)STS服務(wù)。

Fabrikam的用戶使用客戶端訪問(wèn)RP的流程

1.客戶端首先訪問(wèn)RP,獲得Policy,包括STS服務(wù)器,需要的Claim信息

2.客戶端被重定向到Azure AD進(jìn)行驗(yàn)證,單用戶提供用戶名后,Azure AD自動(dòng)檢測(cè)域?yàn)閱吸c(diǎn)登錄模式,需要聯(lián)合認(rèn)證

3.客戶端被重定向到企業(yè)的STS,STS驗(yàn)證身份后,頒發(fā)Token給客戶端

4. 客戶端被自動(dòng)重定向回到Azure AD,Azure AD檢驗(yàn)企業(yè)STS頒發(fā)的Token通過(guò)后,再頒發(fā)第二個(gè)由Azure AD頒發(fā)的有時(shí)效(TTL)的Token

注: Azure AD在這里還可以啟用多因素驗(yàn)證,也就是通過(guò)手機(jī)或短信再驗(yàn)證一次用戶,然后再頒發(fā)證書(shū)。這可以讓Azure AD保護(hù)更重要的應(yīng)用。

5. 客戶端拿著Token在Token有效期內(nèi)可以正常訪問(wèn)RP了。所以RP真正信任的僅僅是Azure AD頒發(fā)的Token。

Bob的用戶使用客戶端訪問(wèn)RP的流程

1. 客戶端首先訪問(wèn)RP,獲得Policy,包括STS服務(wù)器,需要的Claim信息

2. 客戶端被重定向到Azure AD進(jìn)行驗(yàn)證,單用戶提供用戶名后,Azure AD自動(dòng)檢測(cè)域?yàn)槟夸浲侥J?,由于已?jīng)將用戶名以及密碼哈希,以及各種用戶屬性同步到Azure AD中,Azure AD直接驗(yàn)證通過(guò)后,頒發(fā)Token。

3. 客戶端拿著Token訪問(wèn)RP。

由于RP都是只信任Azure AD頒發(fā)的Token,所以不管是Fabrikam還是Bob的用戶,RP都是通過(guò)的。因此只要把不同的目錄集成到Azure AD中,就可以實(shí)現(xiàn)跨域、跨組織的身份驗(yàn)證和同步,從用戶角度,只需要一個(gè)用戶名和密碼,從開(kāi)發(fā)人員角度,只需要使用Azure AD進(jìn)行驗(yàn)證和授權(quán)即可,而不會(huì)因?yàn)榻M織或用戶更改而修改代碼。從IT角度,身份和權(quán)限管理,會(huì)變得直觀和簡(jiǎn)單,如權(quán)限回收,在上圖中,如果要移除一個(gè)用戶的權(quán)限,只需要在Azure AD中操作,那么就能收回該用戶對(duì)所有的基于Azure AD的RP的訪問(wèn)權(quán)限。

上述就是小編為大家分享的Azure AD以及其的驗(yàn)證機(jī)制是怎樣的了,如果剛好有類似的疑惑,不妨參照上述分析進(jìn)行理解。如果想知道更多相關(guān)知識(shí),歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道。

當(dāng)前名稱:AzureAD以及其的驗(yàn)證機(jī)制是怎樣的
本文URL:http://bm7419.com/article0/pdhjio.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站設(shè)計(jì)公司、虛擬主機(jī)響應(yīng)式網(wǎng)站、網(wǎng)站營(yíng)銷、定制開(kāi)發(fā)App設(shè)計(jì)

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)

h5響應(yīng)式網(wǎng)站建設(shè)