Red Hat Training

A Red Hat training course is available for Red Hat Directory Server

3.2. 標準スキーマ

ディレクトリースキーマは、データ値のサイズ、範囲、およびフォーマットに制約を課すことにより、ディレクトリーに保存されているデータの整合性を維持します。スキーマは、ディレクトリーに含まれるエントリーの種類 (ユーザー、デバイス、組織など) に関する決定を反映しています。
Directory Server に含まれる事前定義スキーマには、標準の LDAP スキーマと、サーバーの機能をサポートする追加のアプリケーション固有のスキーマの両方が含まれています。このスキーマはほとんどのディレクトリーのニーズに対応しますが、ディレクトリーの固有のニーズに対応するために、新しいオブジェクトクラスおよび属性をスキーマに追加できます (スキーマの拡張)。スキーマの拡張に関する詳細は、「スキーマのカスタマイズ」を参照してください。

3.2.1. スキーマの形式

Directory Server のスキーマ形式は、LDAP プロトコルのバージョン 3 をベースとしています。このプロトコルでは、ディレクトリーサーバーは LDAP 自体によりそのスキーマを公開する必要があります。これにより、ディレクトリークライアントアプリケーションがプログラム的にスキーマを取得し、その動作を調整することができます。Directory Server のスキーマのグローバルセットは cn=schema エントリーにあります。
Directory Server スキーマは、独自のプロプライエタリーオブジェクトクラスおよび属性を使用するため、LDAPv3 スキーマとは若干異なります。さらに、スキーマエントリーがそもそもどこで定義されたかを記述する X-ORIGIN というスキーマエントリーのプライベートフィールドを使用します。
たとえば、スキーマエントリーが標準の LDAPv3 スキーマに定義されている場合、X-ORIGIN フィールドは RFC 2252 を参照します。Directory Server の使用のために Red Hat によりエントリーが定義されている場合には、X-ORIGIN フィールドには Netscape Directory Server の値が含まれます。
たとえば、標準の person オブジェクトクラスは以下のようにスキーマに表示されます。
objectclasses: ( 2.5.6.6 NAME 'person' DESC 'Standard Person Object Class' SUP top
     MUST (objectclass $ sn $ cn) MAY (description $ seeAlso $ telephoneNumber $ userPassword)
     X-ORIGIN 'RFC 2252' )
このスキーマエントリーは、クラス (2.5.6.6)、オブジェクトクラス名 (person)、クラスの説明 (Standard Person) のオブジェクト識別子 (OID) を記述し、続いて必要な属性 (objectclasssn、および cn)、ならびに許可される属性 (descriptionseeAlsotelephoneNumber、および userPassword) のリストを示します。
LDAPv3 スキーマ形式の詳細は、LDAPv3 属性構文の定義ドキュメント RFC 2252 ならびにその他の標準スキーマ定義 RFC 247、RFC 2927、および RFC 2307 参照してください。これらのスキーマ要素はすべて Red Hat Directory Server でサポートされています。