- Azure AD Connect 可同步本地 Active Directory 和 Microsoft Entra ID 之间的身份,从而允许使用单一用户名和密码访问本地和云服务。
- 正确准备本地 Active Directory(UPN、后缀、邮件属性和 OU 结构)是与 Microsoft 365 实现干净、无冲突同步的关键。
- 身份验证方法(PHS、PTA、联合身份验证)和 SSO、过滤和回写等选项使该解决方案能够适应不同的业务场景。
- Microsoft Entra Connect Health 提供对 AD DS、AD FS 和 Azure AD Connect 的高级监控、警报和指标,从而改进操作和支持。
Azure AD Connect(现更名为 Microsoft Entra Connect)是将本地 Active Directory 与 Microsoft 云(Azure AD 和 Microsoft 365)连接起来的关键。借助此工具,您的用户可以使用相同的用户名和密码在本地和云端登录,从而避免重复帐户,并减少 IT 部门的麻烦。
在本教程中,您将详细了解整个周期:准备本地环境、创建域和 Active Directory 林、配置 Microsoft Entra ID、安装和配置 Azure AD Connect、身份验证方法、对象筛选以及高级功能,例如密码哈希同步、回写或使用 Microsoft Entra Connect Health 来监视基础架构。
什么是 Azure AD Connect?它有什么用途?
Azure AD Connect 是微软官方的实用程序,它充当本地 Active Directory 和 Azure Active Directory 之间的“桥梁”,并集成了 Microsoft 365。它允许将本地域中已有的身份与云端同步,以便用户可以在两个环境中使用相同的凭据,并且如果需要,还可以享受单点登录 (SSO)。
Azure AD Connect 客户端安装在域成员服务器上。虽然理论上可以安装在域控制器上,但出于安全性和服务隔离的考虑,微软不建议这样做。该服务器将负责定期将 Active Directory 中的用户、组和其他对象与 Azure AD 同步。
配置完成后,Azure AD Connect可以使用不同的身份验证模型:密码哈希同步 (PHS)、传递身份验证 (PTA)、与 AD FS 联合身份验证,或与 PingFederate 等提供程序联合身份验证。它还提供单点登录 (SSO)、按组织单元 (OU) 或组进行筛选、防止批量删除以及自动产品更新等选项。
在已经使用 Microsoft 365并且拥有“仅限云”用户的场景中,Azure AD Connect 允许您统一身份:如果本地用户的 UPN 和电子邮件与云中用户的 UPN 和电子邮件匹配,则在同步后,该用户将不再是“仅限云”用户,而是成为 AD 中的同步用户,从而在本地目录中集中管理属性。
准备本地 Active Directory 环境
在考虑将任何内容与 Azure 同步之前,您需要一个可用的 Active Directory 环境。如果您已经拥有生产环境的企业域,可以直接使用;如果没有,您可以从头开始搭建一个实验室环境,以便在不影响生产环境的情况下测试所有混合身份场景。
本实验的目标是创建一个服务器,该服务器将充当域控制器 (DC),并托管 Active Directory 域服务 (AD DS)、DNS 和管理工具。所有这些都可以在运行 Windows Server 的 Hyper-V 虚拟机上完成,并使用 PowerShell 脚本自动执行大部分工作。
为域控制器创建虚拟机
第一步是创建一台虚拟机,用作本地 Active Directory 服务器。为此,您可以在 Hyper-V 主机上以管理员身份打开 PowerShell ISE,并运行一个脚本,该脚本定义虚拟机名称、网络交换机、VHDX 路径、磁盘大小和安装介质(Windows Server ISO)。
此脚本会创建一个具有固定内存、新虚拟磁盘和指向操作系统 ISO 镜像的虚拟 DVD 驱动器的第二代虚拟机。然后,它会将虚拟机的固件配置为从 DVD 启动,从而允许您执行交互式系统安装。
虚拟机创建完成后,从 Hyper-V 管理器启动它,连接到其控制台,然后执行标准的 Windows Server 安装:选择语言,输入产品密钥,接受许可条款,选择自定义安装,并使用新创建的磁盘。安装完成后,重启计算机,登录并应用所有可用的更新。
Windows 服务器的初始配置
操作系统安装完毕后,服务器必须准备好承担 Active Directory 域服务角色。这包括为其分配一个统一的名称(例如 DC1)、配置静态 IP 地址、定义 DNS 以及使用 Windows 功能添加必要的管理工具。
使用另一个 PowerShell 脚本,您可以自动执行以下任务:设置 IP 地址、掩码、网关和 DNS 服务器(通常是服务器本身,以及作为辅助的公共 DNS,例如 8.8.8.8),重命名计算机并安装 Active Directory RSAT,将所有内容记录在日志文件中以进行审核。
应用这些更改后,服务器将重新启动,并准备好被提升为新林中的域控制器,从而使您的本地 AD 环境能够运行,以进行测试或与云的真正集成。
创建 Active Directory 林和域
下一步是安装 Active Directory 域服务 (AD DS)、DNS 和组策略管理控制台 (GPMC),然后创建一个新的 Active Directory 林。同样,PowerShell 可以帮助您加快此过程,只需安装必要的组件并运行带有所有必需参数的 Install-ADDSForest cmdlet 即可。
在林定义中,您需要指定域名(例如 contoso.com)、NetBIOS 名称、Active Directory 数据库 (NTDS)、日志和 SYSVOL 的路径,以及域和林的功能级别。您还需要定义目录服务还原模式 (DSRM) 密码,这对于恢复任务至关重要。
服务器升级后重新启动时,您将拥有一个 Windows Server AD 环境,其中包含一个可用的域、集成的 DNS 以及管理用户、组、OU 和组策略所需的所有工具。
在 Active Directory 中创建测试用户
林部署运行后,创建测试帐户来验证与 Azure AD 的同步情况会很有帮助。例如,您可以使用 PowerShell 脚本创建用户“Allie McCray”,并为其设置登录名 (samAccountName)、初始密码、显示名称以及防止密码过期的选项。
该脚本还可以将用户标记为已启用,这样他们下次登录时就无需更改密码,并将其放置在相应的容器路径中(例如,CN=Users,DC=contoso,DC=com)。这些用户随后将通过 Azure AD Connect 与 Microsoft Entra ID 同步。
准备本地域以进行同步
在部署 Azure AD Connect 之前,建议您检查 Active Directory,确保其符合 Microsoft 的要求:域配置正确、UPN 后缀正确、电子邮件属性一致且无冲突数据。Microsoft 提供了 IdFix 工具来完成此任务,该工具可帮助识别问题对象。
在许多环境中,既有本地域(例如 mydomain.local),也有公共电子邮件域(例如 Microsoft 365 中使用的 mydomain.com)。为了实现干净的同步,建议将与公共电子邮件域对应的 UPN 后缀添加到本地 Active Directory 中。
在“Active Directory 域和信任”中,您可以打开属性并添加新的 UPN 后缀(例如,mydomain.com)。然后,在用户帐户属性的“帐户”选项卡中,将用户的 UPN 从[email protected]更改为[email protected],使其与 Microsoft 365 中的电子邮件地址保持一致。
虽然强烈建议更改 UPN以方便后续登录和最终的 SSO,但此更改不会修改经典的 DOMAIN\user(Windows 2000 之前)登录方法,因此不会影响继续使用该格式的应用程序或脚本。
正确填写用户帐户的邮件属性(包含其主要电子邮件地址)也至关重要。如果您已在云端直接创建了用户,则本地和 Microsoft 365 之间匹配的 UPN 和电子邮件地址将允许在同步后合并这些帐户,并且云用户将成为 Active Directory 中的同步身份。
Microsoft Entra ID 设置和配置(Azure AD)
要同步本地目录,您需要一个 Microsoft Entra ID 租户。此租户是云目录,用于创建本地环境中用户、组和设备的副本。
如果您还没有租户,可以通过访问 Microsoft 管理中心创建一个。使用已订阅的帐户登录。在“概述”部分,选择“管理租户”选项,然后创建一个新租户,并为组织提供名称和初始域名(例如,something.onmicrosoft.com)。
向导完成后,目录将创建完成,您可以通过门户对其进行管理。之后,您可以关联自定义域(例如 contoso.com),并验证它们是否可用作从 Active Directory 同步的用户 UPN 中的主域。
创建混合身份管理员帐户
在 Microsoft Entra 租户中,建议创建一个专用帐户来管理混合组件。例如,该帐户将用于 Azure AD Connect 的初始配置和身份相关任务。
在“用户”部分,您可以创建新用户,分配名称和用户名(UPN),并将其角色更改为“混合身份管理员”。创建过程中,您可以查看并复制分配给该用户的临时密码。
创建此帐户后,使用该用户名和临时密码登录 myapps.microsoft.com,强制将密码更改为永久密码。这将是您在混合部署的多个步骤中使用的管理员身份。
Azure AD Connect(Microsoft Entra Connect)安装
本地环境和云租户准备就绪后,您现在可以在本地域成员服务器上安装 Azure AD Connect。为了最大限度地降低安全性和可用性风险,Microsoft 建议不要使用域控制器。
您可以从 Azure Active Directory 门户的 Azure AD Connect 部分或直接从 Microsoft 下载中心下载 Azure AD Connect。下载安装程序后,请在指定的服务器上运行它。
在安装向导中,您需要接受许可条款,并可以选择快速安装或自定义安装。快速安装选项默认使用“密码哈希同步”方法配置完整的 Active Directory 同步,而自定义安装选项则允许您更精细地控制属性、域、组织单元 (OU)、身份验证方法和其他功能。
在典型的安装中,选择自定义路径通常更有优势,尤其是在需要限制同步哪些组织单元、想要评估不同的登录方法或拥有多林拓扑结构时。
配置登录方式
向导的关键步骤之一是选择用户访问云资源时使用的身份验证方法。Azure AD Connect 提供了多种内置选项,每种选项都有其自身的优势和要求。
-
密码哈希同步 (PHS):此方法将存储在本地 Active Directory 中的密码的附加哈希值与 Azure AD 同步。用户使用与本地环境中相同的密码直接通过 Azure AD 登录云端,但该密码仅在 Azure AD 中进行管理。这是最容易实现且应用最广泛的模型。
-
传递身份验证 (PTA):在这种情况下,密码不会存储在 Azure AD 中;当用户尝试登录时,验证过程会通过本地代理转发,这些代理会根据本地 AD 验证凭据。这样,您可以在本地应用访问限制、时间限制等,同时在基础架构内保持身份验证控制。
-
与 AD FS 联合:Azure AD 将身份验证委托给基于 Active Directory 联合身份验证服务的联合系统。这需要部署 AD FS 服务器,通常还需要一个 Web 应用程序代理。虽然维护起来更复杂,但它提供了最大的控制权,并且与高级场景兼容。
-
与 PingFederate 联合:与前一种情况类似,但对于已经拥有该身份基础架构的组织,使用 PingFederate 作为联合解决方案而不是 AD FS。
-
不要配置登录方法:适用于您已经拥有第三方联合解决方案,并且不希望 Azure AD Connect 自动化此领域的任何操作的情况。
此外,您还可以将单点登录 (SSO)与 PHS 或 PTA 结合使用。启用 SSO 后,通过组策略 (GPO),已加入域的计算机可以使用用户的 UPN(通常与电子邮件地址相同)登录,从而避免用户在访问 Microsoft 365 门户等服务时重复输入凭据。
连接到 Microsoft 365 和本地 Active Directory
在 Azure AD Connect 向导中,您首先需要提供 Microsoft Entra 租户管理员的凭据(例如,您之前创建的混合身份管理员帐户)。这样,该工具才能配置云部分并将服务器注册为同步源。
接下来,系统会请求具有本地 Active Directory 权限的帐户提供凭据,以创建与本地林之间的同步链接。验证通过后,本地目录将被添加到同步数据源列表中。
下一步,您需要选择要用作云帐户主用户名的属性。通常选择 userPrincipalName,但在某些情况下,如果电子邮件地址一致且配置正确,也可以选择电子邮件字段。您还可以指定是否在尚未验证 Azure AD 中的所有 UPN 域的情况下继续操作(当 AD 域为私有域时非常有用)。
组织单元选择和对象筛选
Azure AD Connect 允许您定义要与云端同步的 Active Directory 林的哪个子集。您可以选择整个域、特定的组织单元,甚至可以按属性筛选以缩小范围。
在实践中,通常最好先同步参与试点项目的用户所在的组织单元 (OU),或者使用一个特定的安全组,该安全组的成员将被复制到 Azure AD 中。这样可以降低同步服务帐户、过时对象或不应离开本地环境的信息的风险。
需要注意的是,后续对组织单元 (OU) 结构的更改(例如重命名、移动容器等)可能会影响筛选功能。一种常见的策略是同步整个域,但根据组成员身份限制筛选,从而避免过度依赖组织结构。
其他配置选项
向导的最后几个屏幕提供了其他功能,例如密码回写、设备重写、混合 Exchange 集成和防止批量删除。
延迟密码写入功能允许用户通过云端(例如,通过自助服务门户)更改或重置密码,并且该更改也会同步应用到本地 Active Directory,从而遵守组织的密码策略。对于许多公司而言,这在技术支持方面是一项宝贵的优势。
设备重写功能可以将 Microsoft Entra ID 中注册的设备转储回本地 Active Directory,从而简化需要在两侧跟踪设备的条件访问场景。
默认情况下启用防止意外删除功能,该功能限制单次同步运行中可删除的对象数量(例如,最多 500 个)。如果超过此阈值,同步将被阻止,以防止意外的批量删除,这在大型环境中至关重要。
最后,快速安装默认启用自动更新,使 Azure AD Connect 保持最新版本,修复错误并增加兼容性,而无需您手动更新每个服务器。
同步和日常运行验证
安装和向导完成后,如果您已指定,Azure AD Connect 可以立即开始完整同步。向导本身提供了一个选项,可以在完成后立即运行初始同步周期,建议您执行此操作以验证一切是否正常运行。
在安装了 Azure AD Connect 的服务器上,您可以从“开始”菜单打开“同步服务”控制台。在那里,您将看到执行历史记录,包括初始同步、任何错误以及对象导入、同步和导出的详细信息。
在 Microsoft 365 门户或 Microsoft Entra 中,您可以查看用户列表,确认其显示为“与 Active Directory 同步”而非“仅云端”。此后,主要属性(名字、姓氏、电子邮件地址等)将由本地 Active Directory 进行管理。
Azure AD Connect 默认每 30 分钟运行一次同步周期,但如果您需要更改立即生效,也可以随时使用 PowerShell 手动强制执行同步。最好记录此行为,以便您的支持团队了解预期情况。
高级场景:多个林和额外的服务器
在更复杂的组织中,您可能会遇到多个 Active Directory 林,每个林都有自己的域和用户。此外,还可能存在资源林,其中存放着链接邮箱或其他服务。
Azure AD Connect 已为这些拓扑结构做好准备,允许您添加多个林作为同步源,并应用声明式预配模型。这意味着合并、转换和属性流的规则均以声明方式定义,并且可以进行调整以适应您的身份设计。
对于更高级的实验环境,可以创建第二个林(例如 fabrikam.com),并为其配备独立的域控制器 (CP1)。重复上述步骤,包括创建虚拟机、系统安装、IP 和 DNS 配置、提升为域控制器以及创建测试用户。这样就可以测试多林场景以及与不同域的云同步。
在生产环境中,建议将Azure AD Connect 服务器置于备用或暂存模式。暂存服务器会维护一份配置副本,并执行内部导入和同步,但不会将更改导出到 Azure AD。如果主服务器发生故障,您可以切换到暂存服务器,并将影响降至最低。
Microsoft Entra Connect Health:监控和警报
为了控制混合身份基础架构,微软提供了 Microsoft Entra Connect Health,这是一款高级解决方案,可监控 Azure AD Connect(同步)、AD FS 和 AD DS 等关键组件,并提供警报、性能指标和使用情况分析。
该系统的工作原理是利用您安装在身份服务器(AD FS 服务器、域控制器和 Azure AD Connect 服务器)上的代理。这些代理会将状态和性能信息发送到云服务,您可以在专用的 Connect Health 门户中查看这些信息。
首先,您需要 Microsoft Entra ID P1 或 P2 许可证(或试用版)。然后,从门户网站下载 Connect Health 代理程序,并将其安装在每台相关的服务器上。注册后,该服务会自动检测正在监控的角色。
在 Connect Health 门户中,您会找到不同的仪表板:一个用于同步服务(Azure AD Connect),一个用于联合身份验证服务(AD FS),还有一个用于 AD DS 林。在每个仪表板中,您都可以查看活动警报、复制状态、潜在的证书问题、身份验证错误和使用趋势。
除了技术方面,Connect Health 还包含配置基于角色的访问控制 (IAM) 的选项,并且可以选择授权 Microsoft 仅出于支持目的访问诊断数据。此选项默认处于禁用状态,但如果您需要 Microsoft 的高级支持来解决复杂问题,则此选项非常有用。
通过搭建整个生态系统——本地 AD、Microsoft Entra ID、Azure AD Connect 和 Connect Health——您将拥有一个完整的混合身份平台,能够提供单点登录、集中式帐户和密码管理、高可用性以及对基础架构运行状况的可见性;这种组合简化了最终用户的操作,并为您提供安全灵活运行所需的控制。
对字节世界和一般技术充满热情的作家。我喜欢通过写作分享我的知识,这就是我在这个博客中要做的,向您展示有关小工具、软件、硬件、技术趋势等的所有最有趣的事情。我的目标是帮助您以简单而有趣的方式畅游数字世界。

