1

我正在尝试通过 UnboundID LDAP SDK for Java ( https://www.ldap.com/unboundid-ldap-sdk-for-java ) 使用 LDAP 接口将 ForeignSecurityPrincipals 解析Active Directory Server网络中的用户对象。

我想做的是以下几点:

  • 导入组
  • 导入该组中的所有用户
    • 解析作为成员包含的所有 ForeignSecurityPrincipals

导入组很容易,但组包含一些ForeignSecurityPrincipals作为成员。这些首先必须使用主体objectSID解析为“真实”用户对象。

据我了解,ForeignSecurityPrincipal指向另一个驻留在不同服务器上的对象,该对象必须被解析。根据此处的指南(https://community.oracle.com/message/4697183#4697183),我应该收集所有信任的父母,然后遍历它们以搜索用户对象。不幸的是,在我们的案例中,这不会导致找到任何用户。

由于我有其他信息,我知道我用于测试的特定用户驻留在哪个服务器中,但我什至无法在原始服务器的信任父列表中找到该服务器。我将我的服务器作为全局目录访问,因此,据我所知,我应该能够找到驻留在整个网络上的所有内容。正确的?

请注意,主体引用的组和用户驻留在两个完全不同的树中,而不是彼此的子树。(例如,组在 foo.com 域中,用户在 acme.net 域中)。

有没有人有在 Active Directory 中查找ForeignSecurityPrincipals的经验,并且可以就我可能遗漏的步骤或我可能忽略的问题提供任何指导?

谢谢!

4

1 回答 1

2

ForeignSecurityPrincipals (FSP) 表示当前林外部的安全主体。因此,在大多数情况下,预计您无法在当前林中使用 GC 解析 FSP,因为 GC 仅包含其林中的所有对象。

据我所知,FSP 中获取安全主体的唯一提示是 objectSid 属性中的 SID。似乎没有简单的方法可以使用来自外国林的 SID 取回包含的林/域。

一种不太简单的方法是构建域 SID 到域映射

访问外国安全负责人

但它在 PowerShell 中(我不知道你提到的 SDK)。一般概念是遍历受信任森林中的每个域并构建域 SID 映射。之后,您知道 SID 来自哪里,然后您可以在目标域上进行搜索以取回帐户。您可以尝试理解代码并移植到您的首选语言。

于 2015-02-11T01:44:22.607 回答