2015-02-10 128 views
0
解决ForeignSecurityPrincipals

我试图用专门通过UnboundID LDAP SDK的Java(LDAP接口的Active Directory服务器网络解决ForeignSecurityPrincipals用户对象https://www.ldap.com/unboundid-ldap-sdk-for-java)。与UnboundID LDAP SDK Active Directory中的Java

我所试图做的是以下几点:

  • 进口一批
  • 导入该组
    • 解决所有用户的所有ForeignSecurityPrincipals包含作为成员

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

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

由于我有额外的信息,我知道我用于测试的特定用户驻留在哪个服务器中,但我甚至无法在原始服务器的信任父列表中找到该服务器。我以全球目录的身份访问我的服务器,据我所知,我应该能够找到驻留在整个网络上的所有内容。正确?

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

有没有人在Active Directory中查找ForeignSecurityPrincipals,并且可以提供有关哪些步骤可能会丢失或可能忽略哪些问题的任何指导?

谢谢!

回答

2

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

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

一个不那么简单的方法是建立一个域名SID到域名地图

Accessing Foreign Security Principals

但它在PowerShell中(我有没有SDK知识,你所提到的)。一般概念是遍历受信任森林中的每个域并构建域SID映射。在此之后,您知道SID的来源,然后您可以在目标域上搜索以获取该帐户。您可以尝试了解您的首选语言的代码和端口。