使用 Microsoft Entra 連線管理及自訂 AD FS

本文說明如何使用 Microsoft Entra 連線來管理和自訂Active Directory 同盟服務 (AD FS)。

您也將瞭解您可能需要執行的其他常見 AD FS 工作,才能完整設定 AD FS 伺服器陣列。 下表列出這些工作:

Task 描述
管理 AD FS
修復信任 瞭解如何修復與 Microsoft 365 的同盟信任。
使用替代登入識別碼與 Microsoft Entra 識別碼同盟 瞭解如何使用替代登入識別碼來設定同盟。
新增 AD FS 伺服器 瞭解如何使用額外的 AD FS 伺服器擴充 AD FS 伺服器陣列。
新增 AD FS Web 應用程式 Proxy (WAP) 伺服器 瞭解如何使用額外的 WAP 伺服器擴充 AD FS 伺服器陣列。
新增同盟網域 瞭解如何新增同盟網域。
更新 TLS/SSL 憑證 瞭解如何更新 AD FS 伺服器陣列的 TLS/SSL 憑證。
自訂 AD FS
新增自訂公司標誌或圖例 瞭解如何使用公司標誌和圖例自訂 AD FS 登入頁面。
新增登入描述 瞭解如何新增登入頁面描述。
修改 AD FS 宣告規則 瞭解如何針對各種同盟案例修改 AD FS 宣告。

管理 AD FS

您可以使用 Microsoft Entra 連線精靈,在 Microsoft Entra 連線中執行各種 AD FS 相關工作,以最少的使用者介入。 執行精靈完成安裝 Microsoft Entra 連線之後,您可以再次執行它來執行其他工作。

修復信任

您可以使用 Microsoft Entra 連線來檢查 AD FS 和 Microsoft Entra 識別碼信任目前的健全狀況,然後採取適當的動作來修復信任。 若要修復您的 Microsoft Entra ID 和 AD FS 信任,請執行下列動作:

  1. 從工作清單中選取 [修復 Microsoft Entra ID] 和 [ADFS 信任 ]。

    Screenshot of the

  2. 在 [ 連線至 Microsoft Entra 識別碼 ] 頁面上,提供 Microsoft Entra ID 的混合式身分識別管理員istrator 認證,然後選取 [下一步 ]。

    Screenshot that shows the

  3. 在 [ 遠端存取認證 ] 頁面上,輸入網域系統管理員的認證。

    Screenshot that shows the

  4. 選取 [下一步] 。

    Microsoft Entra 連線檢查憑證健康情況,並顯示任何問題。

    Screenshot of the

    [ 準備設定] 頁面會顯示將執行以修復信任的動作清單。

    Screenshot that shows the

  5. 選取 [ 安裝 ] 以修復信任。

注意

Microsoft Entra 連線只能修復或處理自我簽署的憑證。 Microsoft Entra 連線無法修復協力廠商憑證。

使用 alternateID 與 Microsoft Entra ID 同盟

建議您保留 內部部署 使用者主體名稱 (UPN) 和 雲端 使用者主體名稱相同。 如果內部部署 UPN 使用無法路由傳送的網域(例如 Contoso.local),或因為本機應用程式相依性而無法變更,建議您設定替代的登入識別碼。 藉由使用替代登入識別碼,您可以設定登入體驗,讓使用者可以使用其 UPN 以外的屬性登入,例如電子郵件地址。

Microsoft Entra 中的 UPN 選項連線預設為 Active Directory 中的 userPrincipalName 屬性。 如果您選擇 UPN 的任何其他屬性,並使用 AD FS 同盟,Microsoft Entra 連線設定 AD FS 作為替代登入識別碼。

下圖顯示為 UPN 選擇不同屬性的範例:

Screenshot that shows the

設定 AD FS 的替代登入識別碼包含兩個主要步驟:

  1. 設定正確的發行宣告 集:修改 Microsoft Entra ID 信賴憑證者信任中的發行宣告規則,以使用選取的 UserPrincipalName 屬性作為使用者的替代識別碼。

  2. 在 AD FS 設定中啟用替代登入識別碼:AD FS 設定已更新,讓 AD FS 可以使用替代識別碼來查閱適當樹系中的使用者。 Windows Server 2012 R2 上的 AD FS 支援此設定(含 KB2919355) 或更新版本。 如果 AD FS 伺服器是 2012 R2,Microsoft Entra 連線會檢查必要 KB 是否存在。 如果未偵測到 KB,則會在完成設定之後顯示警告,如下圖所示:

    Screenshot of the

    如果有遺漏的 KB,您可以安裝必要的 KB2919355 來補救設定。 然後,您可以遵循修復信任 指示。

注意

如需 alternateID 和手動設定步驟的詳細資訊,請參閱 設定替代登入識別碼

新增 AD FS 伺服器

注意

若要新增 AD FS 伺服器,Microsoft Entra 連線需要 PFX 憑證。 因此,只有當您使用 Microsoft Entra 連線設定 AD FS 伺服器陣列時,您才能執行這項作業。

  1. 選取 [ 部署其他同盟伺服器 ],然後選取 [ 下一步 ]。

    Screenshot of the

  2. 在 [ 連線至 Microsoft Entra 識別碼 ] 頁面上,輸入 Microsoft Entra ID 的混合式身分識別管理員istrator 認證,然後選取 [下一步 ]。

    Screenshot that shows the

  3. 提供網域系統管理員認證。

    Screenshot that shows the

  4. Microsoft Entra 連線會要求您使用 Microsoft Entra 連線 設定新的 AD FS 伺服器陣列時所提供的 PFX 檔案密碼。 選取 [ 輸入密碼 ] 以提供 PFX 檔案的密碼。

    Screenshot of the

    Screenshot that shows the

  5. 在 [ AD FS 伺服器] 頁面上,輸入要新增至 AD FS 伺服器 陣列的伺服器名稱或 IP 位址。

    Screenshot that shows the

  6. 選取 [ 下一步 ],然後繼續完成最終 的 [設定 ] 頁面。

    在 Microsoft Entra 連線完成將伺服器新增至 AD FS 伺服器陣列之後,系統會提供確認連線能力的選項。

    Screenshot that shows the

    Screenshot that shows the

新增 AD FS WAP 伺服器

注意

若要新增 Web 應用程式 Proxy伺服器,Microsoft Entra 連線需要 PFX 憑證。 因此,您只能在使用 Microsoft Entra 連線設定 AD FS 伺服器陣列之後,才能執行這項作業。

  1. 從可用工作清單中選取 [部署 Web 應用程式 Proxy ]。

    Deploy Web Application Proxy

  2. 提供 Azure Hybrid Identity 管理員istrator 認證。

    Screenshot that shows the

  3. 在 [ 指定 SSL 憑證 ] 頁面上,提供您在使用 Microsoft Entra 設定 AD FS 伺服器陣列時所提供的 PFX 檔案密碼連線。 Certificate password

    Specify TLS/SSL certificate

  4. 新增要新增為 WAP 伺服器的伺服器。 由於 WAP 伺服器可能未加入網域,精靈會要求將系統管理認證新增至伺服器。

    Administrative server credentials

  5. 在 [ Proxy 信任認證 ] 頁面上,提供系統管理認證來設定 Proxy 信任,並存取 AD FS 伺服器陣列中的主伺服器。

    Proxy trust credentials

  6. 在 [ 準備設定] 頁面上,精靈會顯示將要執行的動作清單。

    Screenshot that shows the

  7. 選取 [ 安裝] 以完成設定。 設定完成之後,精靈會提供您確認伺服器連線的選項。 選取 [ 驗證 ] 以檢查連線能力。

    Installation complete

新增同盟網域

使用 Microsoft Entra 連線,即可輕鬆地新增與 Microsoft Entra 識別碼同盟的網域。 Microsoft Entra Connect 會新增同盟網域並修改宣告規則,以在有多個網域與 Microsoft Entra ID 同盟時正確反映簽發者。

  1. 若要新增同盟網域,請選取 [新增其他 Microsoft Entra 網域 ]。

    Screenshot of the

  2. 在精靈的下一個頁面上,提供 Microsoft Entra ID 的全域管理員認證。

    Screenshot that shows the

  3. 在 [ 遠端存取認證 ] 頁面上,提供網域系統管理員認證。

    Screenshot showing the

  4. 在下一個頁面上,精靈會提供一份 Microsoft Entra 網域清單,可讓您將內部部署目錄與同盟。 從清單選擇網域。

    Screenshot of the

    選擇網域之後,精靈會通知您將採取進一步的動作,以及設定的影響。 在某些情況下,如果您選取尚未在 Microsoft Entra ID 中驗證的網域,精靈可協助您驗證網域。 如需詳細資訊,請參閱 將自訂功能變數名稱新增至 Microsoft Entra ID

  5. 選取 [下一步] 。

    [ 準備設定] 頁面會列出 Microsoft Entra 連線將執行的動作。

    Screenshot of the

  6. 選取 [ 安裝] 以完成設定。

注意

新增的同盟網域中的使用者必須先同步處理,才能登入 Microsoft Entra ID。

自訂 AD FS

下列各節提供您可能必須執行以自訂 AD FS 登入頁面之一些常見工作的詳細資料。

若要變更登入頁面上顯示 之公司的標誌,請使用下列 PowerShell Cmdlet 和語法。

注意

標誌的建議尺寸為 260 x 35 @ 96 DPI,檔案大小不超過 10 KB。

Set-AdfsWebTheme -TargetName default -Logo @{path="c:\Contoso\logo.PNG"}

注意

需要 TargetName 參數。 使用 AD FS 發行的預設主題會命名為 Default。

新增登入描述

若要將登入頁面描述新增至 登入頁面 ,請使用下列 PowerShell Cmdlet 和語法。

Set-AdfsGlobalWebContent -SignInPageDescriptionText "<p>Sign-in to Contoso requires device registration. Select <A href='http://fs1.contoso.com/deviceregistration/'>here</A> for more information.</p>"

修改 AD FS 宣告規則

AD FS 支援豐富的宣告語言,可讓您用來建立自訂宣告規則。 如需詳細資訊,請參閱 宣告規則語言 的角色。

下列各節說明如何針對與 Microsoft Entra ID 和 AD FS 同盟相關的某些案例撰寫自訂規則。

屬性中存在值的不彈性識別碼

當物件同步至 Microsoft Entra 識別碼時,Microsoft Entra 連線可讓您指定要當做來源錨點使用的屬性。 如果自訂屬性中的值不是空的,您可能會想要發出不可變的識別碼宣告。

例如,您可以選取 ms-ds-consistencyguid 作為來源錨點的屬性,併發出 ImmutableID ,以防 ms-ds-consistencyguid 屬性有值。 如果沒有屬性的值,請發出 objectGuid 為不彈性識別碼。 您可以建構一組自訂宣告規則,如下一節所述。

規則 1:查詢屬性

c:[Type == "http://schemas.microsoft.com/ws/2008/06/identity/claims/windowsaccountname"]
=> add(store = "Active Directory", types = ("http://contoso.com/ws/2016/02/identity/claims/objectguid", "http://contoso.com/ws/2016/02/identity/claims/msdsconsistencyguid"), query = "; objectGuid,ms-ds-consistencyguid;{0}", param = c.Value);

在此規則中,您會從 Active Directory 查詢 和 objectGuid 的值 ms-ds-consistencyguid 。 將存放區名稱變更為 AD FS 部署中的適當存放區名稱。 此外,將宣告類型變更為同盟的適當宣告類型,如 和 objectGuidms-ds-consistencyguid 所定義。

此外,藉由使用 add 和 而非 issue ,您可以避免為實體新增傳出問題,而且可以使用值做為中繼值。 在建立要作為不彈性識別碼的值之後,您將在稍後的規則中發出宣告。

規則 2:檢查使用者是否存在 ms-ds-consistencyguid

NOT EXISTS([Type == "http://contoso.com/ws/2016/02/identity/claims/msdsconsistencyguid"])
=> add(Type = "urn:anandmsft:tmp/idflag", Value = "useguid");

此規則會定義名為 idflag 的暫存旗標,如果使用者未 ms-ds-consistencyguid 填入 ,該旗標會設定 useguid 為 。 其背後的邏輯是 AD FS 不允許空白宣告。 當您新增宣告 http://contoso.com/ws/2016/02/identity/claims/objectguid 並在 http://contoso.com/ws/2016/02/identity/claims/msdsconsistencyguid 規則 1 中時,只有在使用者填入值時,才會產生 msdsconsistencyguid 宣告。 如果未填入,AD FS 就會看到其會有空值,並立即卸載。 所有物件都會有 objectGuid ,因此在執行規則 1 之後,宣告一律會存在。

規則 3:如果存在,請發出 ms-ds-consistencyguid 為不彈性識別碼

c:[Type == "http://contoso.com/ws/2016/02/identity/claims/msdsconsistencyguid"]
=> issue(Type = "http://schemas.microsoft.com/LiveID/Federation/2008/05/ImmutableID", Value = c.Value);

這是隱含 Exist 檢查。 如果宣告的值存在,請將它發出為不彈性識別碼。 上述範例會 nameidentifier 使用 宣告。 您必須將此變更為環境中不彈性識別碼的適當宣告類型。

規則 4:如果 ms-ds-consistencyGuid 不存在,請發出 objectGuid 作為不可變的識別碼

c1:[Type == "urn:anandmsft:tmp/idflag", Value =~ "useguid"]
&& c2:[Type == "http://contoso.com/ws/2016/02/identity/claims/objectguid"]
=> issue(Type = "http://schemas.microsoft.com/LiveID/Federation/2008/05/ImmutableID", Value = c2.Value);

使用此規則時,您只需要檢查暫存旗標 idflag 。 您決定是否要根據其值發出宣告。

注意

這些規則的順序很重要。

具有子域 UPN 的 SSO

您可以使用 Microsoft Entra 連線新增多個要同盟的網域,如新增新的同盟網域 中所述 。 Microsoft Entra 連線 1.1.553.0 版,且更新版本會自動建立 issuerID 正確的宣告規則。 如果您無法使用 Microsoft Entra 連線 1.1.553.0 版或更新版本,建議您使用 Microsoft Entra RPT 宣告規則 工具來產生並設定正確的 Microsoft Entra ID 信賴憑證者信任宣告規則。

下一步

深入瞭解 使用者登入選項