我正在尝试使用 独占 将LDAP中的 ForeignSecurityPrincipals 解析为Active Directory Server网络中的用户对象通过UnboundID LDAP SDK for Java(https://www.ldap.com/unboundid-ldap-sdk-for-java)接口。
我要做的是以下内容:
轻松完成导入组,但该组包含一些 ForeignSecurityPrincipals 作为成员。首先必须使用主体 objectSID 将它们解析为“真正的”用户对象。
据我了解, ForeignSecurityPrincipal 指向驻留在不同服务器上的另一个对象,必须解析。根据这里的指南(https://community.oracle.com/message/4697183#4697183),我应该收集所有信任父母,然后迭代它们以搜索用户对象。不幸的是,在我们的案例中,这不会导致找到任何用户。
由于我有其他信息,我知道我用于测试的特定用户驻留在哪个服务器中,但我甚至无法在原始服务器的信任父列表中找到该服务器。我作为全球目录访问我的服务器,据我所知,我应该能够找到整个网络上的所有内容。正确的吗?
请注意,委托人引用的组和用户驻留在两个完全不同的树中,而不是彼此的子树。 (例如,该组位于foo.com域中,而用户位于acme.net域中。)
是否有人有在Active Directory中查找 ForeignSecurityPrincipals 的经验,并且可以提供有关我可能缺少哪个步骤或可能忽略哪些问题的任何指导?
谢谢!
答案 0 :(得分:2)
ForeignSecurityPrincipals(FSP)表示当前林外部的安全主体。因此,在大多数情况下,预计您无法在当前林中使用GC解析FSP,因为GC仅在其林中包含所有对象。
据我所知,FSP中唯一提示取回安全主体的提示是objectSid属性中的SID。似乎没有简单的方法可以使用来自外部林的SID来获取包含林/域。
一种不太容易的方法是在域地图中构建域SID 。
Accessing Foreign Security Principals
但是它在PowerShell中(我对你提到的SDK一无所知)。一般概念是遍历受信任林中的每个域并构建域SID映射。之后,您知道SID的来源,然后您可以在目标域上搜索以取回帐户。您可以尝试将代码和端口理解为您的首选语言。