エイリアスのセットアップ
エイリアス エントリは別のエントリの名前が含まれているディレクトリ エントリです。ディレクトリを検索または参照するときに、エイリアスを解決するかどうか(ターゲット エントリの詳細の表示)、またはエイリアス エントリ自体の詳細を表示するかどうかを決定できます。
cad140jp
エイリアス エントリ
は別のエントリの名前が含まれているディレクトリ エントリです。ディレクトリを検索または参照するときに、エイリアスを解決するかどうか(ターゲット エントリの詳細の表示)、またはエイリアス エントリ自体の詳細を表示するかどうかを決定できます。エイリアスは、1 つのエントリに 2 つの名前が必要な場合に効力を発揮するメカニズムです。ただし、正しく使用しないと、結果に一貫性のない DIT が含まれ、パフォーマンスが低下する場合があります。操作時にエイリアスをフォローするにはさらにコストがかかります。パフォーマンスを向上させるには、エイリアスを控え目に使用するかまったく使わないようにします。また、別の DSA 内のエントリをポイントしていると、通常の場合エイリアスは拡張されません。
エイリアスの仕組み
エイリアス エントリには、オブジェクト クラスの
alias
があります。クラス alias
のエントリには、必須属性 aliasedObjectName
があり、そこにはエイリアスが指していているエントリの DN が含まれています。エイリアス エントリは、ディレクトリ情報ツリーのリーフです。ほかのすべてのエントリは
オブジェクト エントリ
です。エイリアス エントリは、オブジェクト エントリまたは他のエイリアス エントリをポイントでき、したがって、対応するオブジェクトの代替名を提供します。DSA は、ポイントされているオブジェクト エントリの識別名にエイリアス エントリを解決します。
詳細については、「名前バインディングとエイリアス」を参照してください。
例: Democorp 内のエイリアス
以下の図は、Democorp DSA 用のディレクトリ情報ツリーの一部を示しています。DIT は以下のエイリアスを含めるために編集されています。
- Aviation サブツリーで、新しいエイリアス エントリは Construction サブツリー内の Bernd Stark エントリをポイントしています。
- Projects サブツリーで、新しいエイリアス エントリは Construction エントリをポイントしています。

この例には以下のエイリアス エントリが含まれます。
- cn=Bernd Stark,ou=Aviation,ou=Projects,o=Democorpこれは、cn=Bernd Stark,ou=Construction,ou=Projects,o=Democorpを指し示すエイリアス エントリです。このエントリにはオブジェクト クラスaliasがあり、属性aliasedObjectNameには値cn=Bernd Stark,ou=Construction,ou=Projects,o=Democorpがあります。
- ou=Building,ou=Projects,o=Democorpこれは、ou=Construction,ou=Projects,o=Democorpを指し示すエイリアス エントリです。このエントリにもオブジェクト クラスaliasがあり、属性aliasedObjectNameには値ou=Construction,ou=Projects,o=Democorpがあります。
エイリアスの整合性
エイリアスを正しく管理することはアプリケーション設計の課題です。
エイリアスの整合性を有効にすることをお勧めします。これにより、オブジェクト エントリをポイントしないエイリアスの作成が防止されます。
エイリアスの整合性の有効化
エイリアスの整合性が有効になっていると、以下のようになります。
- 1 つ以上のエイリアスによってポイントされているエントリが削除されると、エイリアスも削除されます。
- 無効なエイリアス(参照されているエントリが存在しない)は追加できません。
エイリアスの整合性を有効にするには、以下のコマンドを使用します。
set alias-integrity = true;
エイリアスの整合性の無効化
エイリアスの整合性を無効にすると、DSA は存在しないオブジェクトに対するエイリアスの作成を回避しません。DSA は、実際に検出したときにのみ無効なエイリアスをレポートします。
エイリアスの整合性を無効にするには、以下のコマンドを使用します。
set alias-integrity = false;
アクセス制御とエイリアス
ユーザがユーザ名とパスワードでバインドすると、システムはバインドで指定されたパスワードを、指定されたユーザのデータ ストア内のパスワードに対して確認します。
デフォルトでは、CA Directory はエイリアスによるバインドを許可しません。バインドでエイリアスを使用できるようにするには、
set dereference-alias-on-bind = true
を使用します。バインドでエイリアスを使用できるように CA Directory を設定し、ユーザ名がエイリアスの場合、システムは、エイリアスがポイントするエントリ内のパスワードに対してパスワードを確認しますが、バインドに関連するユーザ名はエイリアス名です。
つまり、ユーザは複数のユーザ名でバインドでき、それぞれのユーザ名には異なるアクセス制御を関連付けることができます。
エイリアスがどのように DIT 検索に影響するか
エイリアスが含まれるディレクトリ情報ツリーを検索するときに、結果はベース オブジェクト、検索スコープおよび移動と検索時に、エイリアスが間接参照されるかによって異なります。
検索エイリアス制御は、検索のベース オブジェクトに影響しませんが、エイリアス エントリを検索結果で返せるかどうかを決定します。これは特にベース オブジェクト検索で、固有の効果が得られる場合があります。
ディレクトリが検索リクエストを受信すると、ディレクトリはリクエストで定義されているベース オブジェクトに移動します。ベース オブジェクトは検索の実行元になるエントリです。ディレクトリがベース オブジェクトを特定すると、検索はその場所から実行されます。
ベース オブジェクトがエイリアスである場合、検索はエイリアスを間接参照するようにリクエストできます。検索中に、エイリアスが指しているエントリがエイリアス自体ではなくベース オブジェクトとして使用される場合、エイリアス エントリが
間接参照
されます。ディレクトリがベース オブジェクトを特定して間接参照すると(リクエストされている場合)、検索が実行されます。検索では、任意の数のエイリアス エントリを返すことができます。これらのエイリアス エントリも間接参照できます。
例: エイリアスの検索
この例では、「例: Democorp 内のエイリアス」の場合と同じ DIT を使用します。
検索リクエストのベース オブジェクトは次のエイリアス エントリです。ou=Building, ou=Projects, o=Democorp。これは、ou=Construction, ou=Projects, o=Democorp をポイントするエイリアスです。
移動中にエイリアスを間接参照するように選択すると、検索は ou=Construction, ou=Projects, o=Democorp から実行されます。
ただし、移動中にエイリアスを間接参照しないように検索リクエストに指示できます。これを行うと、検索は次のエイリアス エントリから実行されます。ou=Building, ou=Projects, o=Democorp。
例: エイリアスの再検索
この例では、「例: Democorp 内のエイリアス」の場合と同じ DIT を使用します。
検索時にエイリアスを間接参照するように選択すると、検索で返されるエイリアスが間接参照されます。
検索によってエイリアス エントリ cn=Bernd Stark,ou=Aviation,ou=Projects が見つかると、次のターゲット エントリが返されます。cn=Bernd Stark,ou=Construction,ou=Projects。
ただし、検索時にエイリアスを間接参照
しない
ように選択できます。