1

UnboundID LDAP SDK for Java ( https://www.ldap.com/unboundid-ldap-sdk-for-java ) を介して LDAP インターフェイスのみを使用して、Active Directory Server ネットワーク内のユーザーオブジェクトにForeignSecurityPrincipalsを解決しようとしています。

私がやろうとしていることは次のとおりです。

  • グループをインポートする
  • そのグループ内のすべてのユーザーをインポートします
    • メンバーとして含まれているすべての ForeignSecurityPrincipals を解決します

グループのインポートは簡単に実行できますが、グループにはいくつかのForeignSecurityPrincipalsがメンバーとして含まれています。これらはまず、プリンシパルobjectSIDを使用して「実際の」ユーザーオブジェクトに解決する必要があります。

私の知る限り、ForeignSecurityPrincipalは別のサーバーに常駐する別のオブジェクトを指しており、これを解決する必要があります。ここのガイド ( https://community.oracle.com/message/4697183#4697183 ) によると、すべての信頼できる親を収集し、それらを反復処理してUserオブジェクトを検索する必要があります。残念ながら、私たちの場合、これはユーザーが見つからないという結果にはなりません。

私が持っている追加情報により、テストに使用している特定のユーザーがどのサーバーに常駐しているかがわかりますが、元のサーバーの信頼できる親リストでそのサーバーを見つけることさえできません。サーバーにグローバル カタログとしてアクセスしているため、私が理解している限り、ネットワーク全体に存在するすべてのものを見つけることができるはずです。正しい?

プリンシパルによって参照されるグループとユーザーは、互いのサブツリーではなく、2 つの完全に異なるツリーに存在することに注意してください。(たとえば、グループは 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 に答える