拡張可能オブジェクト

拡張可能なものとしてオブジェクトを定義すると、そのオブジェクトに DSA スキーマですでに定義されている属性を含めることができます。
cad140jp
拡張可能なものとしてオブジェクトを定義すると、そのオブジェクトに DSA スキーマですでに定義
されている
属性を含めることができます。
拡張可能オブジェクトは RFC 4512 で定義されています。この標準は補助型オブジェクト クラス
extensibleObject
を定義しています。
補助型オブジェクト クラス
extensibleObject
は、CA Directory で提供されるスキーマ ファイル ldapv3.dxc で定義されています。ただし、デフォルト スキーマ グループには存在しません。DSA でこのスキーマを使用する場合は、DSA の初期化ファイルに追加する必要があります。
オブジェクトを拡張可能にするには以下の 2 つの方法があります。
既存のオブジェクト クラスを拡張可能にする
CA Directory DSA 用にスキーマを作成する場合は、オブジェクト クラスを拡張可能にできます。
既存のオブジェクト クラスを拡張可能にする方法
  1. スキーマ ファイルを開き、更新するオブジェクト クラスを検索します。
  2. 以下のように、
    may-contain
    リストに
    all-attributes
    を追加します。
    schema set object-class prefix:2 = { ... may-contain all-attributes ... };
  3. DSA を初期化します。
既存のオブジェクトを拡張可能にする
既存のスキーマを使用する場合でも、オブジェクトを拡張可能にできます。
このセクションでは、JXplorer を使用してこれを行う方法について説明します。
既存のオブジェクトを拡張可能にする方法
  1. DSA のスキーマに ldapv3.dxc が含まれない場合は、以下の手順に従います。
    1. 以下の例のように、X.500 スキーマをソーシングした後に、DSA 初期化ファイルに
      ldapv3.dxc
      を追加します。
      source "../schema/dxmanager.dxg"; source "../schema/ldapv3.dxc";
    2. 以下のコマンドを使って、DSA を初期化します。
      dxserver init dsa-name
  2. JXplorer で、DSA に接続します。
  3. 変更するオブジェクトに移動します。
  4. 右ペインで、[Table Editor]タブを選択して、このオブジェクトの属性を表示します。
  5. [Change Class]ボタンをクリックします。
  6. [Set Object Entry Classes]ダイアログ ボックスの[Available Classes]リストで、オブジェクト クラス
    extensibleObject
    を検索します。
  7. オブジェクト クラス
    extensibleObject
    を選択し、[Add]をクリックして、[OK]をクリックします。
  8. [Submit]をクリックして、このオブジェクトへの変更を保存します。
    このオブジェクトで、DSA スキーマで定義されている属性を使用できるようになります。
拡張可能オブジェクトへの属性の追加
オブジェクトを拡張可能にした後は、そのオブジェクトにスキーマ内の任意の属性を追加できます。
LDAP ブラウザを使用してこれを実行することはできません。このセクションでは、DSA コンソール コマンドを使用してこれを行う方法について説明します。
拡張可能オブジェクトに属性を追加する方法
  1. 前のセクションで説明したとおりに、オブジェクトが拡張可能であることを確認します。
  2. DSA コンソールを開き、以下のコマンドを使用して、DSA にバインドします。
    bind-req;
  3. 以下のコマンドを使用して、エントリに属性を追加します。
    mod-entry-req entry=DN add-attr {attribute-name "attribute-value"};
    たとえば、値 EXT 133 とともに
    carLicense
    属性を Democorp 組織エントリに追加するには、以下のコマンドを使用します。
    mod-entry-req entry=<c au><o democorp> add-attr {carLicense "EXT 133"};
オブジェクト クラス定義の拡張例
以下のスキーマ定義は、
person
オブジェクト クラスから継承するオブジェクト クラス
newPerson
を定義します。
person
オブジェクト クラスには、属性
cn
surname
を含める必要があります。つまり、
newPerson
オブジェクト クラスにもそれらの属性を含める必要があります。さらに、他の定義された属性を含めることができます。
schema set object-class myprefix:1 = { name = newPerson subclass-of person may-contain all-attributes };