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