webdevqa.jp.net

スーパーグループ内のグループからユーザーを列挙する単一行のLDAPクエリ

私はこのようなスキームを持っています:

  1. ユーザーは、UserA、UserB、UserCのように存在します。
  2. グループは、OverGroup、SubGroupのように存在します。
  3. OverGroupは、UserA、UserBなどの新しいユーザーをメンバーシップに自動的に追加します。
  4. 自分で作成したサブグループ。 OverGroupをSubGroupのメンバーに設定しました。

1行のクエリでSubGroupを取得し、OverGroupではなく取得できるようにしたい、つまり:

Values:  
CN=OverGroup,OU=Groups,DC=example,DC=com

しかし、OverGroup内の実際のユーザー(ユーザーA、B、C)の完全な列挙、つまり:

Values:  
CN=UserA,OU=OtherOU,DC=example,DC=com
CN=UserB,OU=OtherOU,DC=example,DC=com
CN=UserC,OU=OtherOU,DC=example,DC=com

これを取得できるワンライナーLDAPフィルターはありますか? (これは、Request TrackerインスタンスのExternalAuth構成の「ldap」セクションに配置されます。ExternalAuthモジュールが理解できる1つのクエリでのみこれを実行できることを確認してください。)

私が試みたすべてが機能せず、私の読書から、1行のクエリで別のグループのメンバーであるグループ内のユーザーのリストを列挙することは不可能に思われます。考え?

20
asteroid

Active Directoryには特別な検索フィルターオプションがあり、ネストされたグループなどのチェーンされたオブジェクトをフィルター処理できます。機能について説明します ここ

ネストされたグループを含む、グループ内のすべてのユーザーを取得する方法の例を次に示します。

(&(objectClass=user)(memberof:1.2.840.113556.1.4.1941:={0}))

どこ {0}は親グループのDNです。

29
cdeszaq
(&(objectClass=user)(memberof:1.2.840.113556.1.4.1941:=CN=MPV_BedPlacement,OU=Security Groups,OU=Groups,OU=CCHCS,DC=CCHCS,DC=LDAP))

グループの完全なDNを追加する必要があり、中括弧は不要です。

7
bpodfw