使用 Microsoft Entra ID Governance 管理基于本地 Active Directory 的应用 (Kerberos)

重要

2024 年 6 月 30 日之后,Microsoft Entra Connect Sync 将不再提供组写回 V2 (GWB) 的公共预览版。 此功能将于该日期停止使用,Connect Sync 不再支持将云安全组预配到 Active Directory。 该功能将在停止使用日期之后继续运行;但是,在此日期之后将不再获得支持,并且可能随时停止运行,恕不另行通知。

我们在 Microsoft Entra Cloud Sync 中提供了类似的功能,称为将组预配到 Active Directory,可以用来代替使用组写回 V2 将云安全组预配到 Active Directory。 我们正致力于在 Cloud Sync 中增强此功能,并增强我们在 Cloud Sync 中开发的其他新功能。

在 Connect Sync 中使用此预览功能的客户应将其配置从 Connect Sync 切换到 Cloud Sync。可以选择将所有混合同步移动到 Cloud Sync(如果其支持这种需求)。 还可以并行运行 Cloud Sync,并仅将云安全组预配移动到 Cloud Sync 中的 Active Directory。

对于将 Microsoft 365 组预配到 Active Directory 的客户,可以继续使用组写回 v1 实现此功能。

可以通过使用用户同步向导来评估只移动到 Cloud Sync 的操作。

方案:使用在云中预配和管理的 Active Directory 组管理本地应用程序。 通过 Microsoft Entra 云同步,可在 AD 中完全控制应用程序分配,同时利用 Microsoft Entra ID 治理功能来控制和修正任何与访问相关的请求。

随着预配代理 1.1.1370.0 的发布,云同步现在可以将组直接预配到本地 Active Directory 环境。 可以使用标识治理功能来治理对基于 AD 的应用程序的访问,例如加入一个权利管理访问包中的组

Microsoft Entra 云同步的组预配到 AD 的概念图。

观看组写回视频

有关云同步组预配到 Active Directory 的大致概述,以及它可以为你执行的操作,请查看以下视频。

先决条件

实现此方案需要满足以下先决条件。

  • 至少具有混合标识管理员角色的 Microsoft Entra 帐户。
  • 具有 Windows Server 2016 操作系统或更高版本的本地 Active Directory 域服务环境。
    • AD 架构属性所需 - msDS-ExternalDirectoryObjectId。
  • 使用内部版本 1.1.1367.0 或更高版本预配代理。

注意

仅在干净安装期间分配对服务帐户的权限。 如果要从以前的版本升级,则需要使用 PowerShell cmdlet 手动分配权限:

$credential = Get-Credential 

 Set-AADCloudSyncPermissions -PermissionType UserGroupCreateDelete -TargetDomain "FQDN of domain" -TargetDomainCredential $credential

如果手动设置权限,则需要确保所有后代组和用户对象的“读取”、“写入”、“创建”和“删除”所有属性。

默认情况下,这些权限不会应用于 AdminSDHolder 对象

Microsoft Entra 预配代理 gMSA PowerShell cmdlet

  • 预配代理必须能够与端口 TCP/389 (LDAP) 和 TCP/3268(全局目录)上的一个或多个域控制器通信。
    • 全局目录查找需要筛掉无效的成员身份引用。
  • 内部版本 2.2.8.0 或更高的 Microsoft Entra Connect。
    • 支持使用 Microsoft Entra Connect 同步的本地用户成员身份所需。
    • 将 AD:user:objectGUID 同步到 Microsoft Entra ID:user:onPremisesObjectIdentifier 所需。

支持的组

对于此方案,仅支持以下组:

  • 仅支持云创建的安全组
  • 这些组必须有分配的或动态的成员资格
  • 这些组只能包含本地同步的用户和/或云创建的安全组
  • 同步且是此云创建的安全组的成员的本地用户帐户,可以来自同一域或跨域,但必须全部来自同一林
  • 这些组以通用 AD 组范围写回。 本地环境必须支持通用组范围
  • 不支持超过 50,000 个成员的组
  • 每个直接子嵌套组计数为引用组中的一个成员

支持的方案

以下部分讨论云同步组预配支持的方案。

配置支持的方案

如果要控制用户是否能够连接到使用 Windows 身份验证的 Active Directory 应用程序,可以使用应用程序代理和 Microsoft Entra ID 安全组。 如果应用程序通过 Kerberos 或 LDAP 检查用户的 AD 组成员身份,则可以使用云同步组预配来确保 AD 用户在访问应用程序之前具有这些组成员身份。

以下部分讨论云同步组预配支持的两个方案选项。 这些方案选项旨在确保分配给应用程序的用户在向应用程序进行身份验证时具有组成员身份。

  • 创建新组并更新应用程序(如果已存在),以检查新组,或
  • 创建新组并更新应用程序正在检查的现有组,以将新组包含为成员

在开始之前,请确保你是安装了应用程序的域中的域管理员。 确保你可以登录到域控制器,或者已在 Windows 电脑上安装了 Active Directory 域服务 (AD DS) 管理的远程服务器管理工具

配置新组选项

在此方案选项中,你将更新应用程序,以检查云同步组预配创建的新组的名称或可分辨名称。 此方案适用于:

  • 首次连接到 AD DS 的新应用程序的部署。
  • 访问应用程序的用户的新队列。
  • 对于应用程序现代化,减少对现有 AD DS 组的依赖。 需要更新当前检查 Domain Admins 组成员身份的应用程序,以便同时检查新创建的 AD 组。

对应用程序执行以下步骤以使用新组。

创建应用程序和组

  1. 使用 Microsoft Entra 管理中心,在代表基于 AD 的应用程序的 Microsoft Entra ID 中创建一个应用程序,并将该应用程序配置为要求用户分配。
  2. 如果你使用应用程序代理使用户能够连接到应用程序,则配置应用程序代理。
  3. 在 Microsoft Entra ID 中新建安全组。
  4. 使用组预配到 AD 将此组预配到 AD。
  5. 启动 Active Directory 用户和计算机,并等待在 AD 域中创建生成的新 AD 组。 记录新 AD 组的可分辨名称、域、帐户名称和 SID(如果有)。

将应用程序配置为使用新组

  1. 如果应用程序通过 LDAP 使用 AD,请使用新 AD 组的可分辨名称配置应用程序。 如果应用程序通过 Kerberos 使用 AD,请使用新 AD 组的 SID 或域和帐户名称配置应用程序。
  2. 创建访问包。 将 #1 中的应用程序、#3 中的安全组添加为访问包中的资源。 在访问包中配置直接分配策略。
  3. 权利管理中,将需要访问基于 AD 的应用的同步用户分配到访问包。
  4. 等待新 AD 组使用新成员更新。 使用 Active Directory 用户和计算机,确认正确的用户作为组的成员存在。
  5. 在 AD 域监视中,仅允许运行预配代理的 gMSA 帐户授权更改新 AD 组中的成员身份

你现在能够通过这个新的访问包治理对 AD 应用程序的访问。

配置现有组选项

在此方案中,你将添加新的 AD 安全组作为现有组的嵌套组成员。 此方案适用于对特定组帐户名称、SID 或可分辨名称具有硬编码依赖项的应用程序的部署。

将该组嵌套到应用程序现有 AD 组中后,将允许:

  • 由治理功能分配、随后访问应用的 Microsoft Entra 用户获得适当的 Kerberos 票证。 此票证包含现有的组 SID。 此嵌套受 AD 组嵌套规则允许。

如果应用使用 LDAP 并遵循嵌套组成员身份,则应用将看到 Microsoft Entra 用户将现有组作为其成员身份之一。

确定现有组的资格

  1. 启动 Active Directory 用户和计算机,并记录应用程序使用的现有 AD 组的可分辨名称、类型和范围。
  2. 如果现有组是 Domain AdminsDomain GuestsDomain UsersEnterprise AdminsEnterprise Key AdminsGroup Policy Creation OwnersKey AdminsProtected UsersSchema Admins,则需要如上所述更改应用程序以使用新组,因为这些组不能由云同步使用。
  3. 如果组具有全局范围,请将组更改为具有通用范围。 全局组不能将通用组作为成员。

创建应用程序和组

  1. 在 Microsoft Entra 管理中心内,在代表基于 AD 的应用程序的 Microsoft Entra ID 中创建一个应用程序,并将该应用程序配置为要求用户分配。
  2. 如果应用程序代理用于使用户连接到应用程序,则配置应用程序代理。
  3. 在 Microsoft Entra ID 中新建安全组。
  4. 使用组预配到 AD 将此组预配到 AD。
  5. 启动 Active Directory 用户和计算机,并等待生成的新 AD 组在 AD 域中创建,请记录新 AD 组的可分辨名称、域、帐户名称和 SID(如果有)。

将应用程序配置为使用新组

  1. 使用 Active Directory 用户和计算机,将新的 AD 组添加为现有 AD 组的成员。
  2. 创建访问包。 将 #1 中的应用程序、#3 中的安全组添加为访问包中的资源。 在访问包中配置直接分配策略。
  3. 权利管理中,将需要访问基于 AD 的应用的已同步用户分配到访问包,包括仍需要访问权限的现有 AD 组的任何用户成员。
  4. 等待新 AD 组使用新成员更新。 使用 Active Directory 用户和计算机,确认正确的用户作为组的成员存在。
  5. 使用 Active Directory 用户和计算机,除现有 AD 组的新 AD 组外,删除现有成员。
  6. 在 AD 域监视中,仅允许运行预配代理的 gMSA 帐户授权更改新 AD 组中的成员身份

然后,你将能够通过这个新的访问包控制对 AD 应用程序的访问。

疑难解答

属于新 AD 组成员且位于已登录到 AD 域的 Windows 电脑上的用户可能具有 AD 域控制器颁发的现有票证,该域控制器不包含新的 AD 组成员身份。 这是因为在云同步组预配将票证添加到新的 AD 组之前,可能会发出票证。 用户无法提供用于访问应用程序的票证,因此必须等待票证过期并发出新的票证,或者清除其票证、注销并重新登录到域。 有关详细信息,请参阅 klist 命令。

现有 Microsoft Entra Connect 组写回 v2 客户

如果使用 Microsoft Entra Connect 组写回 v2,则需要迁移到预配到 AD 的云同步,然后才能利用云同步组预配。 请参阅将 Microsoft Entra Connect Sync 组写回 V2 迁移到 Microsoft Entra 云同步

后续步骤