将 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.partner.onmschina.cn 中的域 contoso.com 已与 AD FS 联合,后者通过本地方式安装在 contoso.com 本地 Active Directory 环境中。 Fabrikam.com 是 fabrikam.partner.onmschina.cn 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 PowerShell。 若要了解详细信息,请阅读有关弃用的更新

我们建议迁移到 Microsoft Graph PowerShell,以便与 Microsoft Entra ID(以前称为 Azure AD)进行交互。 Microsoft Graph PowerShell 在 PowerShell 7 上提供,支持访问所有 Microsoft Graph API。 有关常见迁移查询的解答,请参阅迁移常见问题解答

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

连接到 Microsoft Entra ID,其中包含域 contoso.com Connect-MsolService -AzureEnvironment AzureChinaCloud 更新 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 -AzureEnvironment AzureChinaCloud

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

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

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

后续步骤

将 Active Directory 与 Microsoft Entra ID 相连接