LDAP 検索フィルター式
ルール・ベースのユーザー・グループのルールは、LDAP 検索フィルターの構文に基づいています。
LDAP 検索フィルターの構文に関する情報は、関連リンクのセクションの『RFC2254 - The String Representation of LDAP Search Filters』を参照してください。
以下の LDAP 検索フィルター構文のサブセットを使用できます。
- アンパーサンド (&) で表される AND 演算子
- 縦線 (|) で表される OR 演算子
- 感嘆符 (!) で表される NOT 演算子
- 等号 (=) で表される、名前と値の式の同等比較
- 名前と値の式で使用される値の先頭または末尾のアスタリスク (*) で表されるワイルドカード
注: 属性の先頭を AND、OR、または NOT (&、|、または !) のいずれかの演算子にすることはできず、属性に比較の等号 (=) または括弧を含めることもできません。
以下に例を示します。
- (uid=testuser)
- 属性 uid の値が testuser に完全一致する全ユーザーを突き合わせます。
- (uid=test*)
- 属性 uid の値の先頭が test の全ユーザーを突き合わせます。
- (!(uid=test*))
- 属性 uid の値の先頭が test でない全ユーザーを突き合わせます。
- (&(department=1234)(city=Paris))
- 属性 department の値が 1234 に完全一致し、属性 city の値が Paris に完全一致する全ユーザーを突き合わせます。
- (|(department=1234)(department=56*))
- 属性 department の値が 1234 に完全一致しているか、値の先頭が 56 の全ユーザーを突き合わせます。
- (&(department=12*)(!(department=123*)))
- 属性 department の値の先頭が 12 のうち 123 を除く全ユーザーを突き合わせます。
構文の検証
ルール・ベースのユーザー・グループを定義したり変更したりすると、ルール・ベースのユーザー・グループのアダプターは LDAP 検索フィルター式の構文を検証します。 例:
- 無効なルールが指定されました:
- 無効なルールを指定すると、ルール・ベースのユーザー・グループは該当するエラー・メッセージを返します。 しかし、使用された属性名がユーザー構成内にあるかどうかは検査しません。 検索フィルターを呼び出すコードを使用して、構成を検証できます。
- 無効な属性が指定されました:
- ルールに無効な属性名が含まれている場合、ルール・ベースのユーザー・グループのグループ・メンバーシップは判別されず、エラーがログに記録されます。 属性を削除したり名前変更したりする場合など、システム内の属性の構成を変更すると、既存のルールが壊れる可能性があります。