別名リストを定義できます。別名リストのエントリは識別名 (DN) で識別され、エントリが表すディレクトリエントリ名 (別名のオブジェクト名) を持っています。別名リストとそのエントリは、同じルートエントリの下になければなりません。別名オブジェクトクラスの定義については、「オブジェクトクラスのリファレンス」を参照してください。
バインドと検索の操作では、ディレクトリが別名識別名を実際のエントリの識別名に変換するように指定できます。これを別名の「参照」と呼びます。これ以外の操作では、別名エントリを通常のエントリとして扱う必要があります。たとえば、別名のオブジェクトではなく、別名エントリそのものの相対識別名を変更する場合には、別名の参照は行いません。
別名エントリを伴う検索や読み取り操作の結果は、別名の参照を行うかどうかによって異なります。別名の参照は LDAP クライアントが指定します。別名の参照フラグには、次の 4 つの設定が可能です。
別名の参照をしない
エントリが別名エントリであっても、すべての操作が指定の識別名を持つエントリに適用されます。これがデフォルトの設定です。
ベースオブジェクトを検索するときに別名の参照を行う
ベースオブジェクトは、検索するエントリサブツリーの一番上のエントリです。この設定では、ベースオブジェクトとして別名を指定すると別名の参照が行われますが、検索の間に得られる他のすべての別名には別名の参照は行われません。
検索のときに別名の参照を行う
検索操作を行なっている場合には、検索で指定または使用するすべての別名エントリに対し、ベースオブジェクトを除き、別名の参照が行われます。検索の結果が別名エントリなら、別名エントリの代わりに別名のオブジェクトが返されます。そのため、識別名の内容に基づく検索で予期しない結果になることがあります。つまり、要求した識別名条件に含まれるエントリが別名であったため、それに対し別名の参照が行われ、返されたいくつかのエントリの中に要求した情報がないのです。
常に別名の参照を行う
操作で指定または使用するすべての別名に対し、別名の参照が行われます。
たとえば、ディレクトリに次の対のエントリがあるとします。
cn=Stan Smith, role=Personnel Administrator, ou=Personnel, o=XYZ, c=US |
|
次の属性を持つ |
objectclass=orgPerson |
|
cn=Stan Smith |
|
telephoneNumber=123 456 7890 |
|
mail=dtmail |
cn=personnel, o=XYZ, c=US |
|
次の属性を持つ |
objectclass=alias objectclass=aliasObject |
|
cn=personnel aliasedObjectName="cn=Stan Smith, role=Personnel Administrator, ou=Personnel, o=XYZ, c=US" |
検索時に別名の参照を行う場合、サブツリー o=XYZ、c=US で cn=personnel の電話番号を検索すると、Stan Smith の電話番号が得られます。別名の参照を行わない場合、電話番号は得られません。
役割に対し別名を定義すると、役割の担当者がしばしば変わるような場合 (たとえば、時間外に呼び出される当直のネットワークマネージャのような場合)、特に便利です。ユーザーはいつも同じ名前で照会できるからです。aliasedObjectName の値はスクリプトで変更できます。このスクリプトは、スケジュールに従って実行され、ldapmodify を呼び出して変更を行います。
ldapsearch で別名の参照の使い方を指定する方法については、ldapsearch(1) のマニュアルぺージを参照してください。
ディレクトリに対してある種の操作を行うには、ユーザーの認証が必要です。たとえば、ディレクトリ内容の変更やエントリの userPassword 属性の読み取りが行われるようなときです。許されるアクセスレベルは、バインドプロセスで確立されます。詳細は、「ディレクトリとのバインド」を参照してください。
バインド要求に指定された識別名が別名エントリの識別名であることがあります。別名の参照を使用する場合には、別名エントリの ailiasedObjectName に指定されている識別名とユーザーはバインドされ、その識別名を持つエントリに定義されているアクセス権が与えられます。
バインド操作での別名の参照は、LDAP サーバーに対して行う必要がある構成選択の 1 つです。別名の参照を使用せずに別名エントリの識別名でバインドすると、パスワード属性がないため、アクセスは拒否されます。これは、別名の参照を許可すると、ユーザーはパスワードなしにバインドできることを意味します。
Sun Directory Services に対し別名の参照を指定する方法については、「LDAP パラメータの構成」を参照してください。