共用方式為


使用身分識別委派的時機

身分識別委派是什麼?

身分識別委派是 Active Directory 同盟服務 (AD FS) 的一項功能,可讓系統管理員指定的帳戶模擬使用者。 模擬使用者的帳戶稱為委派。 若有許多分散式應用程式,且必須針對原始要求的授權鏈結中的每個應用程式、資料庫或服務循序執行一系列存取控制檢查,則此委派功能相當重要。 在許多真實世界案例中,Web 應用程式「前端」必須從更安全的「後端」擷取資料,例如連接到 Microsoft SQL Server 資料庫的 Web 服務。

例如,現有的零件訂購網站可藉由程式設計強化,可讓夥伴組織檢視他們自己的購買記錄和帳戶狀態。 基於安全性理由,所有夥伴的財務資料都會儲存於專用的結構化查詢語言 (SQL) 伺服器的安全資料庫中。 在此情況下,前端應用程式中的程式碼完全不知道夥伴組織的財務資料。 因此,它必須從另一部電腦擷取該資料,該電腦位於裝載 (在此情況下) 零件資料庫 (後端) 之 Web 服務的網路上。

為了成功執行此資料擷取程序,必須在 Web 應用程式與零件資料庫的 Web 服務之間連續授權某些「交握」,如下圖所示。

identity delegation

由於原始要求是對 Web 伺服器本身提出 (可能位於嘗試存取 Web 伺服器之使用者的組織以外的完全不同組織中),因此連同要求一起傳送的安全性權杖不符合授權準則,以致於無法存取 Web 伺服器以外的任何其他電腦。 因此,可以滿足原始使用者要求的唯一方法是:將中繼的同盟伺服器放在資源夥伴組織中,協助重新發出具有適當存取權限的安全性權杖。

身分識別委派如何運作?

多層式應用程式架構中的 Web 應用程式通常會呼叫 Web 服務來存取通用資料或功能。 這些 Web 服務必須知道原始使用者的身分識別,服務才能做出授權決策並進行稽核。 在此情況下,前端 Web 應用程式會將 Web 服務使用者表示為委派。 AD FS 允許 Active Directory 帳戶做為另一個信賴憑證者的使用者,從而完成此案例。 下圖顯示身分識別委派案例。

Illustration that shows an identity delegation scenario.

  1. Frank 嘗試從另一個組織的 Web 應用程式中存取零件訂購歷程記錄。 他的用戶端電腦針對前端零件訂購 Web 應用程式,要求並接收來自 AD FS 的權杖。

  2. 用戶端電腦將要求傳送至 Web 應用程式,包括在步驟 1 所取得的權杖,以證明用戶端的身分識別。

  3. Web 應用程式需要與 Web 服務溝通,才能完成其與用戶端的交易。 Web 應用程式連絡 AD FS,取得與 Web 服務互動的委派權杖。 委派權杖是安全性權杖,會發行給委派以做為使用者。 AD FS 針對 Web 服務,傳回包含用戶端相關宣告的委派權杖。

  4. Web 應用程式會使用在步驟 3 從 AD FS 取得的權杖,以存取做為用戶端的 Web 服務。 藉由檢查委派權杖,Web 服務可判斷 Web 應用程式是否做為用戶端。 Web 服務執行其授權原則、記錄要求,並將 Frank 原始要求的所需零件歷程記錄資料,提供給 Web 應用程式及 Frank。

特定的委派 AD FS 可限制 Web 應用程式能針對哪些 Web 服務要求委派權杖。 用戶端電腦不需要 Active Directory 帳戶就能完成此作業。 最後,如先前所述,Web 服務可輕鬆地判斷做為使用者之委派的身分識別。 這可讓 Web 服務根據它們是直接連繫用戶端電腦,還是透過委派連繫,從而展現不同的行為。

設定身分識別委派的 AD FS

每當您需要執行資料擷取程序,您可以使用 AD FS 管理嵌入式管理單元來設定身分識別委派的 AD FS。 設定之後,AD FS 可以產生包含授權內容的新安全性權杖,後端服務需要授權內容才能提供受保護資料的存取權。

AD FS 不會限制哪些使用者可以模擬。 設定身分識別委派的 AD FS 後,它會執行下列工作:

  • 它會判斷哪些伺服器可將授權委派給要求權杖來模擬使用者。

  • 它會建立並分開保留委派的用戶端帳戶,及做為委派的伺服器之身分識別內容。

您可以在 AD FS 管理嵌入式管理單元中,將委派授權規則新增至信賴憑證者信任,以設定身分識別委派。 如需做法詳細資訊,請參閱< Checklist: Creating Claim Rules for a Relying Party Trust>。

設定身分識別委派的前端 Web 應用程式

開發人員可使用幾個選項來適當地設計 Web 前端應用程式或服務的程式,將委派要求重新導向至 AD FS 電腦。 如需如何自訂 Web 應用程式來使用身分識別委派的詳細資訊,請參閱 Windows Identity Foundation SDK

另請參閱

Windows Server 2012 中的 AD FS 設計指南