ユーザー・ディレクトリー・エントリーの検索

このタスクについて

エンド・ユーザー情報を検出するために使用可能な方式には、Active Directory ツリー内の開始点を定義し、Remote Control がツリー全体を再帰的に検索してユーザー ID を探し出せるようにすることが含まれます。ほとんどの Active Directory の実装では、ユーザーが Active Directory ツリー内の複数のロケーションに分散されているのが普通なので、この方式が好まれます。この方式は、ユーザー情報がツリーの 1 つのブランチの下に入っているが、部門別つまりブランチの下で分けられている場合に特に便利です。
注: LDAP を使用可能にした場合は、 新しいユーザーと新しいユーザー・グループを Remote Control ではなく、Active Directory で作成する必要があることに注意してください。理由は、Active Directory と同期するときに毎回ユーザーおよびユーザー・グループが Remote Control データベースから削除された後、再度 Active Directory からインポートされるためです。
再帰的検索を使用するには、以下のパラメーターを構成します。
ldap.userBase
検索条件に合致するユーザーを検索するための基本 LDAP ディレクトリー・エントリー。指定しない場合は、 検索ベースがディレクトリー・コンテキストの最上位エレメントになります。
for example OU=mylocation,DC=mycompany,DC=com
OU 構造内をより深くたどって、 特定の組織単位内のみを検索するように選択することで、検索を詳細化できます。 例えば Users という OU の場合は、以下のようにプロパティー値を設定します。
	ldap.userBase=OU=Users,ou=mylocation,dc=mydomain,dc=mycompany,dc=com
これにより、Users OU (および ldap.groupSubtree が true に設定されている場合は Users OU に属するすべての OU) 内のみで基準に合致するユーザーを検索するよう Remote Control に指示が出されます。
ldap.userSearch
Active Directory ユーザーを Remote Control にインポートするために使用する LDAP 照会を定義します。定義する照会では、 検索条件に合致するユーザーのみが Remote Control にインポートされるように結果をフィルターに掛ける必要があります。デフォルト値は以下のとおりです。

(objectClass=user)

この場合は、 このユーザー・ベース内のユーザー・オブジェクトであるすべてのオブジェクトでユーザーが検索されます。つまり、すべての Active Directory ユーザーが Remote Control にインポートされます。
注: 上記を使用する場合、 環境によっては何千ものユーザーが含まれていることがあるため、 必要なユーザーのみをインポートするフィルターを作成することが重要です。検索条件に合致し、ldap.groupSearch フィルターを通して Remote Control にインポートされたグループのメンバーであるユーザーのみがインポート対象ユーザーになるように制限するには、ldap.userInGroup プロパティーを true に設定する必要があります。また、ユーザーは、グループ検索で返される関連グループにインポートされるだけではなく、DefaultGroup にもインポートされるので注意してください。ldap.userInGroup を false に設定すると、グループ・メンバーシップに関係なく、検索条件に一致するすべてのユーザーがインポートされます。
このため、より複雑な照会を使用することで、検索をさらに詳細化することができます。例えば、以下の値を設定したとします。
ldap.groupBase=(OU=mylocation.DC=mycompany.DC=com)
Ldap.userSearch: (&(objectClass=user)(|(memberOf=CN=Department1,OU=GROUPS,
OU=mylocation,DC=mycompany,DC=com) (memberOf=CN=Department3,OU=GROUPS,
OU=mylocation,DC=mycompany,DC=com))(name={0}))
3 つのグループ Department1、Department2、および Department3 が定義されている場合は、 上記の照会により、オブジェクト・クラス user として定義され、Department1 グループまたは Department3 グループのメンバーであるすべてのユーザーが認証され、 インポートされます。Department2 のユーザーは Remote Control にログオンできません。

(&(name={0}) を末尾に追加することで、name 属性をログインに使用することを指定しています。ldap.userid としてどの属性を指定した場合でも、この値が一致する必要があります。

ldap.userSubtree
ユーザーのディレクトリー項目の userBase 属性で指定されたエレメントのサブツリーを再帰的に検索する場合は、この値を true に設定します。デフォルト値の false では最上位のみが検索されます (非再帰的検索)。userPattern 式を使用する場合は無視されます。
ldap.userSubtree=true