共用方式為


AD FS 組態資料庫的角色

AD FS 組態資料庫會儲存所有組態數據,代表 Active Directory 同盟服務 (AD FS) 的單一實例(也就是同盟服務)。 AD FS 設定資料庫會定義同盟服務需要的一組參數,以識別合作夥伴、憑證、屬性儲存庫、宣告,以及與這些實體相關的各種資料。 您可以將此組態數據儲存在 Microsoft SQL Server® 資料庫或 Windows 內部資料庫 (WID) 功能中,此功能隨附於 Windows Server 2012 或更高版本。

備註

AD FS 組態資料庫的整個內容可以儲存在 WID 實例或 SQL 資料庫的實例中,但不能同時儲存在兩者中。 這表示您無法有某些同盟伺服器使用 WID,其他則使用 SQL Server 資料庫作為 AD FS 組態資料庫的相同實例。

您可以使用本主題中的下列資訊,以及 AD FS 部署拓撲考慮 中提供的內容,以了解選擇 WID 或 SQL Server 來儲存 AD FS 組態資料庫的優點和缺點:

WID 使用關係型數據存放區,而且沒有自己的管理用戶介面 (UI)。 相反地,系統管理員可以使用AD FS管理嵌入式管理單元、Fsconfig.exe或 Windows PowerShell™ Cmdlet 來修改 AD FS 組態資料庫的內容。

使用 WID 來儲存 AD FS 組態資料庫

您可以使用 WID 作為存放區來建立 AD FS 組態資料庫,方法是使用 Fsconfig.exe 命令行工具或 AD FS 同盟伺服器組態精靈。 當您使用上述任一工具時,可以選擇下列任一選項來建立同盟伺服器拓撲。 每個選項都會使用 WID 來儲存 AD FS 組態資料庫:

  • 建立獨立同盟伺服器

  • 在同盟伺服器陣列中建立第一個同盟伺服器

  • 將同盟伺服器新增至同盟伺服器農場

如果您選取獨立選項,則會使用 WID 來儲存 AD FS 組態資料庫的單一實例。 此實例無法跨多個同盟伺服器共用。 僅適用於測試實驗室環境。 如需獨立同盟伺服器選項或如何設定同盟伺服器的詳細資訊,請參閱 Stand-Alone 使用 WID建立 Stand-Alone 同盟伺服器

如果您選擇同盟伺服器陣列中的第一台同盟伺服器選項,WID 會設定為具有擴充性,以允許稍後將其他同盟伺服器新增至伺服器陣列。 如需部署 WID 伺服器陣列或如何設定 WID 伺服器陣列的詳細資訊,請參閱 使用 WID在同盟伺服器陣列中建立第一個同盟伺服器

如果您選取 [新增同盟伺服器] 選項,WID 會設定為以設定間隔將組態資料庫變更復寫到新的同盟伺服器。 如需將同盟伺服器新增至 WID 伺服器陣列的詳細資訊,請參閱 使用 WID將同盟伺服器新增至同盟伺服器陣列

備註

當您使用 WID 部署同盟伺服器陣列時,AD FS 的某些功能可能不可用。 若要在設定伺服器陣列時存取完整的功能集,請考慮改用 Microsoft SQL Server 來儲存 AD FS 組態資料庫。 如需詳細資訊,請參閱 AD FS 部署拓撲考慮

WID 同盟伺服器陣列的運作方式

本節說明重要概念,說明 WID 同盟伺服器陣列如何復寫主要同盟伺服器與次要同盟伺服器之間的數據。 .

主要同盟伺服器

主要同盟伺服器是執行 Windows Server 2012 或更高版本的計算機,該電腦已使用 AD FS 同盟伺服器設定精靈設定同盟伺服器角色,以及具有 AD FS 組態資料庫的讀取/寫入複本。 當您使用 AD FS 同盟伺服器配置精靈並選擇建立新的同盟服務選項時,將始終建立主要同盟伺服器,並使該計算機成為伺服器農場中的第一部同盟伺服器。 此伺服器陣列中所有其他同盟伺服器,也稱為次要同盟伺服器,必須將主要同盟伺服器上所做的變更同步處理到儲存在本機的 AD FS 組態資料庫複本。

次要同盟伺服器

次要同盟伺服器會從主要同盟伺服器儲存AD FS組態資料庫的複本,但這些複本是唯讀的。 次要同盟伺服器會連接到伺服器陣列中的主要同盟伺服器,並透過定期輪詢來檢查資料是否已變更,以便同步處理資料。 次要同盟伺服器存在,可提供主要同盟伺服器的容錯,同時針對整個網路環境在不同站台中提出的存取要求進行負載平衡。

AD FS 的設定資料庫是如何同步處理的

由於AD FS組態資料庫所扮演的重要作用,因此可在網路中的所有同盟伺服器上提供,以在處理要求時提供容錯和負載平衡功能(使用網路負載平衡器時)。 不過,若要讓次要同盟伺服器在此容量中提供服務,必須同步處理儲存在主要同盟伺服器上的AD FS組態資料庫。

當您將同盟伺服器新增至伺服器陣列時,新將成為次要同盟伺服器的計算機會連線到主要同盟伺服器,以複寫 AD FS 組態資料庫的副本。 從這一點開始,新的同盟伺服器會定期從主要同盟伺服器繼續提取更新,如下圖所示。

AD FS 組態

每個次要同盟伺服器會每隔五分鐘輪詢主要同盟伺服器以進行變更。 您可以使用 Windows PowerShell Cmdlet 來調整這個預設五分鐘的值,或隨時強制立即同步處理。 如需了解如何執行此操作的詳細資訊,請參閱 使用 Windows PowerShellAD FS 管理。

WID 同步處理程式也支援增量傳輸,以更有效率地傳輸中繼變更。 累加傳輸程式需要大幅減少網路上的流量,而且傳輸會更快完成。

備註

支援將AD FS組態資料庫從WID移轉至 SQL Server 實例。 如需如何執行這項作的詳細資訊,請參閱 AD FS:將 AD FS 組態資料庫移轉至 TechNet Wiki 網站上的 SQL Server

如何管理AD FS同步處理屬性

本節說明如何檢視和編輯 AD FS 設定資料庫同步處理屬性。 .

Get-ADFSSyncProperties cmdlet 取得 Active Directory 同盟服務 (AD FS) 組態資料庫的同步屬性。

PS C:\> Get-ADFSSyncProperties

在主要 AD FS 伺服器上,此 cmdlet 只會顯示角色為主要計算機。 在 [次要] 成員上,它會顯示其餘組態,包括 [主要計算機上次同步處理的完整域名]、[上次同步狀態] 和 [時間]、[輪詢持續時間]、[目前設定的主要計算機名稱]、[主要計算機埠] 和 [次要計算機的角色]。

Set-ADFSSyncProperties Cmdlet 會修改 Active Directory 同盟服務 (AD FS) 組態資料庫的同步處理頻率。 Cmdlet 也會指定哪個同盟伺服器是同盟伺服器陣列中的主伺服器。

備註

如果主要同盟伺服器當機且離線,則所有次要同盟伺服器都會繼續正常處理要求。 不過,在主要同盟伺服器重新上線之前,無法對同盟服務進行任何新的變更。 您也可以使用 Windows PowerShell 提名次要同盟伺服器成為主要同盟伺服器。 如果您提名新的主伺服器,則必須修改其餘的伺服器,以反映新的主伺服器。 擁有兩個主要伺服器在 WID 伺服器陣列中將會影響陣列的穩定性,並有可能遺失資料。

修改一個農場的輪詢持續時間

PS C:\> Set-AdfsSyncProperties -PollDuration 3600 -PrimaryComputerName "FederationServerPrimary"

此命令會將資料庫同步處理修改為3600秒。 命令會變更主要同盟伺服器。

將伺服器從次要伺服器變更為主要伺服器

PS C:\> Set-AdfsSyncProperties -Role "PrimaryComputer"

此命令會將 WID 伺服器陣列中的 AD FS 伺服器從次要伺服器變更為主要伺服器。

將主伺服器變更為輔助伺服器

PS C:\> Set-AdfsSyncProperties -Role "SecondaryComputer" -PrimaryComputerName "<FQDN of primary server>"

此命令會將 WID 伺服器陣列中的主要 AD FS 伺服器變更為輔助伺服器。 您必須指定主伺服器的完整網域名稱。 未這樣做可能會導致所有備援 AD FS 伺服器無法正確同步。 注意:主伺服器必須可從輔助伺服器透過埠 80 上的 HTTP 存取。

如需詳細資訊,請參閱:Set-AdfsSyncProperties

使用 SQL Server 來儲存 AD FS 組態資料庫

您可以使用單一 SQL Server 資料庫實例作為存放區,使用 Fsconfig.exe 命令行工具來建立 AD FS 組態資料庫。 使用 SQL Server 資料庫做為 AD FS 組態資料庫相比於使用 WID 提供以下優點:

  • 系統管理員可以利用 SQL Server 的高可用性功能

  • 它為高流量提供額外的效能提升。

  • 它提供 SAML artifact 解析和 SAML/WS-Federation 令牌重播偵測的功能支援(如下所述)。

當 AD FS 組態資料庫儲存在 SQL 資料庫實例中時,「主要同盟伺服器」一詞不適用,因為所有同盟伺服器都可以同樣讀取和寫入使用相同叢集 SQL Server 實例的 AD FS 組態資料庫,如下圖所示。

AD FS 角色

您可以使用 SQL Server 來設定兩部或多部伺服器,以作為伺服器叢集一起運作,以確保 AD FS 可供服務傳入用戶端要求使用。 高可用性提供向外延展架構,您可以藉由新增其他伺服器來增加伺服器容量。 自動叢集故障轉移可減輕單一失敗點。

您可以使用 SQL 叢集技術所提供的網路負載平衡和故障轉移服務來達到高可用性。 如需如何設定 SQL Server 以取得高可用性的詳細資訊,請參閱 高可用性解決方案概觀

SAML 工件解析

安全性斷言標記語言(SAML)的定位碼解析是以 SAML 2.0 協定的一部分為基礎,描述賴方如何直接從宣告提供者擷取令牌。 在解析流程的第一個階段中,瀏覽器用戶端會聯絡資源聯合伺服器,並提供憑證。 在第二個階段中,資源同盟伺服器會將成品傳送至裝載於帳戶夥伴組織中某處的 SAML 成品端點 URL,以解析成品訊息。 在最後階段,帳戶同盟伺服器會代表瀏覽器用戶端向同盟伺服器發出令牌。

備註

如果您是帳戶夥伴組織中的系統管理員,請務必將 SSL 憑證指派或綁定到 IIS 中的同盟被動網站(<ComputerName>\Sites\Default Web Site\adfs\ls),此憑證必須鏈結到 Windows 根證書計畫成員的根證書,並確保在伺服器陣列中的所有帳戶同盟伺服器上完成配置。 請務必防止資源聯盟伺服器必須手動將 SSL 憑證新增至本機電腦受信任人員的憑證存儲區,或無法解析您組織中發佈的工件。

SAML/WS - 聯合令牌重播偵測

令牌重覆 是指在帳號夥伴機構中,瀏覽器用戶端多次嘗試將其從帳號聯盟伺服器獲取的相同令牌發送至資源聯盟伺服器以進行驗證的行為。 當使用者按兩下瀏覽器 [上一頁] 按鈕,以重新提交驗證頁面時,就會發生此動作。

AD FS 提供稱為「令牌重新執行偵測」的功能, 可以使用相同令牌來偵測並捨棄多個令牌要求。 啟用這項功能時,令牌重新執行偵測會藉由確定不會多次使用相同的令牌,來保護 WS-Federation 被動配置檔和 SAML WebSSO 配置檔中的驗證要求完整性。 這項功能應在安全性十分關注的情況下啟用,例如使用 kiosk 時。

在 kiosk 範例中,用戶可以註銷所有網站,而之後惡意使用者可以嘗試使用瀏覽器歷程記錄,以重新提交先前使用者所載入的同盟驗證頁面。 這項功能可藉由儲存帳戶夥伴組織所進行之每個成功驗證的其他資訊,以偵測令牌的後續重新執行,並防止多次驗證嘗試成功,藉此減輕此疑慮。