前へ     目次     索引     DocHome     次へ     
iPlanet Directory Server 5.1 管理者ガイド



第 9 章   ディレクトリスキーマの拡張


iPlanet Directory Server には、数多くのオブジェクトクラスおよび属性を持つ標準のスキーマ (schema) が付属しています。通常の作業では標準のオブジェクトクラスと属性で十分ですが、新しいオブジェクトクラスや属性を作成など、スキーマの拡張が必要となることもあります。

この章では、スキーマの拡張方法について、次の項目ごとに説明します。



スキーマ拡張の概要

スキーマに新しい属性を追加する場合は、それらの属性を持つオブジェクトクラスを新しく作成する必要があります。必要な属性のほとんどが含まれている既存のオブジェクトクラスに対して、新たに必要となった属性を追加すると、LDAP クライアントとの相互運用性が低下するためです。

Directory Server と既存の LDAP クライアントとの相互運用性は、標準の LDAP スキーマに依存しています。標準スキーマを変更すると、サーバのアップグレード時にも問題が発生します。同様の理由から、標準スキーマの要素を削除することはできません。

オブジェクトクラス、属性、およびディレクトリスキーマの詳細と、スキーマ拡張のガイドラインについては、『iPlanet Directory Server 導入ガイド』を参照してください。標準の属性およびオブジェクトクラスについては、『iPlanet Directory Server スキーマリファレンス』を参照してください。

ディレクトリスキーマを拡張するには、次の手順を実行します。

  1. 新しい属性を作成します。詳細は、「属性の作成」を参照してください。

  2. オブジェクトクラスを作成し、そのオブジェクトクラスに新しい属性を追加します。詳細は、「オブジェクトクラスの作成」を参照してください。



属性の管理

Directory Server Console では、スキーマ内の全属性を表示したり、そのスキーマへの属性拡張を作成、編集、および削除したりできます。次の節では、属性の管理方法を説明します。

オブジェクトクラスの管理については、「オブジェクトクラスの管理」を参照してください。


属性の表示

ディレクトリスキーマにあるすべての属性に対して、その関連情報を表示するには、次の手順を実行します。

  1. Directory Server Console で、「構成」タブを選択します。

  2. 左側のナビゲーションツリーで、Schema フォルダを選択し、右側の区画で「属性」タブを選択します。

    このタブには、スキーマ内のすべての標準 (読み取り専用) およびユーザ定義属性を一覧表示するテーブルが含まれています。テーブルの行の上にマウスを置くと、属性についての説明が表示されます。

    次の表に、属性テーブルのフィールドを示します。


    表 9-1 「属性」タブのテーブルの列 

    列の見出し

    内容

    名前  

    属性の名前。属性のタイプと呼ぶ場合もある  

    OID  

    属性のオブジェクト識別子

    OID は通常、ピリオドで区切られた 10 進数からなる文字列。オブジェクトクラスや属性などのオブジェクトを一意に識別する。OID を指定しないと、Directory Server は自動的に attribute_name-oid を使用する。たとえば、OID を指定しないで属性 birthdate を作成した場合、Directory Server は OID として自動的に birthdate-oid を使用する

    OID に関する詳細情報や、企業の接頭辞の取得依頼については、IANA (Internet Assigned Number Authority) のアドレス iana@iana.org 宛てにメールを送るか、または IANA の Web サイト http://www.iana.org/iana/ にアクセスすること  

    構文  

    構文はこの属性値に使用できる形式を示す。属性の構文は、表 9-2 に示す  

    複数値  

    この列のチェックボックスで、属性に複数の値を指定できるかどうかを指定する。複数値属性は、エントリ内に何回でも現れるが、単一値属性は 1 回しか現れない  


    表 9-2 属性構文の定義 

    構文および OID

    定義

    Binary (以前は bin)  

    属性値がバイナリ形式であることを示す  

    Boolean  

    この属性の値が True または False のどちらか一方であることを示す  

    Country String  

    属性値が印刷可能な 2 文字に制限されることを示す (fr など)  

    DN (以前は dn)  

    属性値が DN (識別名) であることを示す  

    DirectoryString
    (以前は cis)
     

    属性値が大文字と小文字を区別しないことを示す  

    GeneralizedTime  

    属性値が印刷可能な文字列として符号化されることを示す。タイムゾーンを指定する必要がある。必ず GMT を使用すること  

    IA5String (以前は ces)  

    属性値が大文字と小文字を区別することを示す  

    Integer (以前は int)  

    有効な属性値が数字であることを示す  

    OctetString  

    Binary と同じ  

    Postal Address  

    属性値が次のように符号化されていることを示す

    dstring[$ dstring]*

    dstring コンポーネントは DirectoryString 構文の値と同様に符号化される。dstring 内のバックスラッシュとドル記号は、行区切り文字と間違えられることがないように、引用符で囲む。多くのサーバで、postal address は最大 30 文字の 6 行に制限されている。たとえば、次のように指定する

    1234 Main St.$Anytown, TX 12345$USA  

    TelephoneNumber
    (以前は tel)
     

    属性値が電話番号の形式であることを示す。国際形式の電話番号を使用することを推奨する  

    URI  

    この属性値が、http://https://ftpLDAP などの文字列で始まる URL 形式であることを示す。URI は IA5String と同じである。RFC 2396 を参照  


属性の作成

Directory Server Console を使用して、新しい属性を作成できます。新しい属性は、スキーマに追加したあとで、新規に作成したオブジェクトクラスに含める必要があります。詳細は、「オブジェクトクラスの作成」を参照してください。

新しい属性を作成するには、次の手順を実行します。

  1. 「属性」タブを表示します。

    ここまでの手順は、「属性の表示」で説明されています。

  2. 「作成」をクリックします。

    「属性の作成」ダイアログボックスが表示されます。

  3. 「属性名」テキストボックスに属性の一意な名前を入力します。

  4. 「属性 OID (省略可能)」テキストボックスに属性のオブジェクト識別子を入力します。

    OID については、表 9-1を参照してください。

  5. 「構文」ドロップダウンメニューから、属性に保持させるデータを記述するための構文を選択します。

    使用可能な構文は、表 9-1に記載されています。

  6. 属性に複数の値を設定できるようにする場合は、「複数値」チェックボックスを選択します。

    Directory Server では、1 エントリに対して、複数値属性のインスタンスを複数指定できます。

  7. 「OK」をクリックします。


属性の編集

編集できる属性は、ユーザが作成した属性だけです。標準の属性は編集できません。

属性を編集するには、次の手順を実行します。

  1. 「属性」タブを表示します。

    ここまでの手順は、「属性の表示」で説明されています。

  2. 「ユーザ定義属性」テーブルで、編集する属性を選択し、「編集」をクリックします。

    「属性の編集」ダイアログボックスが表示されます。

  3. 属性の名前を変更するには、「属性名」テキストボックスに新しい名前を入力します。

  4. 属性のオブジェクト識別子を変更するには、「属性 OID (省略可能)」テキストボックスに新しい識別子を入力します。

    OID については、表 9-1 を参照してください。

  5. 属性に保持させるデータを記述する構文を変更するには、「構文」ドロップダウンメニューから新しい構文を選択します。

  6. 使用可能な構文は、表 9-1 に記載されています。

  7. 属性に複数の値を設定できるようにする場合は、「複数値」チェックボックスを選択します。

    Directory Server では、1 エントリにつき複数値属性のインスタンスを複数指定できます。

  8. 属性の編集を終えたら、「OK」をクリックします。


属性の削除

削除できる属性はユーザが作成した属性だけです。標準の属性は削除できません。

属性を削除するには、次の手順を実行します。

  1. 「属性」タブを表示します。

    ここまでの手順は、「属性の表示」で説明されています。

  2. 「ユーザ定義属性」テーブルで属性を選択し、「削除」をクリックします。

  3. 確認メッセージが表示されたら、削除のボタンをクリックします。

    この結果、ただちに属性が削除されます。この処理を元に戻すことはできません。



オブジェクトクラスの管理

Directory Server Console を使用して、スキーマのオブジェクトクラスを管理できます。Console では、スキーマの全オブジェクトクラスの表示のほか、スキーマへのオブジェクトクラス拡張の作成、編集、および削除ができます。次の節では、オブジェクトクラスの管理方法を説明しています。

属性の管理については、「属性の管理」を参照してください。


オブジェクトクラスの表示

現在ディレクトリスキーマにあるすべてのオブジェクトクラスに対して、その内容を表示するには、次の手順を実行します。

  1. 「Directory Server Console」で、「構成」タブを選択します。

  2. ナビゲーションツリーで、Schema フォルダを選択し、右側の区画で「オブジェクトクラス」タブを選択します。

  3. 「オブジェクトクラス」リストで、内容を表示するオブジェクトクラスを選択します。

    タブのほかのフィールドには、選択した (標準またはユーザ定義の) オブジェクトクラスに関する情報が表示されます。

次の表に、「オブジェクトクラス」タブのフィールドを示します。


表 9-3 「オブジェクトクラス」タブのフィールド 

フィールド

内容

 

親オブジェクトは、あるオブジェクトクラスの属性と構造の継承元であるオブジェクトクラスを識別する。たとえば、inetOrgPerson オブジェクトクラスの親オブジェクトは、organizationalPerson オブジェクトである。これは、inetOrgPerson オブジェクトクラスを持つエントリは、organizationalPerson オブジェクトクラスから必須の属性および許可された属性を自動的に継承することを示す

一般に、ユーザエントリに対して属性を追加する場合、親オブジェクトは inetOrgPerson オブジェクトクラスになる。企業エントリに対して属性を追加する場合、親オブジェクトは通常 organization または organizationalUnit になる。グループエントリに対して属性を追加する場合、親オブジェクトは通常 groupOfNames または groupOfUniqueNames になる  

OID  

オブジェクトクラスのオブジェクト識別子

OID は通常、ピリオドで区切られた 10 進数からなる文字列。オブジェクトクラスや属性などのオブジェクトを一意に識別する。OID を指定しないと、Directory Server は自動的に ObjectClass_name-oid を使用する。たとえば、OID を指定しないで division というオブジェクトクラスを作成した場合、Directory Server は自動的に division-oid という OID を使用する

OID に関する詳細情報や、企業の接頭辞の取得依頼については、IANA (Internet Assigned Number Authority) のアドレス iana@iana.org 宛てにメールを送るか、または IANA の Web サイト http://www.iana.org/iana/ にアクセスすること  

オブジェクトクラス  

このリストには、Directory Server スキーマ内にあるすべての (標準およびユーザ定義の) オブジェクトクラスが含まれている  

必須の属性  

このオブジェクトクラスを使用するエントリ内の必須属性のリスト。リストには継承された属性が含まれる  

許可された属性  

このオブジェクトクラスを使用するエントリ内の許可された属性のリスト。リストには継承された属性が含まれる  


オブジェクトクラスの作成

オブジェクトクラスを作成するには、まず一意となる名前を指定し、次にその新しいオブジェクトクラスの親オブジェクトを選択してから、必須の属性および省略可能な属性を追加します。

オブジェクトクラスを作成するには、次の手順を実行します。

  1. 「オブジェクトクラス」タブを表示します。

    ここまでの手順は、「オブジェクトクラスの表示」で説明されています。

  2. 「オブジェクトクラス」タブで「作成」をクリックします。

    「オブジェクトクラスの作成」ダイアログボックスが表示されます。

  3. 「名前」テキストボックスにオブジェクトクラスの一意となる名前を入力します。

  4. 「OID」テキストボックスに、新しいオブジェクトクラスのオブジェクト識別子を入力します (省略可能)。

    OID については、表 9-3を参照してください。

  5. 「親」ドロップダウンメニューから、オブジェクトクラスの親オブジェクトを選択します。

    既存のすべてのオブジェクトクラスから選択できます。親オブジェクトクラスについては、表 9-3 を参照してください。

  6. 新しいオブジェクトクラスを使用するエントリ内に必ず存在する必要がある属性を追加するには、「使用可能な属性」リストで属性を強調表示し、「必須の属性」ボックスの左にある「追加」ボタンをクリックします。

    標準の属性を使用することも、新しい属性を作成することもできます。詳細は、「属性の管理」を参照してください。

  7. 新しいオブジェクトクラスを使用するエントリ内に存在することができる属性を追加するには、「使用可能な属性」リストで属性を強調表示し、「許可された属性」ボックスの左にある「追加」ボタンをクリックします。

  8. 以前に追加した属性を削除するには、「必須の属性」リストまたは「許可された属性」リスト内の属性を強調表示し、「削除」ボタンをクリックします。

    親オブジェクトクラスから継承された許可された属性および必須の属性は、どちらも削除できません。

  9. 指定したオブジェクトクラス定義に問題がない場合は、「OK」をクリックしてダイアログボックスを閉じます。


オブジェクトクラスの編集

Directory Server Console を使用して、作成済みのオブジェクトクラスを編集できます。ただし、標準のオブジェクトクラスは編集できません。

オブジェクトクラスを編集するには、次の手順を実行します。

  1. 「オブジェクトクラス」タブを表示します。

    ここまでの手順は、「オブジェクトクラスの表示」で説明されています。

  2. 「オブジェクトクラス」リストから編集するオブジェクトクラスを選択し、「編集」をクリックします。

    「オブジェクトクラスの編集」ダイアログボックスが表示されます。

  3. オブジェクトクラスの名前を変更するには、「名前」テキストボックスに新しい名前を入力します。

  4. オブジェクトクラスに対するオブジェクト識別子を変更するには、「OID」テキストボックスに新しい OID を入力します (省略可能)。

    OID については、表 9-3 を参照してください。

  5. オブジェクトクラスの親オブジェクトを変更するには、「親」プルダウンメニューから新しい親オブジェクトを選択します。

  6. 新しいオブジェクトクラスを使用するエントリ内に存在する必要がある属性を追加するには、「使用可能な属性」リストで属性を強調表示し、「必須の属性」ボックスの左にある「追加」ボタンをクリックします。

    標準の属性を使用することも、新しい属性を作成することもできます。詳細は、「属性の管理」を参照してください。

  7. 新しいオブジェクトクラスを使用するエントリ内に存在することができる属性を追加するには、「使用可能な属性」リストで属性を強調表示し、「許可された属性」ボックスの左にある「追加」ボタンをクリックします。

  8. 以前に追加した属性を削除するには、「必須の属性」リストまたは「許可された属性」リスト内の属性を強調表示し、「削除」ボタンをクリックします。

    継承による許可された属性および必須の属性は、どちらも削除できません。

  9. 指定したオブジェクトクラス定義に問題がない場合は、「OK」をクリックしてダイアログボックスを閉じます。


オブジェクトクラスの削除

削除できるオブジェクトクラスはユーザが作成したオブジェクトクラスだけです。標準のオブジェクトクラスは削除できません。

オブジェクトクラスを削除するには、次の手順を実行します。

  1. 「オブジェクトクラス」タブを表示します。

    ここまでの手順は、「オブジェクトクラスの表示」で説明されています。

  2. 削除するオブジェクトクラスを選択し、「削除」をクリックします。

  3. 確認メッセージが表示されたら、削除のボタンをクリックします。

    この結果、ただちにオブジェクトクラスが削除されます。この処理を元に戻すことはできません。



スキーマ検査のオン/オフの切り替え

スキーマ検査をオンにすると、Directory Server によって次のことが検査されます。

  • 使用中のオブジェクトクラスおよび属性がディレクトリスキーマに定義されているか

  • オブジェクトクラスに必須の属性がエントリに含まれているか

  • オブジェクトクラスに許可された属性だけがエントリに含まれているか

Directory Server では、デフォルトでスキーマ検査がオンになっています。Directory Server の起動中は、常にスキーマの検査をオンにしておくべきです。LDAP のインポート処理を高速化するのが、スキーマ検査をオフにしてもよい唯一の場合です。しかし、その場合スキーマに適合しないエントリがインポートされるリスクがあります。したがってこのようなエントリは検索することができません。

スキーマ検査のオン/オフを切り替えるには、次の手順を実行します。

  1. 「Directory Server Console」で、「構成」タブを選択します。

  2. ナビゲーションツリーの一番上にあるサーバアイコンを強調表示し、右側の区画にある「設定」タブを選択します。

  3. スキーマ検査をオンにする場合は「スキーマチェックを有効にする」チェックボックスを選択し、オフにする場合は選択を解除します。

  4. 「保存」をクリックします。

nsslapd-schemacheck 属性を使用して、スキーマ検査のオン/オフを切り替えることもできます。詳細は、『iPlanet Directory Server 構成、コマンド、およびファイルのリファレンス』を参照してください。


前へ     目次     索引     DocHome     次へ     
Copyright © 2001 Sun Microsystems, Inc. Some preexisting portions Copyright © 2000 Netscape Communications Corp. All rights reserved.

Last Updated February 26, 2002