域 A(森林树根)(主域)
域 B(直接出站)(直接入站)
两个森林域 A/B 之间存在双向信任。此场景用于将两家公司连接在一起。
现在,假设我们有一个使用活动目录在域 A 上进行身份验证的应用程序。
将域 B 中的用户添加到域 A 中存在的组,允许他们访问该应用程序。此应用程序使用 ADSI 连接到域 A 域控制器进行用户身份验证。
第一个问题:通过使用域 A 上的域控制器的 ADSI,它是否知道要遍历信任并验证域 B 中的用户?或者应用程序是否也需要专门指向域 B 上的域控制器。
第二个问题:要从域 A 获取域 B 中所有用户的列表,我是否能够通过例如在 powershell 中使用域 A 中域控制器的 ADSI/LDAP 来查询这些信息,还是我特别需要访问域 B 中的域控制器?
谢谢!
答案1
1)申请惯于使用 ADSI 来验证用户。ADSI 是一个 COM 接口,而不是网络身份验证协议。它将使用 Kerberos 或 LDAP。知道它实际使用的协议非常有用,因为 AD 信任仅适用于凯尔伯罗斯授權。
1a) 如果应用程序使用 Kerberos,它将向本地 DC 发送服务票证请求。这将检查相关 SPN,然后返回对目标域中 DC 的引用。然后,工作站将从目标域 DC 请求服务票证,然后访问应用程序。该过程在结尾处进行了描述本文。
1b) 如果您的应用程序使用 LDAP,则需要将其配置为指向目标域中的一个或多个 DC。您可以使用域名本身作为目标,尽管我会检查使用硬编码 DC 名称和仅使用域名之间的延迟差异。如果您使用硬编码 DC 名称,那么如果第一个 DC 发生故障,您应该有某种方式来定义一个或多个辅助目标 DC。
2) 如果您正在执行 LDAP 查询(通过 ADSI 或其他方式),则需要指定实际的目标域,以及有权在那里执行 LDAP 搜索的帐户(例如目标域中的任何帐户)。您可能需要指定一个实际的 DC 名称(我还没有测试过)。您的本地域有推荐到信任域 - 它没有在其中存储任何实际对象。