![]() |
iPlanet Directory Server 5.1 スキーマリファレンス |
第 1 章 スキーマについて
この章では、ディレクトリスキーマの基本的な概念について説明し、スキーマの記述されたファイルを示します。オブジェクトクラス、属性、およびオブジェクト識別子 (OID) について説明し、サーバスキーマの拡張とスキーマ検査について簡単に説明します。
スキーマ定義
ディレクトリスキーマは、ディクトリ内にデータを格納する方法を定義したルールのセットです。データは、ディレクトリエントリの形式で格納されます。各エントリは、属性およびその値のセットです。各エントリは、オブジェクトクラスを保持する必要があります。オブジェクトクラスは、エントリに記述するオブジェクトの種類を指定し、内部に含まれる属性セットを定義します。スキーマは、許可するエントリのタイプ、属性構造、および属性の構文を定義します。スキーマが自分のニーズに合わない場合には、スキーマの変更および拡張が可能です。
オブジェクトクラス、属性、および Directory Server によるスキーマの使用方法に関する詳細は、『iPlanet Directory Server 導入ガイド』を参照してください。
オブジェクトクラス
LDAP では、オブジェクトクラスはエントリの定義に使用可能な属性セットを定義します。LDAP 標準は、次の基本的なオブジェクトクラスを提供します。
オブジェクトクラスは、次の 3 つの部分に細分化できます。
Structural: エントリが保持可能な属性で、各エントリが DIT 内で出現する場所を示します。このオブジェクトクラスは、実際に存在するオブジェクトを表します。エントリは structural オブジェクトクラスに所属する必要があります。このため、オブジェクトクラスのほとんどが structural オブジェクトクラスです。
Auxiliary: エントリが保持可能な属性を示します。これは、実際に存在するオブジェクトを表すのではなく、いくつかの structural オブジェクトクラスに関連付けることにより、仕様を補完する追加属性です。各エントリが所属する structural オブジェクトクラスは 1 つだけですが、ゼロ個または複数個の auxiliary オブジェクトクラスに所属することが可能です。
Abstract: 他の (structural) オブジェクトクラスのスーパークラスまたはテンプレートだけに使用する目的で定義します。これは、structural オブジェクトクラスセットに共通な既知の属性セットを収集する便利な方法です。これらのクラスを、ゼロから定義するのではなく、 abstract クラスのサブクラスから派生させることができるからです。エントリが abstract オブジェクトクラスに所属していない場合があることに留意してください。 現在のところ、Directory Server は structural オブジェクトクラスと auxiliary オブジェクトクラスを区別しません。
必須の属性および許可された属性
各オブジェクトクラスには、多数の必須の属性および許可された属性が含まれます。必須の属性とは、オブジェクトクラスを使用するエントリ内に存在する必要のある属性です。すべてのエントリには、objectClass 属性が必須です。この属性により、エントリに割り当てるオブジェクトクラスが定義されます。
許可される属性には、オブジェクトクラスを使用するエントリ内に存在可能な属性が含まれます。
objectClass
cn (common name)
sn (surname)
許可された属性
description
seeAlso
telephoneNumber
userPassword
オブジェクトクラスの継承
各エントリは、1 つの structural オブジェクトクラスに割り当てる必要があります。すべてのクラスは、top を継承します。他のオブジェクトクラスからも継承可能です。サーバのオブジェクトクラス構造により、特定のエントリの必須および許可された属性のリストが決定されます。たとえば、person エントリは、通常、次のオブジェクトクラス構造で定義されます。
objectClass: top
objectClass:person
objectClass: organizationalPerson
objectClass: inetOrgperson
この構造では、inetOrgperson は organizationalPerson および person オブジェクトクラスから継承します。このため、inetOrgperson オブジェクトクラスをエントリに割り当てる場合、このオブジェクトクラスは必須および許可された属性を自動的に上位オブジェクトクラスから継承します。
注
オブジェクトクラスの継承は、.ldif ファイル内に出現するオブジェクトクラスの順序に依存します。オブジェクトクラスが .ldif ファイルに出現する順序は、オブジェクトクラス階層と一致している必要があります。そうでなければ、サーバが起動しません。このため、別のオブジェクトクラスから継承したオブジェクトクラスは、.ldif ファイル内でこのオブジェクトクラスの後に配置してください。
属性
ディレクトリデータは、属性と値のペアで表現されます。ディレクトリ内の情報はすべて、記述属性と関連付けられます。
たとえば、ユーザの名前の格納には、commonName または cn 属性が使用されます。Barbara (Babs) Jensen という名前のユーザは、ディレクトリ内で次のように表現されます。
cn: Babs Jensen
ディレクトリ内に入力された各ユーザは、inetorgperson オブジェクトクラス内の属性集合により定義可能です。このエントリの定義には、次の属性も使用可能です。
givenname: Barbara
surname: Jensen
mail: bjensen@siroe.com
属性構文
各属性は、属性が提供する情報のタイプを示す構文定義を保持します。
Directory Server は、属性構文を使用して、ソートおよびパターンマッチングを実行します。
表 1-1 に、属性に適用可能なさまざまな構文メソッド、および各構文メソッドの OID と定義を示します。
単一値属性および複数値属性
デフォルトでは、属性のほとんどが複数値です。これは、エントリが複数の値を持つ属性を含めることができるということです。たとえば、cn、 tel、および objectClass はすべて、複数値の保持が可能な属性です。単一値属性では、指定可能な属性のインスタンスは 1 つだけです。たとえば、uidNumber が取ることのできる値は 1 つだけです。
Directory Server 5.1 がサポートするスキーマ
iPlanet Directory Server 5.1 に同梱されたスキーマは、次のディレクトリに格納されたファイルセットに記述されています。
/var/ds5/slapd-serverID/config/schema 新規オブジェクトクラスおよび属性を作成することにより、スキーマを変更できます。これらの変更は、99user.ldif という名前の別のファイルに保存されます。Directory Server に同梱の標準ファイルを変更しないでください。標準ファイルを変更すると、他の iPlanet 製品との互換性維持や、iPlanet 以外のベンダーのディレクトリサーバとの相互運用で問題が発生する可能性があります。
Directory Server による情報の格納方法、およびディレクトリスキーマの設計に関する情報については、『iPlanet Directory Server 導入ガイド』を参照してください。
次の表に、iPlanet Directory Server に同梱されたスキーマファイルを示します。表 1-2 には、Directory Server の使用するスキーマファイルを示します。表 1-3 には、他の iPlanet 製品が使用するスキーマファイルを示します。
表 1-3 他の iPlanet 製品が使用するスキーマファイル
Netscape Mission Control Desktop - Location Independence 用のスキーマ
オブジェクト識別子 (OID)
オブジェクト識別子 (OID) は、LDAP と X.500 標準に準拠するため、すべての属性とオブジェクトクラスに割り当てられます。OID は、一般に、ドットで区切られた文字列で表現される一連の整数です。OID が指定されていない場合、Directory Server は自動的に ObjectClass_name-oid と attribute_name-oid を使用します。
Netscape ベース OID は、2.16.840.1.113730 です。
iPlanet Directory Server のベース OID は、2.16.840.1.113730.3 です。
iPlanet で定義された属性はすべて、ベース OID 2.16.840.1.113370.3.1 を保持します。
iPlanet で定義されたオブジェクトクラスはすべて、ベース OID 2.16.840.1.113730.3.2 を保持します。
OID に関する詳細情報や、企業の接頭辞の取得依頼については、IANA (Internet Assigned Number Authority) の Web サイト http://www.iana.org/ にアクセスしてください。
サーバスキーマの拡張
Directory Server スキーマには、たいていのニーズを満たす何百ものオブジェクトクラスと属性が含まれます。このスキーマに新規オブジェクトクラスと属性を使用して拡張することで、増大する企業のディレクトリサービス要件を満たすことができます。
スキーマに新規属性を追加する場合は、新規オブジェクトクラスを作成して、新規属性を含める必要があります (既存のオブジェクトクラスに新規属性を追加することにより、標準 LDAP スキーマに依存する既存の LDAP クライアントと Directory Server との互換性が犠牲になる可能性があります。このため、サーバをアップグレードする時に問題が発生する場合があります)。
サーバスキーマの拡張については、『iPlanet Directory Server 導入ガイド』を参照してください。
スキーマ検査
スキーマ検査を有効にして、Directory Server を実行する必要があります。
iPlanet Directory Server のスキーマ検査機能は、ディレクトリにエントリを追加した場合またはエントリを変更した場合に、エントリを検査して、以下の点を検証します。
エントリ内のオブジェクトクラスと属性が、ディレクトリスキーマで定義されているか LDIF を使用してデータベースをインポートする場合にも、スキーマ検査が実行されます。詳細は、iPlanet Directory Server の『管理者ガイド』を参照してください。
前へ 目次 索引 DocHome 次へ
Copyright © 2001 Sun Microsystems, Inc. Some preexisting portions Copyright © 2001 Netscape Communications Corp. All rights reserved.
Last Updated March 02, 2002