LDAP サービスの場合、Proxy Server では、任意の属性に基づいてユーザーを自動的にグループ化する場合、または一致する DN を含む特定のグループに ACL を適用する場合に、ダイナミックグループを作成できます。たとえば、department=marketing という属性を持つ任意の DN を自動的に含めるグループを作成することができます。department=marketing に検索フィルタを適用すると、検索結果は、 department=marketing 属性を含むすべての DN からなるグループを返します。次に、このフィルタに基づいて検索結果からダイナミックグループを定義できます。さらに、結果として生成されるダイナミックグループの ACL を定義できます。
Proxy Server は、ダイナミックグループを objectclass=groupOfURLs として LDAP サーバースキーマ内に実装します。groupOfURLs クラスは、0 個以上の memberURL 属性を持つことができます。各属性はディレクトリ内のオブジェクトセットを記述する LDAP URL で構成されます。グループのメンバーは、これらのセットの組み合わせです。たとえば、次のグループには 1 つのメンバー URL だけが含まれます。
ldap:///o=mcom.com??sub?(department=marketing)
この例は、部署名が marketing である o=mcom.com の下のすべてのオブジェクトで構成されるセットを示しています。LDAP URL には、検索ベース DN、スコープ、およびフィルタを含むことができますが、ホスト名とポートを含むことはできません。このため、同じ LDAP サーバー上のオブジェクトだけを参照できます。すべてのスコープがサポートされます。LDAP URL については、「ダイナミックグループ作成のガイドライン」を参照してください。
グループに DN を個別に追加しなくても、すべての DN が自動的に組み込まれます。Proxy Server は ACL 検証でグループ検索が必要になるたびに LDAP サーバー検索を行うため、グループは動的に変化します。ACL ファイルで使用されるユーザー名とグループ名は、LDAP データベース内のオブジェクトの cn 属性に対応します。
Proxy Server は cn 属性を ACL のグループ名として使用します。
ACL から LDAP データベースへのマッピングは、dbswitch.conf ファイル (ACL データベース名と実際の LDAP データベース URL を関連付ける) と ACL ファイル (どのACL でどのデータベースが使用されるかを定義する) の両方に定義されます。たとえば、staff というグループのメンバーシップに基本アクセス権を設定する場合、ACL コードは groupOfanything というオブジェクトクラスを持ち、CN が staff に設定されているオブジェクトを検索します。オブジェクトは、メンバー DN を明示的に列挙するか (スタティックグループのgroupOfUniqueNames と同様)、または LDAP URL を指定することによって (たとえば groupOfURLs)、グループのメンバーを定義します。
グループはスタティックおよびダイナミックの両方にすることができます。グループオブジェクトには、objectclass=groupOfUniqueMembers および objectclass=groupOfURL s の両方を設定することができます。そのため、uniqueMember および memberURL の両方の属性が有効になります。グループのメンバーシップには、スタティックなメンバーとダイナミックなメンバーが混在します。
ダイナミックグループを使用すると、サーバーパフォーマンスに影響を与えます。グループメンバーシップをテストするときに、DN がスタティックグループのメンバーではない場合、Proxy Server はデータベースのベース DN に含まれるすべてのダイナミックグループをチェックします。Proxy Server は、ベース DN とスコープをユーザーの DN と比較して各 memberURL が一致するかどうかを識別します。次にユーザー DN をベース DN とし、memberURL のフィルタを使用してベース検索を実行します。この処理では、膨大な数の検索が行われることがあります。
新規のダイナミックグループを作成するために管理サーバーのインタフェースを使用するときには、次のガイドラインを考慮してください。
ダイナミックグループにほかのグループを含めることはできません。
LDAP URL は、次の書式を使用します。ホストとポートの情報は無視されるので、これらのパラメータは指定しません。
ldap:/// base-dn?attributes? scope?(filter)
attributes、scope、および (filter) パラメータは、URL 内の位置で識別されます。どの属性も指定しない場合でも、疑問符 (?) を含めてそのフィールドを区切る必要があります。
組織単位がディレクトリに定義されている場合、管理サーバーインタフェースの「Create Group」ページにある「Add New Group」リストを使用して、新規のグループを配置する場所を指定できます。デフォルトの場所は、ディレクトリのルートポイント、つまり最上位のエントリです。
グループの編集については、「グループエントリの編集」を参照してください。
次の表は、LDAP URL の必須パラメータを示しています。
表 4–4 LDAP URL の必須パラメータ