迁移到 Microsoft Entra 多重身份验证和 Microsoft Entra 用户身份验证

多重身份验证可以帮助保护基础结构和资产免遭恶意行动者入侵。 不再为新部署提供 Microsoft 多重身份验证服务器(MFA 服务器)。 使用 MFA 服务器的客户应迁移到 Microsoft Entra 多重身份验证(Microsoft Entra 多重身份验证)。

可以通过多种选项从 MFA 服务器迁移到 Microsoft Entra ID:

  • 良好:仅将 MFA 服务迁移到 Microsoft Entra ID
  • 更好:将 MFA 服务和用户身份验证迁移到 Microsoft Entra ID,本文会介绍这种做法。
  • 最好:将所有应用程序、MFA 服务和用户身份验证迁移到 Microsoft Entra ID。 如果你打算迁移应用程序,请参阅本文的“将应用程序迁移到 Microsoft Entra ID”部分。

若要为组织选择适当的 MFA 迁移选项,请参阅从 MFA 服务器迁移到 Microsoft Entra 多重身份验证中的注意事项。

下图显示了在 AD FS 上保留某些应用程序的情况下,迁移到 Microsoft Entra 多重身份验证和云身份验证的过程。 使用此过程可以根据组成员身份以迭代方式将用户从 MFA 服务器迁移到 Microsoft Entra 多重身份验证。

本文的后续部分将解释每个步骤。

注意

如果你打算在进行这种迁移的过程中将任何应用程序移到 Microsoft Entra ID,应在迁移 MFA 之前执行此操作。 如果要移动所有应用,则可以跳过介绍 MFA 迁移过程的部分。 请参阅本文末尾有关移动应用程序的部分。

迁移到 Microsoft Entra ID 和用户身份验证的过程

迁移到 Microsoft Entra ID 和用户身份验证的过程。

准备组和条件访问

三项 MFA 迁移功能会使用组。

  • 通过分阶段推出以迭代方式将用户移到 Microsoft Entra 多重身份验证。

    使用在 Microsoft Entra ID 中创建的组,也称为仅限云的组。 对于将用户移到 MFA,以及对于条件访问策略,你都可以使用 Microsoft Entra 安全组或 Microsoft 365 组。

    重要

    分阶段推出不支持嵌套和动态组。 请勿使用这些类型的组。

  • 条件访问策略。 可以使用 Microsoft Entra ID 或本地组进行条件访问。

  • 使用声明规则为 AD FS 应用程序调用 Microsoft Entra 多重身份验证。 此步骤仅在将应用程序与 AD FS 配合使用时适用。

    必须使用本地 Active Directory 安全组。 一旦使用 Microsoft Entra 多重身份验证作为额外的身份验证方法,即可指定用户组在每个信赖方信任上使用该方法。 例如,可以针对已迁移的用户调用 Microsoft Entra 多重身份验证,针对尚未迁移的用户调用 MFA 服务器。 此策略在测试和迁移过程中都很有帮助。

注意

建议不要重复使用安全组。 仅使用安全组来保护具有条件访问策略的一组高价值应用。

配置条件访问策略

如果已使用条件访问来确定何时提示用户执行 MFA,则无需对策略进行任何更改。 当用户迁移到云身份验证时,他们将开始使用条件访问策略定义的 Microsoft Entra 多重身份验证。 系统将不再将他们重定向到 AD FS 和 MFA 服务器。

如果联合域将 federatedIdpMfaBehavior 设置为 enforceMfaByFederatedIdp 或将 SupportsMfa 标志设置为 $True(当两者都设置时,federatedIdpMfaBehavior 将替代 SupportsMfa),则很有可能是使用声明规则在 AD FS 上强制实施 MFA。 在这种情况下,需要分析 Microsoft Entra ID 信赖方信任上的声明规则,并创建支持相同安全目标的条件访问策略。

如有必要,请在启用分阶段推出之前配置条件访问策略。 有关更多信息,请参见以下资源:

准备 AD FS

如果 AD FS 中没有任何需要 MFA 的应用程序,则可以跳过本部分并转到准备分阶段推出部分。

将 AD FS 服务器场升级到 2019 和 FBL 4

在 AD FS 2019 中,Microsoft 发布了新功能,以帮助为信赖方(例如某个应用程序)指定附加的身份验证方法。 通过使用组成员身份来确定身份验证提供程序,可以指定附加身份验证方法。 通过指定附加身份验证方法,可以过渡到 Microsoft Entra 多重身份验证,同时在过渡期间保持其他身份验证不变。

有关详细信息,请参阅使用 WID 数据库升级到 Windows Server 2016 中的 AD FS。 该文章介绍了如何将场升级到 AD FS 2019,以及如何将 FBL 升级到 4。

配置声明规则以调用 Microsoft Entra 多重身份验证

现在,Microsoft Entra 多重身份验证是一种附加身份验证方法,你可以通过配置声明规则(也称为信赖方信任)来指定用户组使用 Microsoft Entra 多重身份验证。 使用组可以控制全局调用的或者由应用程序调用的身份验证提供程序。 例如,可以针对注册了组合式安全信息或者已迁移其电话号码的用户调用 Microsoft Entra 多重身份验证,而针对电话号码没有迁移的用户,则调用 MFA 服务器。

注意

声明规则需要本地安全组。

备份规则

在配置新的声明规则之前,请备份规则。 需要在清理过程中还原声明规则。

根据你的配置,可能还需要复制现有规则,并追加为迁移创建的新规则。

若要查看全局规则,请运行:

Get-AdfsAdditionalAuthenticationRule

若要查看信赖方信任,请运行以下命令并将 RPTrustName 替换为信赖方信任声明规则的名称:

(Get-AdfsRelyingPartyTrust -Name "RPTrustName").AdditionalAuthenticationRules

访问控制策略

注意

无法将访问控制策略配置为根据组成员身份调用特定的身份验证提供程序。

若要从访问控制策略过渡到附加身份验证规则,请针对每个使用 MFA 服务器身份验证提供程序的信赖方信任运行以下命令:

Set-AdfsRelyingPartyTrust -**TargetName AppA -AccessControlPolicyName $Null**

此命令会将逻辑从当前的访问控制策略移入到附加身份验证规则。

设置组并查找 SID

需要设置一个特定的组,用于放置要对其调用 Microsoft Entra 多重身份验证的用户。 需要查找该组的安全标识符 (SID)。 若要查找组 SID,请运行以下命令并将 GroupName 替换为组名称:

Get-ADGroup GroupName

获取组 SID 的 Microsoft Graph PowerShell 命令。

设置声明规则以调用 Microsoft Entra 多重身份验证

以下 Microsoft Graph PowerShell cmdlet 针对组中的、不在企业网络上的用户调用 Microsoft Entra 多重身份验证。 将 "YourGroupSid" 替换为运行上述 cmdlet 找到的 SID。

请务必查看如何在 AD FS 2019 中选择附加身份验证提供程序

重要

在继续前,请备份声明规则。

设置全局声明规则

运行以下命令并将 RPTrustName 替换为信赖方信任声明规则的名称:

(Get-AdfsRelyingPartyTrust -Name "RPTrustName").AdditionalAuthenticationRules

该命令将返回信赖方信任的当前附加身份验证规则。
需将以下规则追加到当前声明规则:

c:[Type == "https://schemas.microsoft.com/ws/2008/06/identity/claims/groupsid", Value == 
"YourGroupSID"] => issue(Type = "https://schemas.microsoft.com/claims/authnmethodsproviders", 
Value = "AzureMfaAuthentication");
not exists([Type == "https://schemas.microsoft.com/ws/2008/06/identity/claims/groupsid", 
Value=="YourGroupSid"]) => issue(Type = 
"https://schemas.microsoft.com/claims/authnmethodsproviders", Value = 
"AzureMfaServerAuthentication");'

以下示例假设当前声明规则已配置为当用户从你的网络外部进行连接时提示他们执行 MFA。 此示例包括需要追加的附加规则。

Set-AdfsAdditionalAuthenticationRule -AdditionalAuthenticationRules 'c:[type == 
"https://schemas.microsoft.com/ws/2012/01/insidecorporatenetwork", value == "false"] => issue(type = 
"https://schemas.microsoft.com/ws/2008/06/identity/claims/authenticationmethod", value = 
"https://schemas.microsoft.com/claims/multipleauthn" );
 c:[Type == "https://schemas.microsoft.com/ws/2008/06/identity/claims/groupsid", Value == 
"YourGroupSID"] => issue(Type = "https://schemas.microsoft.com/claims/authnmethodsproviders", 
Value = "AzureMfaAuthentication");
not exists([Type == "https://schemas.microsoft.com/ws/2008/06/identity/claims/groupsid", 
Value=="YourGroupSid"]) => issue(Type = 
"https://schemas.microsoft.com/claims/authnmethodsproviders", Value = 
"AzureMfaServerAuthentication");'
设置每个应用程序的声明规则

此示例修改特定信赖方信任(应用程序)的声明规则。 其中包括需要追加的附加规则。

Set-AdfsRelyingPartyTrust -TargetName AppA -AdditionalAuthenticationRules 'c:[type == 
"https://schemas.microsoft.com/ws/2012/01/insidecorporatenetwork", value == "false"] => issue(type = 
"https://schemas.microsoft.com/ws/2008/06/identity/claims/authenticationmethod", value = 
"https://schemas.microsoft.com/claims/multipleauthn" );
c:[Type == "https://schemas.microsoft.com/ws/2008/06/identity/claims/groupsid", Value == 
"YourGroupSID"] => issue(Type = "https://schemas.microsoft.com/claims/authnmethodsproviders", 
Value = "AzureMfaAuthentication");
not exists([Type == "https://schemas.microsoft.com/ws/2008/06/identity/claims/groupsid", 
Value=="YourGroupSid"]) => issue(Type = 
"https://schemas.microsoft.com/claims/authnmethodsproviders", Value = 
"AzureMfaServerAuthentication");'

在 AD FS 中将 Microsoft Entra 多重身份验证配置为身份验证提供程序

若要为 AD FS 配置 Microsoft Entra 多重身份验证,必须配置每个 AD FS 服务器。 如果场中有多个 AD FS 服务器,则可以使用 Microsoft Graph PowerShell 远程配置它们。

有关此过程的分步指导,请参阅配置 AD FS 服务器

配置服务器后,可以添加 Microsoft Entra 多重身份验证作为附加身份验证方法。

显示如何添加 Microsoft Entra 多重身份验证作为附加身份验证方法的屏幕截图。

准备分阶段推出

现在可以启用分阶段推出。 分阶段推出可帮助你迭代地将用户移动到 PHS 或 PTA,同时也迁移其本地 MFA 设置。

Microsoft Entra 多重身份验证的注册用户

本部分介绍用户如何注册组合安全(MFA 和自助式密码重置)以及如何迁移其 MFA 设置。 Microsoft Authenticator 可以在无密码模式下使用。 它还可以在任一注册方法中用作 MFA 的第二个因素。

建议让用户注册组合安全性信息,以便在单一位置注册 MFA 和 SSPR 的身份验证方法和设备。

Microsoft 提供了通信模板,你可以将这些模板提供给用户,以指导他们完成组合注册过程。 这些模板包括电子邮件、海报、桌面立牌和各种其他资产的模板。 用户可在 https://aka.ms/mysecurityinfo 上注册其信息,在此过程中他们会转到组合安全性注册屏幕。

我们建议使用条件访问保护安全性注册过程,这需要从受信任的设备或位置进行注册。 有关跟踪注册状态的信息,请参阅 Microsoft Entra ID 的身份验证方法活动

注意

对于必须从不受信任的位置或设备注册其组合安全性信息的用户,可为其颁发临时访问密码,或者暂时将其从策略中排除。

从 MFA 服务器迁移 MFA 设置

可以使用 MFA 服务器迁移实用工具将用户的已注册 MFA 设置从 MFA 服务器同步到 Microsoft Entra ID。 可以同步电话号码、硬件令牌和设备注册,例如 Microsoft Authenticator 应用设置。

将用户添加到相应的组

  • 如果创建了新的条件访问策略,请将相应的用户添加到这些组。
  • 如果为声明规则创建了本地安全组,请将相应的用户添加到这些组。
  • 请仅在将用户添加到相应的条件访问规则后,才将用户添加到为分阶段推出创建的组。 完成后,用户将开始使用你选择的 Azure 身份验证方法(PHS 或 PTA),并在需要执行 MFA 时使用 Microsoft Entra 多重身份验证。

重要

分阶段推出不支持嵌套和动态组。 不要使用这种类型的组。

建议不要重复使用安全组。 如果使用安全组来保护具有条件访问策略的一组高价值应用,请仅将该组用于此用途。

监视

可以使用许多 Azure Monitor 工作簿以及使用情况和见解报告来监视部署。 可以在 Microsoft Entra ID 导航窗格中的“监视”下找到这些报告。

监视分阶段推出

在“工作簿”部分,选择“公共模板”。 在“混合身份验证”部分下,选择“分阶段推出中的组、用户和登录”工作簿 。

此工作簿可用于监视以下活动:

  • 已添加到分阶段推出的用户和组。
  • 已从分阶段推出中删除的用户和组。
  • 分阶段推出中用户的登录失败情况,以及失败的原因。

监视 Microsoft Entra 多重身份验证注册

可以使用身份验证方法使用情况和见解报告来监视 Microsoft Entra 多重身份验证注册。 可以在 Microsoft Entra ID 中找到此报表。 依次选择“监视”、“使用情况和见解”

展示如何查找“使用情况和见解”报告的屏幕截图。

在“使用情况和见解”中,选择“身份验证方法”

可以在“注册”选项卡上找到详细的 Microsoft Entra 多重身份验证注册信息。可以选择“已注册 Azure 多重身份验证的用户”超链接向下钻取,以查看已注册用户的列表。

“注册”选项卡的屏幕截图。

监视应用登录运行状况

使用应用登录运行状况工作簿或应用程序活动使用报告监视迁移到 Microsoft Entra ID 的应用程序。

  • “应用登录运行状况”工作簿。 有关使用此工作簿的详细指导,请参阅监视应用程序登录运行状况以实现复原
  • Microsoft Entra 应用程序活动使用情况报告。 使用此 报告 可以查看各个应用程序的成功和失败登录,以及向下钻取和查看特定应用程序的登录活动。

清理任务

将所有用户移到 Microsoft Entra 云身份验证和 Microsoft Entra 多重身份验证后,即可关闭 MFA 服务器。 在删除服务器之前,建议查看 MFA 服务器日志,确保没有任何用户或应用程序正在使用该服务器。

将域转换为托管身份验证

现在应将 Microsoft Entra ID 中的联合域转换为托管域,并移除分阶段推出配置。 此转换可以确保新用户在未被添加到迁移组的情况下就能使用云身份验证。

还原 AD FS 上的声明规则并删除 MFA 服务器身份验证提供程序

按照配置声明规则以调用 Microsoft Entra 多重身份验证中所述的步骤还原声明规则,并移除所有 AzureMFAServerAuthentication 声明规则。

例如,删除规则中的以下部分:

c:[Type == "https://schemas.microsoft.com/ws/2008/06/identity/claims/groupsid", Value ==
"**YourGroupSID**"] => issue(Type = "https://schemas.microsoft.com/claims/authnmethodsproviders",
Value = "AzureMfaAuthentication");
not exists([Type == "https://schemas.microsoft.com/ws/2008/06/identity/claims/groupsid",
Value=="YourGroupSid"]) => issue(Type =
"https://schemas.microsoft.com/claims/authnmethodsproviders", Value =
"AzureMfaServerAuthentication");'

禁用用作 AD FS 中的身份验证提供程序的 MFA 服务器

此更改可确保仅将 Microsoft Entra 多重身份验证用作身份验证提供程序。

  1. 打开 AD FS 管理控制台。
  2. 在“服务”下,右键单击“身份验证方法”并选择“编辑多重身份验证方法”。
  3. 清除“Azure 多重身份验证服务器”复选框。

解除 MFA 服务器授权

遵循企业服务器解除过程删除环境中的 MFA 服务器。

解除 MFA 服务器时可能的注意事项包括:

  • 在删除服务器之前,建议查看 MFA 服务器日志,确保没有任何用户或应用程序正在使用该服务器。
  • 通过服务器上的控制面板卸载多重身份验证服务器。
  • (可选)在先备份留下的日志和数据目录之后将其清理掉。
  • 卸载多重身份验证 Web 服务器 SDK(如果适用),包括 inetpub\wwwroot\MultiFactorAuthWebServiceSdk 和/或 MultiFactorAuth 目录中留下的任何文件。
  • 对于版本低于 8.0.x 的 MFA 服务器,可能还需要移除多重身份验证手机应用 Web 服务。

将应用程序身份验证迁移到 Microsoft Entra ID

如果将所有应用程序身份验证与 MFA 和用户身份验证一起迁移,将能够移除大量本地基础结构,从而降低成本和风险。 如果移动所有应用程序身份验证,则可以跳过准备 AD FS 阶段并简化 MFA 迁移。

下图显示了移动所有应用程序身份验证的过程。

将应用程序迁移到 Microsoft Entra 多重身份验证的流程。

如果在迁移之前无法移动所有应用程序,请在开始之前尽可能多地移动。 有关将应用程序迁移到 Azure 的详细信息,请参阅用于将应用程序迁移到 Microsoft Entra ID 的资源

后续步骤