本文介绍如何为访问 Microsoft Exchange 的 Outlook 移动客户端实现多重身份验证。 与具有用户邮箱的 Microsoft Exchange 存在的两种不同可能性相对应的两种体系结构:
体系结构(Exchange Online)
在此方案中,用户需要使用支持新式身份验证的移动客户端。 推荐 Microsoft 支持的 Outlook Mobile (Outlook for iOS / Outlook for Android)。 以下工作流使用 Outlook Mobile。
下载包含本文中所有示意图的 Visio 文件。
工作流(Exchange Online)
- 用户通过输入电子邮件地址开始 Outlook 配置文件配置。 Outlook Mobile 连接到自动检测服务。
- AutoDetect 服务向 Exchange Online 发出匿名自动发现 V2 请求,以获取邮箱。 Exchange Online 使用 302 重定向响应进行答复,该响应包含邮箱的 ActiveSync URL 地址,指向 Exchange Online。 可在此处查看此类请求的示例。
- 现在,自动检测服务已提供有关邮箱内容的终结点的信息,因此它可以在不进行身份验证的情况下调用 ActiveSync。
- 如此处的连接流中所述,Exchange 使用 401 质询响应进行响应。 它包含一个授权 URL,用于标识客户端需要用于获取访问令牌的 Microsoft Entra ID 终结点。
- 自动检测服务将 Microsoft Entra 授权终结点返回到客户端。
- 客户端连接到 Microsoft Entra ID 以完成身份验证,并输入登录信息(电子邮件)。
- 如果域是联合的,则会将请求重定向到 Web 应用程序代理。
- Web 应用程序代理将身份验证请求代理到 AD FS。 用户会看到登录页。
- 用户输入凭据以完成身份验证。
- 用户重定向回 Microsoft Entra ID。
- Microsoft Entra ID 应用 Azure 条件访问策略。
- 如果设备在 Microsoft Endpoint Manager 中注册、强制实施应用程序保护策略和/或强制实施多重身份验证,则策略可以根据用户的设备状态强制实施限制。 可以在此处所述的实现步骤中找到此类策略的详细示例。
- 用户实现任何策略要求并完成多重身份验证请求。
- Microsoft Entra ID 向客户端返回访问权限并刷新令牌。
- 客户端使用访问令牌连接到 Exchange Online 并检索邮箱内容。
配置(Exchange Online)
若要阻止尝试通过旧式身份验证访问 Exchange Online ActiveSync (关系图中的红色虚线),需要创建一个身份验证策略,以禁用 Outlook 移动服务使用的协议的旧式身份验证。 具体而言,需要禁用自动发现、ActiveSync 和 Outlook 服务。 下面是相应的身份验证策略配置:
AllowBasicAuthAutodiscover : False
AllowBasicAuthActiveSync : False
AllowBasicAuthOutlookService : False
创建身份验证策略后,可以将其分配给试点用户组。 然后,在测试后,可以扩展策略以适用于所有用户。 若要在组织级别应用该策略,请使用 Set-OrganizationConfig -DefaultAuthenticationPolicy <name_of_policy>
命令。 需要为此配置使用 Exchange Online PowerShell。
对于联合域,可以将 AD FS 配置为触发多重身份验证,而不是使用条件访问策略。 但是,建议控制连接并在条件访问策略级别应用限制。
体系结构(本地 Exchange)
下载包含本文中所有示意图的 Visio 文件。
在此方案中,用户需要使用支持新式身份验证的移动客户端,如使用混合新式身份验证中所述。 推荐 Microsoft 支持的 Outlook Mobile (Outlook for iOS / Outlook for Android)。 以下工作流使用 Outlook Mobile。
工作流(本地 Exchange)
- 用户通过输入电子邮件地址开始 Outlook 配置文件配置。 Outlook Mobile 连接到自动检测服务。
- AutoDetect 服务向 Exchange Online 发出匿名自动发现 V2 请求,以获取邮箱。
- 邮箱位于本地后,Exchange Online 使用 302 重定向响应进行答复,该响应包含本地自动发现 URL,自动检测可用其来检索邮箱的 ActiveSync URL 地址。
- 自动检测使用在上一步骤中收到的本地 URL 向本地 Exchange 发出匿名自动发现 v2 请求,以获取邮箱。 本地 Exchange 返回邮箱的 ActiveSync URL 地址,指向本地 Exchange。 可在此处查看此类请求的示例。
- 现在,自动检测服务已提供有关邮箱内容的终结点的信息,因此它可以在不进行身份验证的情况下调用本地 ActiveSync 终结点。 如此处的连接流中所述,Exchange 使用 401 质询响应进行响应。 它包含一个授权 URL,用于标识客户端需要用于获取访问令牌的 Microsoft Entra ID 终结点。
- 自动检测服务将 Microsoft Entra 授权终结点返回到客户端。
- 客户端连接到 Microsoft Entra ID 以完成身份验证,并输入登录信息(电子邮件)。
- 如果域是联合的,则会将请求重定向到 Web 应用程序代理。
- Web 应用程序代理将身份验证请求代理到 AD FS。 用户会看到登录页。
- 用户输入凭据以完成身份验证。
- 用户重定向回 Microsoft Entra ID。
- Microsoft Entra ID 应用 Azure 条件访问策略。
- 如果设备在 Microsoft Endpoint Manager 中注册、强制实施应用程序保护策略和/或强制实施多重身份验证,则策略可以根据用户的设备状态强制实施限制。 可以在此处所述的实现步骤中找到此类策略的详细示例。
- 用户实现任何策略要求并完成多重身份验证请求。
- Microsoft Entra ID 向客户端返回访问权限并刷新令牌。
- 客户端使用访问令牌连接到 Exchange Online 并检索本地邮箱内容。 应从缓存中提供内容,如此处所示。 为此,客户端发出预配请求,其中包括用户的访问令牌和本地 ActiveSync 终结点。
- Exchange Online 中的预配 API 采用提供的令牌作为输入。 API 获取第二个访问和刷新令牌配对,以便通过对 Active Directory 的代表调用访问本地邮箱。 第二个访问令牌的范围是客户端作为 Exchange Online 和本地 ActiveSync 命名空间终结点的受众。
- 如果未预配邮箱,预配 API 将创建邮箱。
- 预配 API 建立与本地 ActiveSync 终结点的安全连接。 API 使用第二个访问令牌作为身份验证机制来同步用户的消息传递数据。 刷新令牌定期用于生成新的访问令牌,以便数据可以在后台同步,而无需用户干预。
- 向客户端返回响应。
配置(本地 Exchange)
若要阻止尝试通过旧式身份验证访问 Exchange 本地 ActiveSync (关系图中的红色虚线),需要创建一个身份验证策略,以禁用 Outlook 移动服务使用的协议的旧式身份验证。 具体而言,需要禁用自动发现和 ActiveSync。 下面是相应的身份验证策略配置:
BlockLegacyAuthAutodiscover: True
BlockLegacyAuthActiveSync: True
下面是用于创建此身份验证策略的命令示例:
New-AuthenticationPolicy -Name BlockLegacyActiveSyncAuth -BlockLegacyAuthActiveSync -BlockLegacyAuthAutodiscover
创建身份验证策略后,首先可以使用 Set-User user01 -AuthenticationPolicy <name_of_policy>
命令将其分配给试点用户组。 测试后,可以扩展策略以包括所有用户。 若要在组织级别应用该策略,请使用 Set-OrganizationConfig -DefaultAuthenticationPolicy <name_of_policy>
命令。 需要为此配置使用 Exchange 本地 PowerShell。
还需要采取措施来实现一致性,并仅允许从 Outlook 客户端进行访问。 若要允许 Outlook Mobile 作为组织中唯一批准的客户端,需要阻止来自不支持新式身份验证 Outlook 移动客户端的连接尝试。 需要通过完成以下步骤,在 Exchange 本地级别阻止这些尝试:
阻止其他移动设备客户端:
Set-ActiveSyncOrganizationSettings -DefaultAccessLevel Block
允许 Exchange Online 连接到本地:
If ((Get-ActiveSyncOrganizationSettings).DefaultAccessLevel -ne "Allow") {New-ActiveSyncDeviceAccessRule -Characteristic DeviceType -QueryString "OutlookService" -AccessLevel Allow}
阻止 Outlook for iOS 和 Outlook for Android 的基本身份验证:
New-ActiveSyncDeviceAccessRule -Characteristic DeviceModel -QueryString "Outlook for iOS and Android" -AccessLevel Block
有关这些步骤的详细信息,请参阅将混合新式身份验证用于 Outlook for iOS 和 Outlook for Android。
对于联合域,可以将 AD FS 配置为触发多重身份验证,而不是使用条件访问策略。 但是,建议控制连接并在条件访问策略级别应用限制。
组件
- Microsoft Entra ID。 Microsoft Entra ID 是 Microsoft 基于云的标识和访问管理服务。 它提供基于 EvoSTS(Microsoft Entra ID 使用的安全令牌服务)的新式身份验证。 它用作本地 Exchange Server 的身份验证服务器。
- Microsoft Entra 多重身份验证。 多重身份验证是系统在用户登录时提醒其输入另一种身份验证的过程,比如在手机上输入代码或提供指纹扫描。
- Microsoft Entra 条件访问。 条件访问是 Microsoft Entra ID 用来强制实施组织策略(如多重身份验证)的功能。
- AD FS。 AD FS 通过跨安全与企业边界共享数字标识和权利权限,实现联合标识和访问管理,从而提高安全性。 在这些体系结构中,它用于帮助具有联合标识的用户登录。
- Web 应用程序代理。 Web 应用程序代理使用 AD FS 对 web 应用程序进行预身份验证。 它还充当 AD FS 代理。
- Microsoft Intune。 Intune 是基于云的统一终结点管理工具,可跨 Windows、Android、Mac、iOS 和 Linux 操作系统管理终结点。
- Exchange Server。 Exchange Server 在本地托管用户邮箱。 在这些体系结构中,它使用 Microsoft Entra ID 向用户颁发的令牌来授权访问邮箱。
- Active Directory 服务。 Active Directory 服务存储有关域成员的信息,包括设备和用户。 在这些体系结构中,用户帐户属于 Active Directory 服务,并同步到 Microsoft Entra ID。
备选方法
可以使用支持新式身份验证的第三方移动客户端来替代 Outlook Mobile。 如果选择此替代方案,则第三方供应商将负责提供客户支持。
方案详细信息
Enterprise 消息传递基础结构 (EMI) 是组织的关键服务。 从较旧、不安全的身份验证方法和授权方法转移到新式身份验证是远程工作普遍面临的一个关键挑战。 实现消息传递服务访问的多重身份验证要求是满足这一挑战的最有效方法之一。
本文介绍使用 Microsoft Entra 多重身份验证增强 Outlook 移动访问方案中的安全性的两种体系结构。
本文介绍了这些方案:
- 用户邮箱处于 Exchange Online 时的 Outlook 移动访问
- 用户邮箱处于本地 Exchange 时的 Outlook 移动访问
这两种体系结构都涵盖 Outlook for iOS 和 Outlook for Android。
有关在其他混合消息传递场景中应用多重身份验证的信息,请参阅以下文章:
本文不讨论其他协议,如 IMAP 或 POP。 通常,这些方案不使用这些协议。
一般说明
- 这些体系结构使用联合 Microsoft Entra 标识模型。 对于密码哈希同步和直通身份验证模型,逻辑和流是相同的。 唯一的区别在于,Microsoft Entra ID 不会将身份验证请求重定向到本地 Active Directory 联合身份验证服务 (AD FS)。
- 在图中,黑色虚线显示本地 Active Directory、Microsoft Entra Connect、Microsoft Entra ID、AD FS 和 Web 应用程序代理组件之间的基本交互。 可以在混合标识所需的端口和协议中了解有关这些交互的信息。
- 通过本地 Exchange,我们是指 Exchange 2019 具有最新更新和邮箱角色。
- 在实际环境中,不会只有一台服务器。 将有一个负载均衡的 Exchange 服务器数组,以实现高可用性。 此处介绍的方案适用于该配置。
可能的用例
此体系结构适用于以下方案:
- 增强 EMI 安全性。
- 采用零信任安全策略。
- 在过渡到 Exchange Online 或与 Exchange Online 共存期间,对本地消息服务应用标准的高级保护。
- 在封闭或高度安全的组织(如金融部门)中强制实施严格的安全或合规性要求。
注意事项
这些注意事项实施 Azure 架构良好的框架的支柱原则,即一套可用于改善工作负荷质量的指导原则。 有关详细信息,请参阅 Microsoft Azure 架构良好的框架。
可靠性
可靠性可确保应用程序符合你对客户的承诺。 有关详细信息,请参阅可靠性支柱概述。
可用性
总体可用性取决于所涉及的组件的可用性。 有关可用性的详细信息,请参阅这些资源:
本地解决方案组件的可用性取决于实现的设计、硬件可用性以及内部操作和维护例程。 有关其中一些组件的可用性信息,请参阅以下资源:
若要使用混合新式身份验证,需要确保网络上的所有客户端都可以访问 Microsoft Entra ID。 还需要持续维护 Office 365 防火墙端口和 IP 范围开放端口。
有关 Exchange Server 的协议和端口要求,请参阅混合新式身份验证概述中的“Exchange 客户端和协议要求”,以用于本地 Skype for Business 和Exchange 服务器。
有关 Office 365 IP 范围和端口,请参阅 Office 365 URL 和 IP 地址范围。
有关混合新式身份验证和移动设备的信息,请阅读 Office 365 IP 地址和 URL Web 服务中不包含的其他终结点中的自动检测终结点。
复原
有关此体系结构中组件的复原能力的信息,请参阅以下资源。
- 对于 Microsoft Entra ID:推进 Microsoft Entra 可用性
- 对于使用 AD FS 的方案:使用 Microsoft Azure 流量管理器在 Azure 中部署高可用性跨地理区域的 AD FS
- 对于本地解决方案 Exchange:Exchange 高可用性
安全性
有关移动设备安全性的一般指南,请参阅使用 Microsoft Intune 保护数据和设备。
有关安全性和混合新式身份验证的信息,请参阅深入探讨:混合身份验证的工作原理。
对于具有传统强外围保护的封闭组织,存在与 Exchange 混合经典配置相关的安全问题。 Exchange 混合新式配置不支持混合新式身份验证。
有关 Microsoft Entra ID 的信息,请参阅 Microsoft Entra 安全操作指南。
有关使用 AD FS 安全性的方案的信息,请参阅以下文章:
成本优化
实现的成本取决于 Microsoft Entra ID 和 Microsoft 365 许可证成本。 总成本还包括本地组件的软硬件、IT 运营、培训和教育以及项目实施等成本。
这些解决方案至少需要 Microsoft Entra ID P1。 有关定价详细信息,请参阅 Microsoft Entra 定价。
有关 AD FS 和 Web 应用程序代理的信息,请参阅 Windows Server 2022 的定价和许可。
有关更多定价信息,请参阅这些资源:
性能效率
性能取决于所涉及组件的性能和公司网络性能。 有关详细信息,请参阅使用基线和性能历史进行 Office 365 性能优化。
有关影响 AD FS 服务方案性能的本地因素的信息,请参阅以下资源:
可伸缩性
有关 AD FS 可伸缩性的信息,请参阅规划 AD FS 服务器容量。
有关 Exchange Server 本地可伸缩性的信息,请参阅 Exchange 2019 首选体系结构。
部署此方案
若要实现此基础结构,需要完成以下文章中指南所述的步骤。 下面是概要步骤:
- 安全 Outlook 移动访问,如这些新式身份验证的实现步骤中所述。
- 阻止 Microsoft Entra ID 级别的所有其他旧式身份验证尝试。
- 使用身份验证策略阻止消息传送服务级别的旧式身份验证尝试。
作者
本文由 Microsoft 维护, 它最初是由以下贡献者撰写的。
主要作者:
- Pavel Kondrashov | 云解决方案架构师
- Ella Parkum | 首席客户解决方案架构工程师
若要查看非公开领英个人资料,请登录领英。
后续步骤
- 宣布在本地 Exchange 进行混合新式身份验证
- 使用本地 Exchange 服务器的混合新式身份验证概述和先决条件
- 将基于 AD FS 声明的身份验证与 Outlook 网页版配合使用
- 如何将本地 Exchange Server 配置为使用混合新式身份验证
- Exchange 2019 首选体系结构
- 使用 Azure 流量管理器在 Azure 中部署高可用性跨地域 AD FS
- 将混合新式身份验证与适用于 iOS 和 Android 的 Outlook 配合使用
- Exchange Online 中使用新式身份验证设置帐户