2015-02-10 142 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的來源,然後您可以在目標域上搜索以獲取該帳戶。您可以嘗試瞭解您的首選語言的代碼和端口。