3. ディレクトリの管理情報および運用情報
本節では、X.500 ディレクトリの管理情報および運用情報モデル [X.501] から、いくつかの側面を取り上げる。LDAP 実装は、このモデルのその他の 側面をサポートしてもよい (MAY)。
3.1. サブツリー
[X.501] では次のように定義されている。
サブツリー (subtree) は、木の頂点に位置するオブジェクトエントリと
エイリアスエントリの集合である。サブツリーはサブエントリを含まない。
subtree の接頭辞 sub は、この木の基底 (または根) 頂点が通常 DIT の
根より下位にあることを強調している。
サブツリーは、ある頂点から始まり、識別可能な下側境界まで、場合に
よっては葉まで延びる。サブツリーは常に、その境界を暗黙に定める
コンテキスト内で定義される。たとえば、複製領域を定義するサブツリー
の頂点と下側境界は、命名コンテキストによって限定される。
3.2. サブエントリ
サブエントリは、「ディレクトリが認識する特殊な種類のエントリであり、 サブツリーまたはサブツリーの詳細化に関連付けられた情報を保持するため に使用される」[X.501]。サブエントリは、[X.501] で定義された管理上および 運用上の目的で情報を保持するためにディレクトリで使用される。LDAP での 使用法は [RFC3672] に詳述されている。
本仕様の用語「(sub)entry」は、X.500(93) モデルを実装するサーバーは、 [RFC3672] に記載された X.500(93) に従ってサブエントリを使用し、その他 のサーバーは、通常そのサブエントリとともに使用される適切な補助クラス に属するオブジェクトエントリ (たとえば、サブスキーマサブエントリには 'subschema') を使用してサブエントリを模倣することを示す。この オブジェクトエントリの RDN は、'cn' (commonName) 属性 [RFC4519] の値 から構成しなければならない (SHALL)。すべてのサブエントリが 'cn' で 命名されるためである。
3.3. 'objectClass' 属性
DIT 内の各エントリは 'objectClass' 属性を持つ。
( 2.5.4.0 NAME 'objectClass'
EQUALITY objectIdentifierMatch
SYNTAX 1.3.6.1.4.1.1466.115.121.1.38 )
'objectIdentifierMatch' マッチング規則および OBJECT IDENTIFIER (1.3.6.1.4.1.1466.115.121.1.38) 構文は [RFC4517] で定義されている。
'objectClass' 属性はエントリのオブジェクトクラスを指定する。これらは、 特に制御スキーマと組み合わせて、エントリで許可される属性を決定する ために使用される。この属性の値はクライアントが変更できるが、 'objectClass' 属性そのものは削除できない。
X.500(93) モデルに従うサーバーは、エントリの基本構造クラスが変更され ないよう、この属性の変更を制限しなければならない (SHALL)。すなわち、 'person' を 'country' に変更することはできない。
エントリを作成するとき、または 'objectClass' 値を追加するとき、指定 されたクラスの全スーパークラスがまだ存在しなければ、それらも暗黙に 追加しなければならない (SHALL)。つまり、補助クラス 'x-a' がクラス 'x-b' のサブクラスなら、'objectClass' に 'x-a' を追加すると、まだ存在 しない場合は 'x-b' も暗黙に追加される。
サーバーは、残る 'objectClass' 値のスーパークラスが削除されないよう、 この属性の変更を制限しなければならない (SHALL)。補助クラス 'x-a' が 補助クラス 'x-b' のサブクラスで、'objectClass' に 'x-a' と 'x-b' が 含まれる場合、'x-b' だけを削除しようとするとエラーになる。
3.4. 運用属性
運用属性と呼ばれる一部の属性は、管理上および運用上の目的でサーバーが 使用または維持する。[X.501] の記述によれば、「運用属性には、ディレクトリ 運用属性、DSA 共有運用属性、DSA 固有運用属性の 3 種類がある」。
ディレクトリ運用属性は、ディレクトリ情報モデルの運用情報および/または 管理情報を表す。サーバーが維持する運用属性 (例: 'createTimestamp') と、 利用者が管理する値を保持する運用属性 (例: 'ditContentRules') が含まれる。
DSA 共有運用属性は、DSA 間で共有される DSA 情報モデルの情報を表す。
DSA 固有運用属性は、その DSA に固有の DSA 情報モデル情報を表す (ただし、DSA 間で共有される情報から導出される場合もある。例: 'namingContexts')。
DSA 情報モデルの運用属性は [X.501] に詳述されている。
運用属性は通常は表示されず、名前で明示的に要求しない限り検索結果に 返されない。
すべての運用属性を利用者が変更できるわけではない。
エントリには、特に次の運用属性を含めることができる。
- creatorsName: このエントリをディレクトリに追加した利用者の識別名。
- createTimestamp: このエントリがディレクトリに追加された時刻。
- modifiersName: このエントリを最後に変更した利用者の識別名。
- modifyTimestamp: このエントリが最後に変更された時刻。
サーバーは、DIT の全エントリについて 'creatorsName'、'createTimestamp'、 'modifiersName'、'modifyTimestamp' 属性を維持することが望ましい (SHOULD)。
3.4.1. 'creatorsName'
この属性は、プロトコルを使用して追加されたエントリ (例: Add 操作を 使用) に現れる。値は作成者の識別名である。
( 2.5.18.3 NAME 'creatorsName'
EQUALITY distinguishedNameMatch
SYNTAX 1.3.6.1.4.1.1466.115.121.1.12
SINGLE-VALUE NO-USER-MODIFICATION
USAGE directoryOperation )
'distinguishedNameMatch' マッチング規則および DistinguishedName (1.3.6.1.4.1.1466.115.121.1.12) 構文は [RFC4517] で定義されている。
3.4.2. 'createTimestamp'
この属性は、プロトコルを使用して追加されたエントリ (例: Add 操作を 使用) に現れる。値はエントリが追加された時刻である。
( 2.5.18.1 NAME 'createTimestamp'
EQUALITY generalizedTimeMatch
ORDERING generalizedTimeOrderingMatch
SYNTAX 1.3.6.1.4.1.1466.115.121.1.24
SINGLE-VALUE NO-USER-MODIFICATION
USAGE directoryOperation )
'generalizedTimeMatch'、'generalizedTimeOrderingMatch' マッチング規則と GeneralizedTime (1.3.6.1.4.1.1466.115.121.1.24) 構文は [RFC4517] で 定義されている。
3.4.3. 'modifiersName'
この属性は、プロトコルを使用して変更されたエントリ (例: Modify 操作を 使用) に現れる。値は最後の変更者の識別名である。
( 2.5.18.4 NAME 'modifiersName'
EQUALITY distinguishedNameMatch
SYNTAX 1.3.6.1.4.1.1466.115.121.1.12
SINGLE-VALUE NO-USER-MODIFICATION
USAGE directoryOperation )
'distinguishedNameMatch' マッチング規則および DistinguishedName (1.3.6.1.4.1.1466.115.121.1.12) 構文は [RFC4517] で定義されている。
3.4.4. 'modifyTimestamp'
この属性は、プロトコルを使用して変更されたエントリ (例: Modify 操作を 使用) に現れる。値はエントリが最後に変更された時刻である。
( 2.5.18.2 NAME 'modifyTimestamp'
EQUALITY generalizedTimeMatch
ORDERING generalizedTimeOrderingMatch
SYNTAX 1.3.6.1.4.1.1466.115.121.1.24
SINGLE-VALUE NO-USER-MODIFICATION
USAGE directoryOperation )
'generalizedTimeMatch'、'generalizedTimeOrderingMatch' マッチング規則と GeneralizedTime (1.3.6.1.4.1.1466.115.121.1.24) 構文は [RFC4517] で 定義されている。
3.4.5. 'structuralObjectClass'
この属性は、エントリの構造型オブジェクトクラスを示す。
( 2.5.21.9 NAME 'structuralObjectClass'
EQUALITY objectIdentifierMatch
SYNTAX 1.3.6.1.4.1.1466.115.121.1.38
SINGLE-VALUE NO-USER-MODIFICATION
USAGE directoryOperation )
'objectIdentifierMatch' マッチング規則および OBJECT IDENTIFIER (1.3.6.1.4.1.1466.115.121.1.38) 構文は [RFC4517] で定義されている。
3.4.6. 'governingStructureRule'
この属性は、エントリを規定する構造規則を示す。
( 2.5.21.10 NAME 'governingStructureRule'
EQUALITY integerMatch
SYNTAX 1.3.6.1.4.1.1466.115.121.1.27
SINGLE-VALUE NO-USER-MODIFICATION
USAGE directoryOperation )
'integerMatch' マッチング規則および INTEGER (1.3.6.1.4.1.1466.115.121.1.27) 構文は [RFC4517] で定義されている。