應用程式的首頁領域探索

主領域探索 (HRD) 是一種程式,可讓 Microsoft Entra ID 判斷使用者在登入時需要驗證的身分識別提供者 (IDP)。 當使用者登入 Microsoft Entra 租使用者以存取資源或 Microsoft Entra 通用登入頁面時,他們會輸入使用者名稱 (UPN)。 Microsoft Entra ID 會使用該標識碼來探索使用者需要登入的位置。

使用者會被帶到下列其中一個要驗證的識別提供者:

  • 使用者的主租使用者(可能與用戶嘗試存取的資源相同)。

  • Microsoft 帳戶。 使用者是資源租使用者中的來賓,會使用取用者帳戶進行驗證。

  • 內部部署識別提供者,例如 Active Directory 同盟服務 (AD FS)。

  • 另一個與 Microsoft Entra 租使用者同盟的識別提供者。

自動加速

某些組織會設定其 Microsoft Entra 租使用者中的網域,以與其他 IdP 同盟,例如 AD FS 進行使用者驗證。

當使用者登入應用程式時,會先看到 Microsoft Entra 登入頁面。 輸入UPN之後,如果他們位於同盟網域,則會將其帶到提供該網域的IdP登入頁面。 在某些情況下,系統管理員可能會想要在使用者登入特定應用程式時,將用戶導向登入頁面。

因此,用戶可以略過初始的 Microsoft Entra ID 頁面。 此程式稱為「登入自動加速」。Microsoft 不建議再設定自動加速,因為它可以防止使用更強大的驗證方法,例如 FIDO 並阻礙共同作業。 請參閱 啟用無密碼安全性密鑰登入 ,以瞭解未設定自動加速的優點。 若要瞭解如何防止登入自動加速,請參閱 停用自動加速登入

在租使用者與另一個IdP同盟以進行登入的情況下,自動加速可讓使用者更簡化登入。 您可以設定個別應用程式的自動加速。 請參閱 設定自動加速 ,以瞭解如何使用 HRD 強制自動加速。

注意

如果您設定應用程式進行自動加速,使用者就無法使用受控認證(例如 FIDO)和來賓用戶無法登入。 如果您直接將使用者帶往同盟IdP進行驗證,則他們無法返回 Microsoft Entra 登入頁面。 來賓使用者可能需要導向至其他租使用者或外部 IdP,例如 Microsoft 帳戶,無法登入該應用程式,因為他們正在略過 HRD 步驟。

有三種方式可以控制自動加速至同盟 IdP:

網域確認對話框

從 2023 年 4 月開始,使用自動加速或智慧連結的組織可能會開始看到新增至登入 UI 的新畫面。 此畫面稱為「網域確認對話框」,是 Microsoft 對安全性強化的一般承諾的一部分,並要求使用者確認其登入的租用戶網域。 如果您看到 [網域確認] 對話框,且無法辨識列出的租使用者網域,請取消驗證流程並連絡IT系統管理員(如果適用的話)。 以下是網域確認對話框可能適合您的範例:

Screenshot of the domain confirmation dialog listing the sign-in identifier '<kelly@contoso.com>' with a tenant domain of 'contoso.com'.

對話框頂端的標識碼 , kelly@contoso.com代表用來登入的標識碼。 對話框標頭和子標題中列出的租用戶網域會顯示帳戶主租用戶的網域。

雖然不需要針對每個自動加速或智慧連結實例顯示網域確認對話方塊,[定義域確認] 對話框表示自動加速,且智慧連結在顯示時無法再順暢地繼續。 如果您的組織因為瀏覽器原則或其他原因而清除 Cookie,您可能會更頻繁地遇到網域確認對話方塊。 最後,假設 Microsoft Entra ID 會管理自動加速登入流程端對端,引進 [網域確認] 對話框不應造成任何應用程式中斷。

此外,您可以藉由設定 租使用者限制 v2 (TRv2 ) 原則來隱藏網域確認對話方塊。 TRv2 原則會達到與網域確認對話框相同的安全性狀態,因此,當要求中有 TRv2 原則標頭時,會隱藏 [網域確認對話框]。

網域提示

網域提示是應用程式驗證要求中包含的指示詞。 他們可用來將使用者加速到其同盟IdP登入頁面。 多租使用者應用程式也可以使用它們,將使用者直接加速至其租使用者的品牌 Microsoft Entra 登入頁面。

例如,應用程式「largeapp.com」可能會讓他們的客戶在自定義 URL “contoso.largeapp.com” 存取應用程式。應用程式也可能包含網域提示,以在驗證要求中 contoso.com。

網域提示語法會根據所使用的通訊協定而有所不同,而且通常會以下列方式在應用程式中設定:

  • 對於使用 WS-Federationwhr 查詢字串參數的應用程式。 例如,whr=contoso.com。

  • 對於使用 SAML 的應用程式:包含網域提示的 SAML 驗證要求或查詢字串whr=contoso.com。

  • 對於使用 OpenID 連線domain_hint查詢字串參數的應用程式。 例如,domain_hint=contoso.com。

根據預設,如果 下列兩 項都成立,Microsoft Entra ID 會嘗試將登入重新導向至已設定網域的 IDP:

  • 來自應用程式的 驗證要求中包含網域提示和
  • 租使用者與該網域同盟。

如果網域提示未參考已驗證的同盟網域,則會予以忽略。

注意

如果網域提示包含在驗證要求中,且應該受到遵守,其存在會覆寫 HRD 原則中為應用程式設定的自動加速。

自動加速的 HRD 原則

某些應用程式不提供設定其發出之驗證要求的方式。 在這些情況下,您無法使用網域提示來控制自動加速。 您可以 透過主領域探索 原則來設定自動加速,以達到相同的行為。

防止自動加速的 HRD 原則

某些 Microsoft 和 SaaS 應用程式會自動包含domain_hints(例如, https://outlook.com/contoso.com 產生附加的登入要求 &domain_hint=contoso.com ),這可能會中斷 FIDO 等受控認證的推出。 您可以在推出受控認證期間,使用 主領域探索原則來忽略來自特定應用程式或特定網域的網域提示

為舊版應用程式啟用同盟使用者的直接 ROPC 驗證

最佳做法是讓應用程式使用 Microsoft Entra 連結庫和互動式登入來驗證使用者。 連結庫會負責同盟使用者流程。 有時候,舊版應用程式,特別是使用資源擁有者密碼認證 (ROPC) 授與的應用程式、直接將使用者名稱和密碼提交至 Microsoft Entra ID,且不會寫入以瞭解同盟。 它們不會執行 HRD,也不會與正確的同盟端點互動,以驗證使用者。 如果您選擇,您可以使用 主領域探索原則來啟用使用 ROPC 授與來直接使用 Microsoft Entra ID 進行驗證的特定舊版應用程式 ,必須啟用密碼哈希同步。

重要

只有在您已開啟密碼哈希同步,且您知道不需要內部部署IdP實作任何原則的情況下驗證此應用程式,才啟用直接驗證。 如果您基於任何原因關閉密碼哈希同步處理,或關閉與 AD 連線 的目錄同步處理,您應該移除此原則,以避免使用過時的密碼哈希進行直接驗證。

設定 HRD 原則

在同盟登入自動加速或直接雲端式應用程式的應用程式上設定 HRD 原則有三個步驟:

  1. 建立 HRD 原則。

  2. 找出要附加原則的服務主體。

  3. 將原則附加至服務主體。

原則只有在附加至服務主體時,才會對特定應用程式生效。

服務主體上一次只能使用一個 HRD 原則。

您可以使用 Microsoft Graph PowerShell Cmdlet 來建立和管理 HRD 原則。

json 對像是 HRD 原則定義的範例:

{  
  "HomeRealmDiscoveryPolicy":
  {  
    "AccelerateToFederatedDomain":true,
    "PreferredDomain":"federated.example.edu",
    "AllowCloudPasswordValidation":false
  }
}

原則類型為 “HomeRealmDiscoveryPolicy”。

AccelerateToFederatedDomain 是選擇性的。 如果 AccelerateToFederatedDomain 為 false,原則對自動加速沒有任何影響。 如果 AccelerateToFederatedDomain 為 true,且租使用者中只有一個已驗證和同盟網域,則使用者會直接前往同盟 IdP 進行登入。 如果為 true,且租使用者中有多個已驗證的網域, 則必須指定 PreferredDomain

PreferredDomain 是選擇性的。 PreferredDomain 應該指出要加速的網域。 如果租使用者只有一個同盟網域,則可以省略它。 如果省略,而且有多個已驗證的同盟網域,則原則不會有任何作用。

如果 指定 PreferredDomain ,它必須符合租使用者的已驗證同盟網域。 應用程式的所有用戶都必須能夠登入該網域 - 無法登入同盟網域的使用者會被截獲,且無法完成登入。

AllowCloudPasswordValidation 是選擇性的。 如果 AllowCloudPasswordValidation 為 true,則應用程式可藉由將使用者名稱/密碼認證直接呈現給 Microsoft Entra 令牌端點,以驗證同盟使用者。 只有在啟用密碼哈希同步時,才能運作。

此外,有兩個租用戶層級的 HRD 選項存在,如上所示:

HRD 原則的優先順序和評估

HRD 原則可以建立,然後指派給特定組織和服務主體。 這表示多個原則可以套用至特定應用程式,因此 Microsoft Entra ID 必須決定哪個原則優先。 一組規則決定哪些 HRD 原則(許多已套用)生效:

  • 如果驗證要求中有網域提示,則會檢查租使用者的 HRD 原則(原則設為租用戶預設值),以查看是否應該忽略網域提示。 如果允許網域提示,則會使用網域提示所指定的行為。

  • 否則,如果明確將原則指派給服務主體,則會強制執行。

  • 如果沒有網域提示,而且沒有明確指派原則給服務主體,則會強制執行明確指派給服務主體之父組織的原則。

  • 如果沒有網域提示,且未將任何原則指派給服務主體或組織,則會使用預設的 HRD 行為。

下一步