リモート LDAP ディレクトリのディレクトリアシスタント文書で検索フィルタを設定する

サーバーでディレクトリアシスタントを使用してリモート LDAP ディレクトリを検索する場合は、ディレクトリの検索に使用する LDAP 検索フィルタを制御できます。ディレクトリの検索に使用する LDAP 検索フィルタを指定するディレクトリのディレクトリアシスタント文書にある [使用する検索フィルタの種類] フィールドを使用します。

このタスクについて

検索フィルタを制御するディレクトリのディレクトリアシスタント文書にある [使用する検索フィルタの種類] フィールドで、ディレクトリ検索に使用する LDAP 検索フィルタを設定します。

1. LDAP 検索フィルタのオプション

検索フィルタオプション

説明

標準の LDAP (デフォルト)

ほとんどの LDAP ディレクトリサーバーで機能する標準 LDAP 検索フィルタを使用します。

Active Directory

Active Directory サーバーで機能する定義済み検索フィルタを使用します。リモート LDAP ディレクトリが Active Directory の場合は、このオプションを選択します。

注: 検索フィルタの各属性には、Active Directory で索引を付ける必要があります。索引が付いていないと、検索のパフォーマンスが低下し、検索結果の信頼性が低くなることがあります。

このオプションは、Release 5 で Active Directory グループの検索を可能にしていた、NOTES.INI ファイルの WebAuth_AD_Group 設定に代わるものです。

カスタム

独自の検索フィルタを定義する場合に使用します。

カスタム検索フィルタを定義する

このタスクについて

検索結果が返されない場合や、目的の検索が行われない場合は、カスタム検索フィルタを定義します。リモート LDAP ディレクトリサーバーで標準ではないスキーマを使用している場合に、このような検索結果になる可能性があります。一般にカスタムフィルタでは、特定の属性を対象として、エントリごとに属性値が異なり対象が一意的に決まる条件を指定したり、インデックスなど高速の検索を実現するメカニズムを利用して効率よく一致する条件を指定したりします。

カスタム検索フィルタを定義するには、RFC 2251 および 2254 に記述されている、検索フィルタの有効な構文について知っておく必要があります。

[使用する検索フィルタの種類] フィールドで [カスタム] を選択して、カスタム検索フィルタを定義する方法を指定します。

2. カスタム検索フィルタを定義するのに使用するフィールド

カスタム検索フィルタのフィールド

説明

メールフィルタ

HCL Notes® ユーザーがディレクトリでメールアドレスを検索できるようにディレクトリアシスタントが設定されている場合、この検索フィルタは、ディレクトリで名前を検索するために使用されます。次のデフォルトの検索フィルタを使用するには、このフィールドを空白のままにしておきます。

(|(cn=%*)(|(&(sn=%a)(givenname=%z))(&(sn=%z)(givenname=%a)))) 

メール受信者フィールドに「Pat Smith」と指定されている場合は、LDAP 検索要求に使用される結果のフィルタは次のようになります。

(|(cn=Pat Smith)(|(&(sn=Pat)(givenname=Smith))(&(sn=Smith)(givenname=Pat))))

メール受信者フィールドに、ユーザーが常に自身の UID 属性を入力する場合などには、メールフィルタをカスタマイズします。その場合のカスタムフィルタは、次のようになります。

(uid=%*)

このフィルタを使用して、メール受信者フィールドに「BAK12345」と指定されている場合は、LDAP 検索要求に使用される結果のフィルタは次のようになります。

(uid=BAK12345)

認証フィルタ

ディレクトリアシスタントが、クライアント認証にリモート LDAP ディレクトリを信頼するように設定されている場合、このフィルタは、そのディレクトリ内の名前を検索するために使用されます。次のデフォルトの検索フィルタを使用するには、このフィールドを空白のままにしておきます。

(|(cn=%*)(|(&(sn=%a)(givenname=%z))(&(sn=%z)(givenname=%a))))

HTTP ログインプロンプトに「Maryanne Brown」と指定されている場合は、LDAP 検索要求に使用される結果のフィルタは次のようになります。

(|(cn=Maryanne Brown)(|(&(sn=Maryanne)(givenname=Brown))(&(sn=Brown)(givenname=Maryanne))))

ユーザーが、ログインプロンプトに普通、自身の従業員 ID またはメール属性を指定する場合などには、認証フィルタをカスタマイズします。その場合、カスタムフィルタは次のようになります。

(|(employeeID=%*)(mail=%*))

したがって、ログインプロンプトに「MB12345」と指定されている場合は、LDAP 検索要求に使用される結果のフィルタは次のようになります。

(|(employeeID=AS12345)(mail=AS12345))

承認フィルタ

Notes® データベース認証では、グループのメンバーの検索に使用する検索フィルタを指定します。次のデフォルトの検索フィルタを使用するには、このフィールドを空白のままにしておきます。

(|(&(objectclass=groupOfUniqueNames)(UniqueMember=%*))(&(objectclass=groupOfNames)(Member=%*)))

この場合、「cn=June Day,ou=Westford,o=Renovations」に対するメンバーシップ検索は、検索要求で次のフィルタになります。

(|(&(objectclass=groupOfUniqueNames)(UniqueMember=cn=June Day,ou=Sales,o=Renovations))(&(objectclass=groupOfNames)(Member=cn=June Day,ou=Sales,o=Renovations)))

ACL グループ展開に有効になっている LDAP サーバーが、aclGroup の objectClass でグループを格納する場合は、次のカスタムフィルタを指定します。

(&(objectclass=aclGroup)(Member=%*))

この場合、「cn=June Day,ou=Sales,o=Renovations」に対するメンバーシップ検索は、LDAP 検索要求で次のフィルタを使用します。

(&(objectclass=aclGroup)(Member=cn=June Day,ou=Sales,o=Renovations))

カスタム検索フィルタを定義するには、RFC 2251 および 2254 に記述されている、検索フィルタの有効な構文について知っておく必要があります。

カスタム LDAP 検索フィルタの構文

このタスクについて

カスタム検索フィルタを定義するには、検索対象である名前の部分を表すパラメータを標準 LDAP 検索フィルタに挿入します。

3. 標準の LDAP 検索フィルタで使用するパラメータ

名前の部分

定義

名前の部分の例 (太字)

名前の部分を表すために挿入するパラメータ

先頭の文字から最初のスペースまたは句読点の前までの文字のセット

Alex M Davidson

%a

最後のスペースまたは句読点の次から末尾の文字までの文字のセット

Alex M Davidson

%z

名前全体

名前の全体

Alex M Davidson

%*

ローカル部分

RFC 822 形式メールアドレスのローカル部分

amd@renovations.com

%l

ドメイン部分

RFC 822 形式メールアドレスのドメイン部分

amd@renovations.com

%d

任意の文字列値

検索対象の属性またはオブジェクトの文字列値

たとえば、検索内に「uid=%s」であるフィルタが存在する場合、%s の表す名前の部分は、amd です。

%s

カスタム LDAP 検索フィルタの例

4. カスタム LDAP 検索フィルタの例
検索する名前 ディレクトリアシスタント文書の検索フィルタ式 名前の検索に使用する検索フィルタ
Alex M Davidson
(|(givenname=%a)(sn=%z) (cn=%*)(mail=%l))
(|(givenname=Alex)(sn=Davidson)
(cn=Alex M Davidson)(mail="")) 
amd
(EmpID=%*)
(EmpID=amd)
amd
(EmpID=%*)
(EmpID="")
amd
(mail=%*@renovations.com)
(mail=amd@renovations.com)
amd
(mail=%*@*)
(mail=amd@*)
amd@renovations.com
(mail=*@%d)
(mail=*@renovations.com)
amd@renovations.com
(mail=%*)
(mail=amd@renovations.com)
amd@renovations.com
(uid=%l)
(uid=amd)
blue
(color=%*)
(color=blue)