13.4 拡張可能一致検索フィルタ

RFC 2251で定義されるLDAP 3のコアプロトコルを指定するには、LDAPサーバが拡張可能一致検索フィルタ機能を認識できなくてはなりません。拡張可能一致検索では、LDAPクライアントは検索フィルタに次の項目を指定することができます。

  • オプションの属性名

  • オプションの一致ルール

  • DN属性がエントリの一部として考慮されるべきかを示すフラグ

  • 一致検索に使用される値

拡張可能一致検索フィルタの文字列を次に示します。

extensible = attr [":dn"] [":" matchingrule] ":=" value /
             [:dn"] ":" matchingrule ":=" value

次の表は、拡張可能検索フィルタパラメータを表示したものです。

パラメータ

説明

attr

適合する属性を指定します。

[":dn"]

一致ルールが比較一致に含まれるていることを示します。

[":" matchingrule]

使用する一致ルールを指定します。

":="

一致ルールを指定しないと、完全一致とみなされます。

value

比較値

extensibleMatchは、LDAP 3から導入された新しいフィルタです。matchingRuleフィールドがない場合は、属性フィールドが必ず必要です。完全一致検索はその属性に対して実行されます。attributeフィールドがなく、matchingRuleが存在する場合、そのmatchingRuleをサポートするエントリ内のすべての属性がmatchValueと比較され、matchingRuleによりアサーション値の構文が決定されます。

フィルタ項目は次のように評価されます。

  • TRUE:エントリに1件以上の一致があることを表します。

  • FALSE:エントリに一致する属性がないことを表します。

  • matchingRuleを認識できなかったり、assertionValueを解析できない場合は「未定義」とされます。

matchingRuleの他にtypeフィールドがある場合、matchingRuleはそのtypeで使用できるものでなくてはなりません。使用できない場合、フィルタ項目は定義されません。検索フィルタに:dnが指定されている場合、エントリの識別名に含まれるすべての属性に対して一致検索が適用されます。また、フィルタ項目の評価がTRUEの識別名が1つ以上属性を持っている場合も、評価はTRUEになります。dnAttributesフィールドがあるので、単語の一致検索などで、1つのルールをエントリに適用し、別のルールをエントリとDN属性に適用するというように、一般的な一致ルールを複数設定する必要がなくなります。

拡張可能一致検索フィルタにより、LDAPクライアントでは次の2つのことが可能になります。

  • 同じタイプのデータに対し、複数の一致ルールをサポートできます。

  • 検索条件にDN要素を含めることができます。

    DN指定により、DNの特定要素の一致検索を実行できます。

eDirectory 8.7.3以降のバージョンは、DN属性の照合用に拡張可能な一致フィルタをサポートします。拡張可能一致検索フィルタのもう一つの要素である一致ルールは未定義とみなされ、無視されます。DN一致検索を使用すると、LDAPクライアントでeDirectoryツリーからオブジェクトを簡単に検索できます。たとえば、

(&(ou:dn:=sales)(objectclass=user))

のような複雑なLDAP検索フィルタにより、セールスコンテナの下のセールスファンクションにあるすべてのユーザオブジェクトをリストすることができます。

使用例

次は、eDirectory 8.7.3以降でサポートされている、拡張可能な一致検索フィルタの文字列の例です。

(o:dn:=Ace Industry)

これは:dnの使用例です。一致を評価するとき、エントリの識別名の属性はエントリの一部とみなされることを表しています。これは、完全一致であることを意味します。

(:dn:2.4.8.10:=Dino)

これはエントリの属性に適用するフィルタの例です。一致ルールが2.4.8.10のDNの属性も考慮されます。

次は、eDirectory 8.7.3以降でサポートされていない拡張可能一致検索検索フィルタの文字列の例です。

(cn:1.2.3.4.5:=John Smith)

この例は、属性タイプcnと値John Smithを指定するフィルタを表しています。一致ルールoid 1.2.3.4.5により、ディレクトリサーバにより一致検索が実行されます。

(sn:dn:2.4.6.8.10:=Barbara Jones)

これは:dnの使用例です。比較するときは一致ルール2.4.6.8.10を使用する必要があることと、一致を評価するときにはエントリの識別名の属性をエントリの一部とみなす必要があることを示します。