将 Microsoft Entra ID 的多个实例与 AD FS 的单个实例联合

单个高度可用的 AD FS 场可以联合多个林,前提是这些林之间存在双向信任。 多个林不一定对应于同一个 Microsoft Entra ID。 本文说明了如何在单个 AD FS 部署与多个 Microsoft Entra ID 实例之间配置联合。

通过单个 AD FS 进行多租户联合身份验证

注意

本方案不支持设备写回和自动设备联接。

注意

在此场景中,Microsoft Entra Connect 无法用于配置联合,因为 Microsoft Entra Connect 可以在单个 Microsoft Entra ID 中配置域的联合。

将 AD FS 与多个 Microsoft Entra ID 联合的步骤

请考虑这样一种情形:Microsoft Entra contoso.onmicrosoft.com 中的域 contoso.com 已与 AD FS 联合,后者通过本地方式安装在 contoso.com 本地 Active Directory 环境中。 Fabrikam.com 是 fabrikam.onmicrosoft.com Microsoft Entra ID 中的域。

步骤 1:建立双向信任

若要让 contoso.com 中的 AD FS 能够对 fabrikam.com 中的用户进行身份验证,需在 contoso.com 和 fabrikam.com 之间建立双向信任。 请按照此文中的准则创建双向信任。

步骤 2:修改 contoso.com 联合身份验证设置

为联合到 AD FS 的单个域设置的默认颁发者为“http://ADFSServiceFQDN/adfs/services/trust"”,例如 http://fs.contoso.com/adfs/services/trust。 Microsoft Entra ID 需要每个联合域的唯一颁发者。 由于 AD FS 将联合两个域,因此需要修改颁发者的值,以确保值唯一。

注意

自 2024 年 3 月 30 日起,Azure AD 和 MSOnline PowerShell 模块已弃用。 若要了解详细信息,请阅读有关弃用的更新。 在此日期之后,对这些模块的支持仅限于到 Microsoft Graph PowerShell SDK 的迁移帮助和安全性修复。 弃用的模块将持续运行至 2025 年 3 月 30 日。

我们建议迁移到 Microsoft Graph PowerShell,以便与 Microsoft Entra ID(以前称为 Azure AD)进行交互。 有关常见迁移问题,请参阅迁移常见问题解答注意:2024 年 6 月 30 日之后,MSOnline 版本 1.0.x 可能会遇到中断。

在 AD FS 服务器上,打开 Azure AD PowerShell(确保 MSOnline 模块已安装)并执行以下步骤:

连接到包含域 contoso.com 的 Microsoft Entra ID。

Connect-MsolService

更新 contoso.com 的联合身份验证设置:

Update-MsolFederatedDomain -DomainName contoso.com –SupportMultipleDomain

域联合身份验证设置中的颁发者将更改为“http://contoso.com/adfs/services/trust”,并且会为 Microsoft Entra ID 信赖方信任添加颁发声明规则,以便根据 UPN 后缀颁发正确的 issuerId 值。

步骤 3:通过 AD FS 联合 fabrikam.com

在 Azure AD PowerShell 会话中,执行以下步骤:连接到 Microsoft Entra ID,其中包含域 fabrikam.com

Connect-MsolService

将 fabrikam.com 托管域转换为联合身份验证域:

Convert-MsolDomainToFederated -DomainName fabrikam.com -Verbose -SupportMultipleDomain

上述操作会将域 fabrikam.com 与同一 AD FS 联合。 可以对两个域使用 Get-MsolDomainFederationSettings,以便验证域设置。

后续步骤

将 Active Directory 与 Microsoft Entra ID 相连接