新しいオブジェクトクラスや属性を作成する
オブジェクトと属性を変更する
既存のオブジェクトクラスを変更するよりも、新しいオブジェクトクラスを作成する方が安全です。既存のオブジェクトクラスを拡張したい場合には、拡張したいオブジェクトクラスから属性を継承するオブジェクトクラスを作成できます。
オブジェクトクラスや属性は、できるだけ削除しないでください。既存の定義を使用しているディレクトリエントリがある可能性があるからです。
スキーマの変更によってエントリが無効になるかどうかは、自動的には検査されません。したがって、エントリが無効になる危険を少なくするために、ディレクトリの変更は、オブジェクトクラスや属性の追加だけに限定してください。ただし、スキーマの検査を有効にできます。手順については、「スキーマの検査」を参照してください。
スキーマ定義には、Sun Directory Services ディレクトリサーバーや Sun Internet Mail Server (SIMS) が内部的に使用するオブジェクトクラスが含まれています。管理コンソールでは、これらのオブジェクトクラスの変更は拒否されます。これらのオブジェクトクラスには、構成ファイルにおいて、キーワード「frozen」が付けられます。このキーワードは、標準のスキーマ項目から削除しないでください。
ユーザーが Web ゲートウェイからディレクトリを表示するには、スキーマに対するすべての変更を dswebtmpl.conf ファイルにも行う必要があります。詳細は、dswebtmpl.conf(4) のマニュアルページを参照してください。
Sun Directory Services には、スキーマを検査する機能があります。ディレクトリ情報を追加または変更すると、そのオブジェクトクラスの必須属性やそのオブジェクトが継承する必須属性がすべての必須属性を含んでいるかどうかをディレクトリサーバーが検査します。
オフ (Off): 検査は行われません。
弱 (Weak): エントリの作成や変更の際に検査が行われます。
強 (Strong): 上記のオプションに加え、検索操作でも検査が行われます。
管理コンソールの「スキーマ (Shema)」セクションにある「スキーマ検査 (Schema check)」メニューボタンで適切なレベルを選択します。デフォルトの検査レベルは「弱 (Weak)」です。
スキーマ検査では、オブジェクトクラスの互換性を検査できません。たとえば、device オブジェクトクラスと person オブジェクトクラスを持つエントリを作成することは可能です。IETF 標準には、オブジェクトクラスに対する規則は含まれていません。
管理コンソールメインウィンドウの「作成 (Create)」メニューから「クラス/属性... (Class/Attribute...)」を選択します。
「オブジェクトクラスの作成 (Create Object Class)」ウィンドウが表示されます。
次の項目を入力します。
新しいオブジェクトクラス名
(省略可能) オブジェクトクラスのオブジェクト識別子
このオブジェクトクラスが属性を継承する上位のオブジェクトクラス
このオブジェクトクラスの必須属性と任意属性を指定します。
「了解 (OK)」をクリックして、変更したオブジェクトクラス定義を保存します。
この変更を有効にするには、dsservd デーモンを再起動する必要があります。図 8-1 は、新しいオブジェクトクラス plumber と、この業者に連絡するために必要な属性を示しています。
管理コンソールメインウィンドウの「作成 (Create)」メニューから「クラス/属性... (Class/Attribute...)」を選択します。
「オブジェクトクラスの作成 (Create Object Class)」ウィンドウの「作成 (Create)」メニューから「属性... (Attribute...)」を選択します。
「属性の追加 (Add Attribute)」ウィンドウが表示されます。
次の項目を指定します。
属性名
(省略可能) 属性の固有 OID
(省略可能)「別名 (Alias(es))」フィールドに代替名
属性が複数の値をもつかどうか
属性をネーミング属性として使用できるか
「了解 (OK)」をクリックして、新しい属性の定義を保存します。
この変更を有効にするには、dsservd デーモンを再起動する必要があります。図 8-2 は、オブジェクトクラス plumber に追加する新しい属性 hourlyRate が作成されたことを示しています。
属性を追加するオブジェクトクラスをオブジェクトクラスリストから選択して強調表示し、「選択 (Selected)」メニューから「クラスを変更... (Modify Class...)」を選択します。
「オブジェクトクラスの変更 (Modify Object Class)」ウィンドウが表示されます。変更しようとするオブジェクトクラス名は、このウィンドウの「一般 (General)」セクションに表示されます。このオブジェクトクラスの必須属性と任意属性は、「オブジェクトクラス属性 (Object class attributes)」セクションに表示されます。
「定義済み属性 (Defined Attributes)」リストから、追加する属性を選択して強調表示します。
ホップアップメニューから属性モード (必須または任意) を選択します。
「追加 (Add)」をクリックして、属性をオブジェクトクラス定義に追加します。
「了解 (OK)」をクリックして、変更したオブジェクトクラス定義を保存します。
この変更を有効にするには、dsservd デーモンを再起動する必要があります。
オブジェクトクラス定義にすでに指定されている属性のモードを変更するには、「クラス属性 (Class attributes)」リストの属性を選択し、「モード (Mode)」ポップアップメニューでモードを変更します。