Microsoft Entra 云同步可将云组预配到本地 Active Directory (AD)。 AD 组强制实施使你能够指定特定的已同步组,从而只能通过 Microsoft Entra 预配服务对其进行修改。 Microsoft Entra ID 与 AD 组之间的这种一致性无需单独的核对流程,并有助于确保所有访问权限都通过 Microsoft Entra 授予。
Important
AD 组强制实施当前处于预览阶段。 有关适用于 beta 版、预览版或尚未正式发布的 Azure 功能的法律条款,请参阅 Azure 预览补充使用条款。
先决条件
| 先决条件 | 详细信息 |
|---|---|
| 域控制器操作系统 | Windows Server 2022或Windows Server 2025。 |
| 域控制器角色 | 策略必须安装在 PDCe 角色域控制器上。 |
| 域控制器上的 Windows 更新 | 将域控制器更新到包含 AD 组强制代码的累积Windows Server更新。 Windows Server 2022的最低版本C:\Windows\System32\ntdsai.dll为 10.0.20348.5257,Windows Server 2025 年为 10.0.26100.32995。 代码在更新中提供,但默认处于禁用状态。 若要验证已安装的版本,请在域控制器上运行 (Get-Item C:\Windows\System32\ntdsai.dll).VersionInfo.FileVersion。 对于测试环境,可以改用已启用该功能的 Windows Server Insider Preview 版本。 |
| 用于启用该功能的组策略 MSI | 如果不使用 Windows Server Insider Preview 版本,请在每个域控制器上安装匹配的组策略 MSI,以启用 OS 更新中已有的强制代码:Windows Server 2022 MSI,Windows Server 2025 MSI。 |
| 预配代理主机 | 在已加入 AD 域的Windows Server 2019或Windows Server 2022计算机上安装预配代理。 请在测试环境中使用此预览。 |
| Microsoft Entra许可证 | 具有用于配置向 AD 预配组的 Microsoft Entra ID P1 许可证的 Microsoft Entra 租户。 |
| 角色 | 域管理员(运行安装策略的 PowerShell 脚本所必需的)。 |
| PowerShell 脚本 | 用于Set-CloudSyncSOAPolicy.ps1配置强制策略的脚本,从 GitHub 上的 AzureAD/EntraIDGovernance 存储库下载。 |
有关预配代理先决条件的完整列表,请参阅Microsoft Entra云同步的先决条件。
了解 AD 组强制执行的工作原理
在承担 PDCe 角色的域控制器上安装 AD 组强制实施 Windows 更新后,会在 SOA-Policies 下创建一个名为 CN=System,DC=<your domain> 的新策略容器。 该策略有两个用途:
- 它存储有权对标记为强制的 AD 对象进行更改的安全标识符(SID)。 如果策略中没有 SID,则该策略实际上处于关闭状态。 任何有权更新组的用户都可以更新它,就像策略不存在一样。
- 它存储策略的当前状态: 强制 或 审核。
| 模式 | Behavior |
|---|---|
| 强制 | 只有策略中允许的 SID 才能更改已启用该功能的组。 该策略阻止 LDAP 修改操作和从回收站还原对象。 该策略允许 LDAP 添加操作,即使添加操作包含 msDS-ObjectSoa 属性。 |
| 审计 | 根据现有的 AD 基于角色的访问控制 (RBAC) 模型,可以对该组进行更改。 策略在策略未授权的用户更新对象时,向事件查看器发出日志。 若要查看事件,请将安全诊断日志记录级别设置为最小。 有关详细信息,请参阅 AD 和 LDS 诊断事件日志记录。 |
AD 属性 msDS-ObjectSoa 表示为强制功能启用哪些对象。 该策略仅适用于已设置此属性的对象。
AD 组强制策略是对您现有 AD RBAC 模型的补充。 它会在现有 RBAC 模型的基础上设置额外的限制,而无需授予任何其他访问权限。
在 PDCe 上安装 SOA-Policies 容器
在主域控制器模拟器(PDCe)角色域控制器上启用 AD 组强制实施,并确认 SOA-Policies 是否已创建容器。 可通过以下任一路径启用 AD 组强制实施:
- 现有Windows Server 2022或 2025 PDCe:安装最新的累积Windows Server更新,然后安装匹配的组策略 MSI 以启用该功能。
- 使用 Windows Server Insider Preview 版本进行测试环境:安装最新的Windows Server Insider Preview 版本,该版本已启用该功能。 不需要组策略 MSI 步骤。
设置Windows Server 2022或Windows Server 2025 服务器并将其提升为域控制器。 如果已有 PDCe,请跳过此步骤。
在 PDCe 上安装最新的 Windows Server 累积更新。 如果使用 Windows Server Insider Preview 版本,请跳过此步骤。
如果Windows更新提示你,请重启 PDCe。
在 PDCe 上安装匹配的组策略 MSI,以启用 OS 更新中的强制代码。 MSI 使用已知问题回滚(KIR)样式启用模型。 如果使用 Windows Server Insider Preview 版本,请跳过此步骤:
- Windows Server 2022:aka.ms/ADEnforcementGPMSI2022
- Windows Server 2025:aka.ms/ADEnforcementGPMSI2025
重新启动域控制器。
确认
SOA-Policies是否位于CN=System,DC=<your domain>下(将其替换为您的实际域名)。 容器可能需要 5 到 10 分钟才能显示。
若要在整个域中完全强制实施,请在应强制执行策略的每个域控制器上重复 OS 更新和组策略 MSI 安装。
在“强制”或“审核”模式下安装策略
SOA-Policies容器到位后,安装云同步预配代理并运行配置策略模式的 PowerShell 脚本:
安装 Microsoft Entra Cloud Sync 预配代理。 有关安装说明,请参阅安装 Microsoft Entra Cloud Sync 预配代理。
Set-CloudSyncSOAPolicy.ps1从 GitHub 上的 AzureAD/EntraIDGovernance 存储库下载 PowerShell 脚本。以管理员身份打开 PowerShell。
将目录更改为包含脚本的文件夹。
运行脚本。 出现提示时,请指定
Enforced为模式:.\Set-CloudSyncSOAPolicy.ps1 -EnforcementMode Enforced -Credential (Get-Credential -Message "Enter Domain Admin credentials (format: DOMAIN\Username)")确认
SOAPolicy已配置为关键字 Enforced。
若要改为在“what-if”模式下配置策略,请运行脚本 -EnforcementMode Audit。
将组标记为强制执行
通过 Cloud Sync 属性映射将 msDS-ObjectSoa 属性设置为 Cloud,将组标记为用于强制执行。
- 在云同步组预配到 AD 配置中,编辑属性映射。
- 添加
msDS-ObjectSoa为具有值Cloud的目标属性。 您可以选择:- 将其配置为常量映射,用于设置范围中所有组的属性,或
- 配置一个表达式,用于限制可设置该属性的组。
- 将要测试的组分配到预配范围。
- 可按需预配该组,或通过启动同步周期来预配该组。
有关配置向 AD 预配组的详细信息,请参阅 配置将 Microsoft Entra ID 预配到 Active Directory。
验证是否已在组上设置属性
在域控制器上使用 ADSI Edit 确认策略应用于本地组:
在强制模式和审核模式之间切换
若要更改模式,请使用 Set-CloudSyncSOAPolicy.ps1 的新值再次运行 -EnforcementMode:
.\Set-CloudSyncSOAPolicy.ps1 -EnforcementMode Audit -Credential (Get-Credential -Message "Enter Domain Admin credentials (format: DOMAIN\Username)")
添加一个破窗帐户
可以将其他授权用户的 SID 添加到策略,以便用户可以对本地强制实施的组进行更改。
打开 ADSI 编辑。
导航到 CN=SOA-Policies>CN=CloudSyncSOAPolicy。
打开 属性编辑器。
msDS-Settings编辑属性并添加 break-glass 帐户的 SID。
在事件日志中查看实施事件
若要查看未授权更改的审核事件,请执行以下操作:
- 在注册表中,将“安全诊断”的值设置为
1。 有关详细信息,请参阅 AD 和 LDS 诊断事件日志记录。 - 打开事件查看器并查看目录服务事件日志。
排查实施策略问题
如果 AD 组强制未按预期方式执行(例如,应阻止的本地更改仍在处理),请使用 Check-CloudSyncSOAPolicy.ps1 脚本确认在域控制器上启用了 AD 组强制。
-
Check-CloudSyncSOAPolicy.ps1从 GitHub 上的 AzureAD/EntraIDGovernance 存储库下载脚本。 - 登录到要验证的域控制器。
- 以管理员身份打开 PowerShell。
- 将目录更改为包含脚本的文件夹。
- 运行脚本。 它指示该域控制器上是否已启用 AD 组强制实施策略。
如果脚本报告策略未启用,请验证:
- 域控制器上已安装最新的 Windows Server 累积更新,或者你正在运行 Windows Server Insider Preview 版本。
- 匹配的组策略 MSI 安装在域控制器上,计算机随后重新启动。
- 容器
SOA-Policies存在于CN=System,DC=<your domain>.
测试策略
使用以下示例测试用例验证配置:
- 使用未经授权的帐户在本地部署环境中更新受强制实施的组成员资格。 应阻止更改。
- 将策略切换到 审核 并重复测试。 允许进行此更改,并且会在目录服务事件日志中记录一条事件。
- 将 SID
SOA-Policies添加为破窗帐户,并尝试使用 break-glass 帐户进行更新。 - 尝试确定规避或破坏策略的方法,并在本地更新组。
此预览版中的已知行为和限制
- 此预览版仅支持组对象。 虽然 AD 强制功能可以同时应用于组和用户,但尚不支持通过预配代理将用户预配到 AD。
- 在 Microsoft Entra 中转换组的权威源不会自动锁定 AD 中的该组。 必须完成本文中介绍的配置,才能通过将组预配到 AD 将某个组标记为锁定状态。
- 目前,强制执行不会阻止删除操作。
- 在此预览期间,向 AD 预配组的现有限制仍然适用。
- 如果对锁定对象所做的更改发生在未启用 AD 组强制的域控制器上,则会对该更改进行处理。 若要完全锁定,请使用累积Windows Server更新和组策略 MSI 或 Windows Server Insider Preview 版本在每个域控制器上启用该功能。