4

ネストされたグループを持つActiveDirectory(AD)テストインスタンスがあります:ExecutivesとEngineersの2つのサブグループを持つEmployees(Parent)。

Tree:
  Employees
  |
  -Executives
  |   |
  |   -Mister Executive
  |
  -Engineers
      |
      -Joe Engineer

AD拡張LDAP_MATCHING_RULE_IN_CHAINがサブツリーを検索することがわかります。このクエリで従業員であるすべてのユーザーを検索できます。

query:
( & (objectClass=person)   (memberOf:1.2.840.113556.1.4.1941:=CN=Employees,CN=Users,DC=cloud,DC=com))

問題:再帰的な検索が、再帰的な結果がない

ただし、「サブツリー検索結果」を取得する方法が見つかりません。つまり、クエリで「Mister Executive」が「Employee」として返されるのに対し、「memberOf」属性には「Executives」、つまり彼が直接属するグループのみが表示されます。 。他のすべての属性を確認しましたが、「従業員」が表示されません

要約

したがって、最終的な明確化のために:ADは、「サブツリー」LDAP_MATCHING_RULE_IN_CHAIN( "memberOf:1.2.840.113556.1.4.1941:=")検索とともに「サブツリーmemberOf」結果を取得する方法を許可しますか?

前もって感謝します、

4

3 に答える 3

9

グループとノードの間で混乱していると思います。

ディレクトリツリー

ディレクトリは、すべてのオブジェクトがノードであるツリーです。organizationalUnitsActive-Directory は、 (OU) のような少数のオブジェクトのみ、DomainsまたはContainersユーザー オブジェクトを含むノードになる可能性があるため、少し特殊です。

したがって、ディレクトリ検索は次のもので構成されます。

  1. 識別名 (DN) によって識別される、検索が開始されるノード
  2. 取り戻したい属性
  3. 検索の深さ (ベース、1 レベル、サブツリー)
  4. フィルター。

ディレクトリ内の各オブジェクトには、名前と構文を含む属性が含まれています。member、、、、などの一部の属性について、memberOfMicrosoftは と呼ばれる特別な構文を提供しています。この構文は識別名用ですが、ディレクトリはこれらの属性に一種のリレーショナル整合性を提供します。これは、たとえば、ディレクトリ内のオブジェクトを移動した場合、この属性内の DN はその値を保持することを意味します。ユーザーを移動すると、そのユーザーが属するグループの属性が自動的に調整されます。managermanagedByuniqueNamemember

LDAP_MATCHING_RULE_IN_CHAIN

ユーザー X がグループ A のメンバーである場合、ユーザー X DN は A グループの member 属性にあり、A グループ DN はユーザー X の memberOf 属性にあります。グループ A がグループ B のメンバーである場合、ユーザー X は所属します。グループ B に対してですが、B グループ DN はユーザー X の memberOf 属性にはありません。ここではLDAP_MATCHING_RULE_IN_CHAIN、グループに属する再帰的な検索に使用できます。これは、一致が見つかるまで、オブジェクトの祖先のチェーンをルートまでたどる特別な拡張一致演算子です。

このようなクエリのマイクロソフトの例は、ユーザー「user1」がグループ「group1」のメンバーであるかどうかを確認するように設計されたものです。ベースをユーザー DN (cn=user1、cn=users、dc=x) に設定し、スコープをベースに設定して、次のクエリを使用します。

(memberOf:1.2.840.113556.1.4.1941:=cn=Group1,OU=groupsOU,DC=x)

同様に、「user1」がメンバーであるすべてのグループを検索するには、ベースをグループ コンテナー DN に設定します。たとえば、(OU=groupsOU, dc=x) とスコープをサブツリーに指定し、次のフィルターを使用します。

(member:1.2.840.113556.1.4.1941:=cn=user1,cn=users,DC=x)

したがってLDAP_MATCHING_RULE_IN_CHAIN、ディレクトリ ツリー ノードとは関係ありません。

于 2012-03-31T05:19:24.970 に答える
2

不要だったので編集しました…

フィルターを次のように変更します。

(&(objectClass=user)(memberof:1.2.840.113556.1.4.1941:=CN=Employees,CN=Users,DC=cloud,DC=com))
于 2012-03-30T17:05:29.070 に答える