Federation Service 是 Active Directory Federation Services (AD FS) 的一項角色服務,可獨立安裝於其他 AD FS 角色服務之外。Federation Service 可當作安全性權杖服務運作。電腦上若安裝了 Federation Service 角色服務,就會成為同盟伺服器。這也能讓您在該電腦的 [系統管理工具] 功能表中使用 Active Directory Federation Services 嵌入式管理單元。如需 AD FS 嵌入式管理單元的相關資訊,請參閱使用 Active Directory Federation Services 嵌入式管理單元

根據設計,Federation Service 在收到安全性權杖要求時,可利用 Active Directory 網域服務 (AD DS) 提供權杖做為回應。這將使 Active Directory 網域與樹系能夠以下列角色運作:

  • 可與相容的帳戶夥伴和資源夥伴結盟的識別提供者。做為識別提供者,Federation Service 可透過網際網路傳送 Active Directory 識別,而與相容服務提供者的應用程式互動。

  • 可與相容的帳戶夥伴和資源夥伴結盟的服務提供者。做為服務提供者,Federation Service 可讓來自其他組織的識別存取夥伴的 Windows 型與 ASP.NET 型應用程式。

  • 與 WS-同盟被動式要求者設定檔 (WS-F PRP) 規格相容的應用程式安全性權杖提供者。

做為帳戶夥伴,Federation Service 可讓使用者存取夥伴組織的資源。回應來自資源夥伴的要求時,Federation Service 會收集使用者認證,並依據 AD DS 或 Active Directory 輕量型目錄服務 (AD LDS) 的執行個體加以驗證。Federation Service 可根據使用者帳戶的輕量型目錄存取通訊協定 (LDAP) 屬性,填入一組組織宣告。這些組織宣告接著會被對應到資源夥伴的適當宣告,並封裝到 Federation Service 的權杖簽署憑證所簽署的安全性權杖中。產生的安全性權杖會發佈出來,做為資源夥伴之原始要求的回應。然後,資源夥伴即可使用此權杖讓使用者進行存取。

做為資源夥伴,Federation Service 則會扮演相反的角色。當使用者嘗試存取受 AD FS 保護的應用程式時,Federation Service 會判定應由哪個帳戶夥伴來驗證使用者。接著,它會傳送驗證要求給該夥伴。當使用者連同安全性權杖返回時,Federation Service 會驗證該夥伴已正確簽署過權杖。接著,它會從權杖中擷取宣告。這些宣告會對應至組織宣告,並套用適用於特定應用程式的篩選原則。篩選後的組織宣告會封裝到由 Federation Service 的權杖簽署憑證所簽署、或受網頁應用程式之 Kerberos 工作階段金鑰所保護的安全性權杖中。結果的安全性權杖會發佈回原始的應用程式統一資源定位器 (URL) 上。然後,應用程式即可使用此權杖讓使用者進行存取。

AD FS 會使用 WS-F PRP 通訊協定,將 Federation Service 所發行之安全性權杖中的宣告傳送到網頁應用程式。如需 WS-F PRP 規格的相關資訊,請參閱 AD FS 的資源

這些宣告最初會從帳戶存放區填入,也就是 AD DS 或 AD LDS 帳戶存放區。Federation Service 會根據所提供的認證來發行權杖。在帳戶存放區對使用者認證進行驗證後,就會根據信任原則的規則產生使用者的宣告。Federation Service 會將輸入宣告對應到適用於資源夥伴的輸出宣告。產生的宣告對應會新增至發行給資源夥伴的安全性權杖中。如需宣告的相關資訊,請參閱了解宣告

在 Federation Service 驗證權杖後,就會發行驗證 Cookie 發行並將其寫入至用戶端瀏覽器。每當需要驗證用戶端時,Federation Service 就會使用此 Cookie,用戶端便不需再次輸入認證。這會啟用單一登入 (SSO)。如需 Cookie 的相關資訊,請參閱了解 AD FS 使用的 Cookie

Federation Service 網頁

Federation Service 所提供的網頁會提示使用者選取適當的帳戶夥伴,以驗證該使用者。Federation Service 所提供的另一個網頁會提示使用者提供認證,例如表單型驗證所需的使用者名稱與密碼。另外也會提供可支援 Windows 整合式驗證的網頁。

在網頁的背後,Federation Service 提供了 Microsoft ASP.NET Web 服務以處理來自用戶端或同盟伺服器 Proxy 的要求。同盟伺服器 Proxy 位於周邊網路中。它在網際網路用戶端與內部網路中的 Federation Service 之間,扮演中繼點的角色。如需同盟伺服器 Proxy 所扮演角色的相關資訊,請參閱了解 Federation Service Proxy 角色服務

Federation Service 所回應的要求有兩種基本類型:

  • 發行安全性權杖的要求

  • 擷取信任原則資料的要求

帳戶夥伴探索

帳戶夥伴探索是一種程序,在已設定多個帳戶夥伴的情況下,使用者可藉此程序識別出適合用於驗證的帳戶夥伴。同盟伺服器會在用戶端瀏覽器中顯示一個下拉式方塊,其中包含信任原則中所設定的帳戶夥伴名稱,以供用戶端進行上述選擇。

若要避免執行帳戶夥伴探索,其中一個可用的機制是將 whr 參數納入要被存取之資源的查詢字串中,例如,

https://webserver/testapp/testpage.aspx?whr=urn:federation:<accountpartner>

其中 <accountpartner> 表示用戶端的帳戶夥伴領域。

使用 whr 參數時,資源同盟伺服器會移除參數,並將 cookie 寫入用戶端瀏覽器中,以記憶這個設定供日後使用。然後,要求作業會繼續正常執行,如同未曾使用該參數一樣。


目錄