スキーマでは、ツリー内に作成できるオブジェクトのタイプ(ユーザ、プリンタ、グループなど)、およびオブジェクトの作成時に指定する必須情報とオプション情報が定義されます。各オブジェクトには、そのオブジェクトタイプのスキーマクラスが定義されています。
製品に元から付属しているスキーマは、ベーススキーマといいます。新しいクラスや属性の追加など、なんらかの形でベーススキーマが変更されると、そのスキーマは拡張スキーマとみなされます。
スキーマは必ずしも拡張する必要はありませんが、拡張も可能です。iManagerのスキーマ役割を使用すれば、運用条件に合わせてスキーマを拡張できます。たとえば、従業員に特殊な履き物が必要で、従業員の靴のサイズを記録しなければならない場合などに、スキーマを拡張します。この場合は、「靴のサイズ」という属性を新たに作成し、ユーザクラスに追加します。
詳細については、「スキーマの管理」を参照してください。
Novell iManagerのスキーマ役割によって、ツリーへのスーパバイザ権を持っているユーザは、そのツリーのスキーマをカスタマイズできます。スキーマ役割、およびその関連タスクは、iManagerの役割およびタスクページに表示されています。
スキーマ役割の使用目的
クラスとは、ディレクトリオブジェクトのテンプレートのようなものです。ディレクトリオブジェクトとは、データを挿入されたクラスです。つまり、次のように表すことができます。
CLASS + DATA = DIRECTORY OBJECT
各クラスは、クラス名、継承クラス(そのクラスがクラス階層の最上位である場合を除く)、クラスフラグ、および属性のグループを持っています。クラスは、ディレクトリオブジェクト(ユーザ、プリンタ、キュー、サーバなど)と同じように命名されますが、単なる構造であり内容はありません。
継承クラスとは、他のオブジェクトクラスを定義するときの開始点となるクラスです。継承クラスの属性はすべて、クラス階層でそのクラスの下位に位置するクラスへ継承されます。
クラス階層は、あるクラスがどのようにペアレントクラスと関連付けられているかを示します。クラス階層により、類似したクラスが関連付けられ、属性の継承が可能になります。また、クラスを格納できる有効なコンテナのタイプも定義されます。
クラスの作成時には、クラス階層と追加属性を使用して各クラスをカスタマイズできます。継承クラスを指定することによって、階層内の上位のクラスからその属性とフラグのすべてを新しいクラスに継承できます。さらに、継承された属性クラスに追加する属性を1つまたは複数選択することによって、新しいクラスをカスタマイズできます。追加の属性は、必須属性、ネーミング属性、またはオプション属性として選択できます。
オプションの属性を追加して、既存のクラスを変更することもできます。
属性とは、eDirectoryデータベース内のデータフィールドのことです。たとえば、クラスが記入用紙のようなものだとすれば、属性は記入用紙における1つの記入欄です。属性は、作成時に、名前(姓や社員番号など)を付けられ、構文のタイプ(文字列や数字など)が指定されます。その後、その属性はスキーママネージャの属性リストで使用できるようになります。
構文にはいくつかの選択可能なオプションがあります。これらの構文オプションは、各属性で入力するデータのタイプを指定するために使用されます。構文は属性の作成時にのみ指定できます。後から構文を変更することはできません。利用可能な構文は次のようなものです。
オブジェクトを参照する他のサーバの追跡に使用されます。また、eDirectoryの内部管理目的で使用されます。
TRUE(1)またはFALSE(0)の値をとる属性に使用されます。この構文タイプには、単一の値のフラグが設定されます。
比較演算で大文字/小文字が区別されるUnicode文字列を値としてとる属性に使用されます。2つの「大文字小文字を区別する文字列」は、長さが等しく、対応する文字(大文字/小文字の区別を含む)が同一の場合に一致とみなされます。
比較演算で大文字/小文字が区別されないUnicode文字列の順序列を値としてとる属性に使用されます。2つの「大文字小文字を無視するリスト」は、文字列の数が等しく、対応するすべての文字列が同じ場合(つまり、長さと対応する文字が同一の場合)に一致とみなされます。
比較演算で大文字/小文字が区別されないUnicode文字列を値としてとる属性に使用されます。2つの「大文字小文字を無視する文字列」は、長さが等しく、対応する文字があらゆる面で(ただし、大文字/小文字の区別を除く)同一の場合に一致とみなされます。
オブジェクトクラスの名前を値としてとる属性に使用されます。2つのクラス名は、長さが等しく、対応する文字があらゆる面で(ただし、大文字/小文字の区別を除く)同一の場合に一致とみなされます。
増分変更された符号付き整数を値としてとる属性に使用されます。カウンタによって定義された属性は、単一の値の属性です。カウンタは、この構文の属性に値が追加されると足し算で合計に追加され、この構文の属性から値が削除されると引き算で合計から差し引かれるという点で、整数とは異なります。
eDirectoryツリー内のオブジェクト名を値としてとる属性に使用されます。DN(識別名)では大文字/小文字が区別されませんが、ネーミング属性の1つでは大文字/小文字が区別されます。
バイナリ情報の文字列を値としてとる属性によって使用されます。eDirectoryは、この構文の内容の内部構造については想定しません。
国際電話番号と、推奨T.20に従って形式設定されたオプションのビット文字列の格納を規定するE.123標準に準拠した文字列を指定します。2つのFax番号値は、長さが等しく、対応する文字列が同一(ただし、比較処理で無視されるスペースとハイフンを除く)の場合に、一致とみなされます。
符号付き整数の値を持つアカウント数量の属性に使用されます。この構文は、アカウント数量(トランザクションが完了するまでの間、サブジェクトのクレジット限度に対して暫定的に保持される金額)を表します。保持量は、カウンタ構文と同じように扱われ、新しい値がベース合計に加算されるか、ベース合計から減算されます。計算された保持量が0になると、保持レコードは削除されます。
符号付き数値として表される属性に使用されます。2つの整数値は、値が同一である場合に一致とみなされます。順序付けの比較では、符号付き整数ルールが使用されます。
符号付き整数を値としてとり、時間の間隔を表す属性に使用されます。間隔構文では、整数構文と同じ表現が使用されます。間隔値は、時間間隔での秒数を表します。
サーバ環境でのネットワークレイヤアドレスを表します。このアドレスは、バイナリ形式です。2つのネットアドレスは、各アドレスのタイプ、長さ、および値が一致する場合に、一致とみなされます。
CCITT X.208定義で数値文字列として定義されている数値整数を値としてとる属性に使用されます。2つの数値文字列は、長さが等しく、対応する文字が同一の場合に一致とみなされます。数値文字列文字セットにおいて有効な文字は、数字(0〜9)およびスペースのみです。
アクセス制御リスト(ACL)エントリを表す値をとる属性に使用されます。オブジェクトACL値は、オブジェクトを保護する場合と、属性を保護する場合があります。
バイナリ情報またはオクテット文字列の順序付き文字列シーケンスを表します。オクテットリストは、保存済みリストのサブセットである場合に、保存済みリストと一致するとみなされます。2つのオクテットリストは、長さが等しく、対応するビット列(オクテット)が同一の場合に一致とみなされます。
eDirectoryによって解釈されないバイナリ情報の文字列を値としてとる属性に使用されます。これらのオクテット文字列は、非Unicode文字列です。2つのオクテット文字列は、長さが等しく、対応するビット列(オクテット)が同一の場合に一致とみなされます。
ファイルシステムパスを表す属性であり、サーバ上でファイルを見つけるために必要なすべての情報が格納されます。2つのパスは、長さが等しく、対応する文字(大文字/小文字の区別を含む)が同一の場合に、一致とみなされます。
住所を表すUnicode文字列を値としてとる属性に使用されます。通常、住所の属性値は、推奨F.401に従ってMHS Unformatted Postal O/R Address Specificationバージョン1から選択された属性で構成されます。この値は、30文字6行(国名を含む)に制限されます。2つの住所は、文字列の数が等しく、対応するすべての文字列が同じ場合(つまり、長さと対応する文字が同一の場合)に一致とみなされます。
CCITT X.208に定義されている印刷可能文字列を値としてとる属性に使用されます。印刷可能文字セットは、次のものから構成されます。
2つの印刷可能文字列は長さが等しく、対応する文字が同一の場合に一致とみなされます。大文字/小文字は区別されます。
パーティションレプリカを表す値をとる属性に使用されます。eDirectoryツリーのパーティションでは、複数のサーバにレプリカを置くことができます。この構文は、次の6つのコンポーネントで構成されます。
任意のバイナリ情報を表します。ストリーム構文を使用すると、ファイルサーバ上のファイルからeDirectory属性を作成できます。この構文は、ログインスクリプトやその他のストリーム属性で使用されます。ストリームファイルに格納されているデータには、構文は一切適用されません。この構文は単に任意のデータであり、個別のアプリケーションで作成、定義および使用されます。
電話番号を値としてとる属性に使用されます。電話番号は、1〜32文字の長さの文字列です。2つの電話番号は、長さが等しく、対応する文字列が同一(ただし、比較処理で無視されるスペースとハイフンを除く)の場合に、一致とみなされます。
符号なし整数を値としてとり、秒単位の時間を表す属性に使用されます。
特定のイベントが発生した時刻を示す値をとる属性に使用されます。特定のイベントが発生すると、eDirectoryサーバによってタイムスタンプ値が生成され、そのイベントに関連付けられます。各タイムスタンプ値は、eDirectoryパーティション内で固有です。これにより、同一パーティションのレプリカを保持しているすべてのサーバで発生したイベントを1つにまとめて順序付けできます。
オブジェクトに関連付けられたレベルおよび間隔を表す値をとる属性に使用されます。この構文は、eDirectoryオブジェクトを指定し、次の2つの数値を当該オブジェクトにアタッチします。
スキーマから削除されている属性定義をもつ属性に使用されます。この構文は、バイナリ情報の文字列を表します。
オブジェクトにはどれも、オブジェクトのタイプに合わせて定義されたスキーマクラスがあります。クラスとは、意味のある方法で組織された属性のグループを指します。これらの属性の一部は必須で、一部はオプションです。
図 12は、スキーマの一部の例で、基本のスキーマに類似しているかもしれません。この図は、組織クラスについての情報を表しています。この画面に表示されているほとんどの情報は、クラスが作成されたときに指定されたものです。オプションの属性のいくつかは後に追加されました。
このアイコンは、ベーススキーマの拡張部分であるすべてのクラスおよび属性に割り当てられます。
図 12