使用 SQL Server 的舊版 AD FS 同盟伺服器陣列

Active Directory 同盟服務 (AD FS) 的這個拓撲與使用 Windows 內部資料庫 (WID) 部署拓撲的同盟伺服器陣列不同,因為它不會將資料複寫到伺服器陣列中的每台同盟伺服器。 相反地,伺服器陣列中的所有同盟伺服器都可以讀取資料並將資料寫入一個公用資料庫中 (該資料庫儲存在一台位於公司網路中執行 Microsoft SQL Server 的伺服器上)。

重要

如果您要建立 AD FS 陣列並使用 SQL Server 儲存您的組態資料,可以使用 SQL Server 2008 和更新版本,包括 SQL Server 2012 和 SQL Server 2014。

部署考量

本節描述與此部署拓撲相關聯的預定對象、權益和限制的各種考量。

誰應該使用此拓撲?

  • 擁有超過 100 個信任關係的大型組織 (需要為其內部使用者和外部使用者提供對同盟應用程式或服務的單一登入 (SSO) 存取權)

  • 已使用 SQL Server 並想要善用其現有工具和專業知識的組織

使用此拓撲有哪些優點?

  • 支援大量的信任關係 (超過 100 個)

  • 支援權杖重新執行偵測 (一項安全性功能) 和成品解析 (安全性聲明標記語言 (SAML) 2.0 通訊協定的一部分)

  • 支援 SQL Server 的完整優點 (例如資料庫鏡像、容錯移轉叢集、報告和管理工具)

使用此拓撲有何限制?

  • 此拓撲預設不會提供資料庫備援。 雖然具有 WID 拓撲的同盟伺服器陣列會自動在該伺服器陣列中的每台同盟伺服器上複寫 WID 資料庫,但具有 SQL Server 拓撲的同盟伺服器陣列只包含一個資料庫的副本

    注意

    SQL Server 支援許多不同的資料和應用程式備援選項,包括容錯移轉叢集、資料庫鏡像,以及數種不同類型的 SQL Server 複寫。

Microsoft 資訊技術 (IT) 部門使用高安全性 (同步) 模式的 SQL Server 資料庫鏡像和容錯移轉叢集為 SQL Server 執行個體提供高可用性支援。 Microsoft 的 AD FS 產品團隊尚未測試 SQL Server 交易式 (對等) 和合併式複寫。 如需 SQL Server 的詳細資訊,請參閱高可用性解決方案概觀選取適當的複寫類型

受支援的 SQL Server 版本

支援以下的 SQL Server 版本可以與 Windows Server 2012 R2 中的 AD FS 一起使用:

  • SQL Server 2008 / R2

  • SQL Server 2012

  • SQL Server 2014

伺服器放置和網路配置建議

與具有 WID 拓撲的同盟伺服器陣列類似,該伺服器陣列中的所有同盟伺服器都會設定為使用一個叢集網域名稱系統 (DNS) 名稱 (代表同盟服務名稱) 和一個叢集 IP 位址作為網路負載平衡 (NLB) 叢集組態的一部分。 這有助於 NLB 主機將用戶端要求分配給個別的同盟伺服器。 同盟伺服器 Proxy 可用來將用戶端要求代理到同盟伺服器陣列。

下圖顯示了虛構的 Contoso Pharmaceuticals 公司如何在公司網路中部署具有 SQL Server 拓撲的同盟伺服器陣列。 它也顯示了該公司如何設定周邊網路,以存取一台 DNS 伺服器、一台額外的 NLB 主機,使用與企業網路 NLB 叢集上所使用的相同叢集 DNS 名稱 (fs.contoso.com),以及兩個 Web 應用程式 Proxy (wap1 和 wap2)。

Illustration that shows how the fictional Contoso Pharmaceuticals company deployed its federation server farm with SQL Server topology in the corporate network.

如需如何設定網路環境,以與同盟伺服器或 Web 應用程式 Proxy 搭配使用的詳細資訊,請參閱 AD FS 需求規劃 Web 應用程式 Proxy 基礎結構 (WAP)

SQL Server 服務器陣列的高可用性選項

在 Windows Server 2012 R2 中,AD FS 有兩個新選項可使用 SQL Server 來支援 AD FS 伺服器陣列中的高可用性。

  • 支援 SQL Server AlwaysOn 可用性群組

  • 使用 SQL Server 合併式複寫支援地理分散式高可用性

本節說明每個選項、分別解決哪些問題,以及決定要部署哪些選項的一些重要考量。

注意

使用 Windows 內部資料庫 (WID) 的 AD FS 伺服器陣列,在主要同盟伺服器節點上提供基本資料備援,以及在次要節點上提供唯讀存取權。  這可用於地理本機或地理分散式拓撲。

使用 WID 時,請注意下列限制:

  • 如果您有 100 個或更少的信賴憑證者信任,WID 伺服器陣列會有 30 部同盟伺服器的限制。
  • WID 伺服器陣列不支援權杖重新執行偵測或成品解析 (安全性聲明標記語言 (SAML) 通訊協定的一部分)。

下表提供使用 WID 伺服器陣列的摘要:

1-100 個 RP 信任 超過 100 個 RP 信任
1-30 個 AD FS 節點:支援 WID 1-30 個 AD FS 節點:不支援使用 WID - 需要 SQL
超過 30 個 AD FS 節點:不支援使用 WID - 需要 SQL 超過 30 個 AD FS 節點:不支援使用 WID - 需要 SQL

AlwaysOn 可用性群組

概觀

AlwaysOn 可用性群組是在 SQL Server 2012 中引進的,並提供建立高可用性 SQL Server 執行個體的新方法。  AlwaysOn 可用性群組會結合叢集和資料庫鏡像的元素,以在 SQL 執行個體層和資料庫層進行備援和容錯移轉。  不同於先前的高可用性選項,AlwaysOn 可用性群組不需要資料庫層的通用儲存體 (或存放區域網路)。

可用性群組是由主要複本 (一組讀寫主要資料庫) 以及一到四個可用性複本 (一組對應的次要資料庫) 所組成。  可用性群組支援單一讀寫複本 (主要複本),以及一到四個唯讀可用性複本。  每個可用性複本都必須位在單一 Windows Server 容錯移轉叢集 (WSFC) 叢集的不同節點。  如需 AlwaysOn 可用性群組的詳細資訊,請參閱 AlwaysOn 可用性群組 (SQL Server) 概觀

從 AD FS SQL Server 服務器陣列節點的觀點來看,AlwaysOn 可用性群組會將單一 SQL Server 執行個體取代為原則/成品資料庫。  可用性群組接聽程式是用戶端 (AD FS 安全性權杖服務) 用來連線到 SQL 的項目。

下圖顯示具有 AlwaysOn 可用性群組的 AD FS SQL Server 伺服器陣列。

Diagram that shows an AD FS SQL Server Farm with AlwaysOn Availability group.

注意

AlwaysOn 可用性群組需要 SQL Server 執行個體位於 Windows Server 容錯移轉叢集 (WSFC) 節點上。

注意

只有一個可用性複本可以作為自動容錯移轉目標,其他三個複本依賴手動容錯移轉。

重要部署考量

如果您打算搭配 SQL Server 合併式複寫使用 AlwaysOn 可用性群組,請記下以下「搭配 SQL Server 合併式複寫使用 AD FS 的重要部署考量」底下所述的問題。  尤其是當包含複寫訂閱者資料庫的 AlwaysOn 可用性群組容錯移轉時,複寫訂閱會失敗。 若要繼續複寫,複寫管理員必須手動重新設定訂閱者。  請參閱複寫訂閱者和 AlwaysOn 可用性群組 (SQL Server) 的特定問題 SQL Server 描述,以及複寫、變更追蹤、變更資料擷取和 AlwaysOn 可用性群組 (SQL Server) 的具有複寫選項之 AlwaysOn 可用性群組的整體支援陳述式。

設定 AD FS 使用 AlwaysOn 可用性群組

使用 AlwaysOn 可用性群組設定 AD FS 伺服器陣列,需要對 AD FS 部署程序進行些微修改:

  1. 必須先建立您想要備份的資料庫,才能設定 AlwaysOn 可用性群組。  AD FS 會建立其資料庫,作為新 AD FS SQL Server 伺服器陣列第一個同盟服務節點之設定和初始設定的一部分。  在 AD FS 設定過程中,您必須指定 SQL 連接字串,因此您必須設定第一個 AD FS 伺服器陣列節點,直接連線到 SQL 執行個體 (這只是暫時的)。   如需設定 AD FS 伺服器陣列的特定指引,包括使用 SQL Server 連接字串設定 AD FS 伺服器陣列節點,請參閱設定同盟伺服器

  2. 建立 AD FS 資料庫之後,請將其指派給 AlwaysOn 可用性群組,並使用 SQL Server 工具和建立和設定可用性群組 (SQL Server) 的程序,建立通用 TCPIP 接聽程式。

  3. 最後,使用 PowerShell 編輯 AD FS 屬性來更新 SQL 連接字串,以使用 AlwaysOn 可用性群組接聽程式的 DNS 位址。

    用於更新 AD FS 組態資料庫的 SQL 連接字串的範例 PSH 命令:

    PS:\>$temp= Get-WmiObject -namespace root/ADFS -class SecurityTokenService
    PS:\>$temp.ConfigurationdatabaseConnectionstring="data source=<SQLCluster\SQLInstance>; initial catalog=adfsconfiguration;integrated security=true"
    PS:\>$temp.put()
    
    
  4. 用於更新 AD FS 成品解析服務資料庫的 SQL 連接字串的範例 PSH 命令:

    PS:\> Set-AdfsProperties –artifactdbconnection "Data source=<SQLCluster\SQLInstance >;Initial Catalog=AdfsArtifactStore;Integrated Security=True"
    

SQL Server 合併式複寫

在 SQL Server 2012 中也引進了合併式複寫,允許具有下列特性的 AD FS 原則資料備援:

  • 所有節點上的讀取和寫入功能 (不只是主要節點)

  • 以非同步方式複寫的較小資料量,以避免對系統造成延遲

下圖顯示具有合併式複寫的異地備援 AD FS SQL Server 伺服器陣列 (1 個發行者、2 個訂閱者):

server farm using SQL

搭配 SQL Server 合併式複寫使用 AD FS 的重要部署考量 (上圖中的附註編號)

如需如何設定 AD FS 以使用 SQL Server 合併式複寫的詳細指示,請參閱使用 SQL Server 複寫設定地理備援

另請參閱

規劃 AD FS 部署拓撲Windows Server 2012 R2 中的 AD FS 設計指南