2.訪問(wèn)控制
AppFabrie訪問(wèn)控制如圖4-22所示。
一個(gè)依賴于訪問(wèn)控制的應(yīng)用通常既可以運(yùn)行在本地平臺(tái)上,也可以運(yùn)行在云平臺(tái)上。首先用戶打算通過(guò)瀏覽器訪問(wèn)應(yīng)用(圖4-22中步驟1)。如果應(yīng)用接受Idp令牌(Token),那么將重新定位瀏覽器到這個(gè)Idp(Identity Providers)。用戶使用Idp來(lái)進(jìn)行授權(quán),比如通過(guò)輸入用戶名和密碼的方式來(lái)進(jìn)行授權(quán),Idp返回的令牌包含申明信息(步驟2)。接下來(lái)用戶瀏覽器發(fā)送Idp Token到訪問(wèn)控制中去(步驟3),訪問(wèn)控制驗(yàn)證接受到得Idp Token,然后根據(jù)事先定義好的應(yīng)用規(guī)則來(lái)創(chuàng)建一個(gè)新的Token(步驟4)。訪問(wèn)控制包含了一個(gè)規(guī)則引擎,允許每個(gè)應(yīng)用管理員定義不同的Idp Token轉(zhuǎn)換到AC(Access Contro)Token方式。比如不同的Idps有不同的定義用戶名的方式,訪問(wèn)控制規(guī)則可以將這些不同格式的用戶名轉(zhuǎn)換成相同格式的用戶名字符串。然后,訪問(wèn)控制將AC Token返回到瀏覽器(步驟5),再由瀏覽器將這個(gè)新的Token發(fā)送給應(yīng)用(步驟6)。一旦應(yīng)用獲得了AC Token,可以驗(yàn)證這個(gè)Token并使用其中所包含的聲明(步驟7)。
應(yīng)用接受來(lái)自多個(gè)Idps發(fā)出的身份和常見(jiàn)聲明的Token,而不是處理包含不同聲明的各種Token,這樣就不需要配置應(yīng)用來(lái)使得不同的Idps可信,這些信任關(guān)系可以由訪問(wèn)控制維持。
圖4-22中,訪問(wèn)控制是為一些Idps(包括AD FS 2.0、Windows Live ID、Google、Yahoo、Facebook等)提供支撐服務(wù)器租用的,它同樣可以對(duì)支持OpenID有效。瀏覽器和其他客戶端可以通過(guò)0Auth 2或WS-Trust請(qǐng)求AC Token,AC Token通常有不同的格式,包括SAML 1.1、SAML 2.0和SWT(Simple Web Token)。為了創(chuàng)建應(yīng)用,Windows開(kāi)發(fā)者使用WIF(Windows Identity Foundation)接受AC Token。 |
在每個(gè)分布式應(yīng)用中,身份都是非常重要的。用戶創(chuàng)建的安全應(yīng)用都是來(lái)自于不同提供者的身份,訪問(wèn)控制的目標(biāo)是為了使創(chuàng)建過(guò)程變得簡(jiǎn)單。通過(guò)將訪問(wèn)控制這個(gè)服務(wù)放到云中,微軟可以保證任何平臺(tái)上的應(yīng)用都可以使用它。