应用程序的主领域发现
主域发现(HRD)使 Microsoft Entra ID 能在用户登录时识别出用于用户身份认证的适当身份提供者(IDP)。 当用户登录到 Microsoft Entra 租户以访问资源或通用登录页时,他们输入用户名(UPN)。 Microsoft Entra ID 使用此信息来确定正确的登录位置。
用户被引导至以下身份提供者之一进行身份验证:
- 用户的主租户(可能与资源租户相同)。
- Microsoft 帐户,如果用户是资源租户中的来宾并使用使用者帐户。
- 本地标识提供者,如 Active Directory 联合身份验证服务(ADFS)。
- 与 Microsoft Entra 租户联合的其他标识提供者。
自动加速
组织可以在其Microsoft Entra 租户中配置域,以便与其他 IdP(例如 ADFS)联合,以便用户进行身份验证。 当用户登录到应用程序时,他们最初会看到一个Microsoft Entra 登录页。 如果它们属于联合域,则会重定向到该域的 IdP 登录页。 管理员可能希望绕过特定应用程序的初始Microsoft Entra ID 页,此过程称为“登录自动加速”。
Microsoft建议不要配置自动加速,因为它可能会阻碍更强大的身份验证方法,如 FIDO 和协作。 有关详细信息,请参阅启用无密码安全密钥登录。 要了解如何防止自动加速登录,请参阅禁用自动加速登录。
自动加速可以简化与其他 IdP 联合的租户的登录。 可以为单个应用程序配置它。 若要了解如何使用 HRD 强制自动加速,请参阅 配置自动加速。
注意
配置应用程序的自动加速功能会阻止用户使用托管凭据(例如 FIDO),同时阻止来宾用户登录。 将用户定向到联合身份提供程序(IdP)进行身份验证会绕过 Microsoft Entra 登录页,因此阻止来宾用户访问其他租户或外部身份提供程序,例如 Microsoft 帐户。
可通过三种方式控制对联合 IdP 的自动加速:
域确认对话框
从 2023 年 4 月开始,使用自动加速或智能链接的组织可能会遇到登录 UI 中的新屏幕,称为“域确认对话框”。 此屏幕是 Microsoft 安全强化措施的一部分,需要用户确认他们登录的租户的域。
您需要做什么
看到“域确认”对话框时:
- 检查域:验证屏幕上的域名是否与你打算登录的组织匹配,例如
contoso.com
。- 如果能识别域,请选择“确认”以继续。
- 如果无法识别域,请取消登录过程,并联系 IT 管理员以获取帮助。
域确认对话框的组件
以下屏幕截图是可能会看到的域确认对话框的示例:
对话框顶部的标识符 kelly@contoso.com
表示用于登录的标识符。 对话框标头和子标题中列出的租户域显示帐户的主租户的域。
对于自动加速或智能链接的每个实例,可能不会显示此对话框。 如果组织因浏览器策略而清除 Cookie,则可能会频繁出现“域确认”对话框。 域确认对话框不应导致应用程序中断,因为Microsoft Entra ID 管理自动加速登录流。
域提示
域提示是来自应用程序的身份验证请求中的指令,这些请求可以加速用户到达其联合 IdP 登录页面。 多租户应用程序可以使用它们将用户定向到品牌 Microsoft Entra 登录页面。
例如,“largeapp.com”可能允许通过自定义的 URL“contoso.largeapp.com”进行访问,并在身份验证请求中包含指向 contoso.com 的域提示。
域提示语法因协议而异:
- WS 联合身份验证:
whr
查询字符串参数,例如whr=contoso.com
。 - SAML:具有域提示或
whr=contoso.com
的 SAML 身份验证请求。 - OpenID Connect:
domain_hint
查询字符串参数,例如domain_hint=contoso.com
。
在以下两种情况均成立时,Microsoft Entra ID 会将登录重定向到为域配置的 IDP:
- 身份验证请求中包含域提示。
- 租户与相应域联合。
如果域提示未引用已验证的联合域,则可以将其忽略。
注意
身份验证请求中的域提示将覆盖 HRD 策略中应用程序的自动加速设置。
自动加速的 HRD 策略
某些应用程序不允许配置身份验证请求。 在这种情况下,无法使用域提示来控制自动加速。 使用主领域发现策略来配置自动加速。
阻止自动加速的 HRD 策略
某些 Microsoft 和 SaaS 应用程序会自动包含域名提示,这可能会中断 FIDO 等托管凭据的推出。 在推出托管凭据期间,使用主领域发现策略忽略来自特定应用或域的域提示。
为旧的应用程序启用对联合用户进行直接 ROPC 身份验证
最佳做法是应用程序使用 Microsoft Entra 库和交互式登录进行用户身份验证。 使用资源所有者密码凭据 (ROPC) 授予的旧应用程序可能会将凭据直接提交给 Microsoft Entra ID,而无需了解联合身份验证。 它们不执行 HRD 也不与正确的联合端点交互。 可以使用 主领域发现策略,使特定的旧版应用程序 直接使用 Microsoft Entra ID 进行身份验证。 此选项有效,前提是启用了密码哈希同步。
重要
仅当密码哈希同步处于活动状态并且可以接受在不使用本地 IdP 策略的情况下对应用程序进行身份验证时,才启用直接身份验证。 如果禁用了密码哈希同步或与 AD Connect 的目录同步,请删除此策略以防止使用过时的密码哈希进行直接身份验证。
设置人力资源开发政策
若要在应用程序中设置 HRD 策略,以启用联合登录自动加速或基于云的直接应用程序,请执行以下操作:
- 创建 HRD 策略
- 找到要附加策略的服务主体。
- 将策略附加到服务主体。
当附加到服务主体时,策略对特定应用程序生效。 在一个服务主体上只能激活一个 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:可选。 启用 AlternateLoginID,以便在 Microsoft Entra 登录页上使用电子邮件而非 UPN 登录。 依赖于不自动加速到联合 IDP 的用户。
- DomainHintPolicy:可选的复杂对象,它阻止域提示将用户自动加速到联合域。 确保发送域提示的应用程序不会阻止云托管的凭据登录。
HRD 策略的优先级和评估
HRD 策略可以分配给组织和服务主体,允许将多个策略应用于应用程序。 Microsoft Entra ID 使用以下规则确定优先级:
- 如果存在域提示,租户的 HRD 策略将检查是否应忽略域提示。 如果允许,则使用域提示功能。
- 如果将某个策略显式分配到服务主体,将强制实施该策略。
- 如果不存在域提示或服务主体策略,则会强制实施分配给父组织的策略。
- 如果未分配域提示或策略,则应用默认 HRD 行为。