通过

应用程序的域识别发现

Home Realm Discovery(HRD)使Microsoft Entra ID能够在用户登录期间标识适当的标识提供者(IdP)进行身份验证。 当用户登录到Microsoft Entra租户以访问资源或通用登录页时,他们输入用户主体名称(UPN)。 Microsoft Entra ID使用此信息来确定正确的登录位置。

用户将被引导至以下标识提供者之一进行身份验证:

  • 用户的主租户(可能与资源租户相同)。
  • Microsoft 帐户,如果用户在资源租户中作为来宾并使用个人账户。
  • 本地标识提供者,如Active Directory 联合身份验证服务(AD FS)。
  • 与Microsoft Entra租户联合的另一个标识提供者。

自动加速

组织可以将Microsoft Entra租户中的域配置为与其他 IdP(例如 AD FS)联合,以便用户进行身份验证。 当用户登录到应用程序时,他们最初会看到一个Microsoft Entra登录页。 如果它们属于联合域,则会重定向到该域的 IdP 登录页面。 管理员可能希望绕过特定应用程序的初始Microsoft Entra ID页。 此过程称为 登录自动加速

Microsoft建议不要配置自动加速,因为它可能会阻碍更强大的身份验证方法,例如 FIDO 和协作。 要了解如何防止自动加速登录,请参阅禁用自动加速登录

自动加速可简化与另一个 IdP 联合的租户的登录。 可以为单个应用程序进行配置。 若要了解如何使用 HRD 强制自动加速,请参阅 配置自动加速

注意

为应用程序配置自动加速会阻止用户使用托管凭据(如 FIDO),阻止来宾用户登录。 将用户定向到联合 IdP 进行身份验证会绕过 Microsoft Entra 登录页,并防止来宾用户访问其他租户或外部 IdP,例如 Microsoft 账户。

可以通过三种方式控制自动加速到联合 IdP:

域确认对话框

截至 2023 年 4 月,使用自动加速或智能链接的组织可能会在登录 UI 中遇到域确认对话框。 此对话框是Microsoft安全加固工作的一部分,需要用户确认他们正在登录的租户域。

您需要执行的操作

出现域确认对话框时,请检查该域。 验证对话框中的域名是否与你打算登录的组织匹配。

如果识别域,请选择“ 确认 ”继续。 如果无法识别域,请取消登录过程,并联系 IT 管理员以获取帮助。

域确认对话框的组件

以下屏幕截图显示了域确认对话框的外观示例。

显示登录标识符和租户域的域确认对话框的屏幕截图。

对话框 kelly@contoso.com顶部的标识符表示用于登录的标识符。 对话框的标题和文本显示帐户的主租户的域。

对于自动加速或智能链接的每个实例,可能不会显示本对话框。 如果组织由于浏览器策略而清除 Cookie,则可能会更频繁地看到“域确认”对话框。

域确认对话框不应导致应用程序中断,因为Microsoft Entra ID管理自动加速登录流。

域提示

域提示是来自应用程序的身份验证请求中的指令,这些请求可加速用户进入其联合 IdP 登录页面。 多租户应用程序可以利用它们将用户引导到其租户的品牌 Microsoft Entra 登录页面。

例如,可能允许通过自定义 URL largeapp.com 进行访问,并在身份验证请求中包含指向contoso.largeapp.com的域提示contoso.com

域提示语法因协议而异:

  • WS-Federationwhr 查询字符串参数;例如 whr=contoso.com
  • SAML:带有域提示或 whr=contoso.com 的 SAML 身份验证请求。
  • OpenID Connectdomain_hint 查询字符串参数;例如 domain_hint=contoso.com

如果以下两种情况都为真,则 Microsoft Entra ID 会将登录请求重定向到为该域配置的 IdP:

  • 域提示包含在身份验证请求中。
  • 租户与相应域联合。

如果域提示不引用已验证的联合域,则可以忽略它。

注意

在身份验证请求中,域提示会覆盖在 HRD 策略中为应用程序设置的自动加速功能。

自动加速的人力资源开发策略

某些应用程序不允许配置身份验证请求。 在此类情况下,域提示不能用来控制自动加速。 使用 主领域发现 策略配置自动加速。

用于防止自动加速的人力资源开发政策

某些微软和软件即服务(SaaS)应用程序会自动包括域提示,这可能会中断如 FIDO 等的管理凭据部署。 使用 Home Realm Discovery 策略 在托管凭据推出期间忽略某些应用或域中的域提示。

针对旧版应用程序的联合用户的直接 ROPC 身份验证

最佳做法是应用程序使用Microsoft Entra库和交互式登录进行用户身份验证。 使用资源所有者密码凭据(ROPC)授权的旧应用程序可能会直接将凭据提交到Microsoft Entra ID,而无需了解联合身份验证。 它们不会执行 HRD,也不会与正确的联合终结点交互。 可以使用Home Realm Discovery 策略启用特定的旧版应用程序直接通过 Microsoft Entra ID 进行身份验证。 如果启用了密码哈希同步,则此选项有效。

重要

只有在密码哈希同步处于活动状态,并在不使用本地 IdP 策略对应用程序进行身份验证是可接受的情况下,才启用直接身份验证。 如果禁用了Microsoft Entra Connect 的密码哈希同步或目录同步,请删除此策略以防止使用过时的密码哈希进行直接身份验证。

设置 HRD 策略的步骤

要在应用程序中设置 HRD 策略,以启用联合登录自动加速或基于云的直接应用程序:

  1. 创建 HRD 策略
  2. 找到要将策略附加到的服务主体。
  3. 将策略关联到服务主体。

策略在附加到服务主体时对特定应用程序生效。 服务主体中每次只有一个 HRD 策略处于活动状态。 使用 Microsoft Graph PowerShell cmdlet 创建和管理 HRD 策略。

下面是 HRD 策略定义示例:

{  
  "HomeRealmDiscoveryPolicy": {  
    "AccelerateToFederatedDomain": true,  
    "PreferredDomain": "federated.example.edu",  
    "AllowCloudPasswordValidation": false  
  }  
}  
  • AccelerateToFederatedDomain:可选。 如果值为此值 false,则策略不会影响自动加速。 如果值为 true 且存在一个已验证的联合域,则用户将定向到联合 IdP。 如果存在多个域,请指定 PreferredDomain
  • PreferredDomain:可选。 指示用于加速的域。 如果只有一个联合域存在,则省略它。 如果在有多个域的情况下省略它,则策略不起作用。
  • AllowCloudPasswordValidation:可选。 如果值为 true,则此设置允许联合用户通过用户名/密码凭据直接进行身份验证到 Microsoft Entra 令牌终结点,并且需要密码哈希同步。

其他租户级 HRD 选项包括:

  • AlternateIdLogin:可选。 在Microsoft Entra登录页上启用 AlternateLoginID 以启用电子邮件登录而不是 UPN。 依赖于未自动加速到联合 IDP 的用户。
  • DomainHintPolicy:可选的复杂对象,该对象阻止域提示自动将用户加速到联合域。 确保发送域提示的应用程序不会阻止云托管凭据登录。

HRD 策略的优先级和评估

可以将 HRD 策略分配给组织和服务主体,以便多个策略可以应用于应用程序。 Microsoft Entra ID使用以下规则确定优先级:

  • 如果存在域提示,租户的 HRD 策略会检查是否应忽略域提示。 如果允许域提示,Microsoft Entra ID 会利用域提示行为。
  • 如果将策略显式分配给服务主体,Microsoft Entra ID强制实施策略。
  • 如果不存在域提示或服务主体策略,Microsoft Entra ID强制实施分配给父组织的策略。
  • 如果未分配域提示或策略,则应用默认的 HRD 行为。

注意

HRD 策略不适用于移动平台和 macOS 上的中转身份验证。 此限制包括在移动平台上使用 Microsoft Authenticator 应用或 Mac 上的 公司门户 应用。 在这种情况下,如果需要自动加速,则必须在调用应用的身份验证请求中传递域提示。