5. DSA (サーバー) 情報モデル
LDAP プロトコルは、1 台以上のサーバーが共同で DIT へのアクセスを提供すると仮定する。元の情報を保持するサーバーを、その情報の「マスター (master)」と呼ぶ。コピーを保持するサーバーを「シャドウイング (shadowing)」または「キャッシュ (caching)」サーバーと呼ぶ。
[X.501] の定義は次のとおりである。
コンテキスト接頭辞 (context prefix): DIT の根から命名コンテキストの初期頂点までの RDN 列。その頂点の識別名に対応する。
命名コンテキスト (naming context): 単一のマスター DSA に保持されるエントリのサブツリー。
つまり命名コンテキストは、特定サーバーがマスターであるエントリから始まり、別サーバーがマスターであるエントリに至るまで、その全下位とさらにその下位を含む最大のエントリ集合である。コンテキスト接頭辞は初期エントリの名前である。
DIT の根は DSA 固有エントリ (DSA-specific Entry、DSE) であり、どの命名コンテキスト (またはサブツリー) にも属さない。各サーバーのルート DSE は異なる属性値を持つ。
5.1. サーバー固有データの要件
LDAP サーバーは、自身に関する情報と各サーバー固有のその他の情報を提供しなければならない (SHALL)。これは、0 個の RDN を持つ DN ([RFC4514] での表現は長さ 0 の文字列) で命名されたルート DSE 内の属性群として表される。
クライアントが、空の baseObject、baseObject の scope、filter "(objectClass=*)" [RFC4515]、必要な属性名を列挙した attributes フィールドで Search 操作 [RFC4511] を実行すれば、アクセス制御などの制限下で取得できる。ルート DSE 属性は運用属性であり、名前で要求しない限り検索要求で返されない。
クライアントがルートからサブツリー検索を行う場合、ルート DSE を含めてはならない (SHALL NOT)。
サーバーは、適切な場合にクライアントによるルート DSE 属性の変更を許可できる。
ルート DSE の次の属性を以下で定義する。他の文書で追加属性を定義できる。
- altServer: 代替サーバー。
- namingContexts: 命名コンテキスト。
- supportedControl: 認識される LDAP コントロール。
- supportedExtension: 認識される LDAP 拡張操作。
- supportedFeatures: 認識される LDAP 機能。
- supportedLDAPVersion: サポートされる LDAP バージョン。
- supportedSASLMechanisms: 認識される Simple Authentication and Security Layers (SASL) [RFC4422] メカニズム。
これらの値は、セッション固有要因などに依存し得る。たとえば SASL EXTERNAL をサポートするサーバーは、下位層でクライアントの身元が確立された場合にのみ "EXTERNAL" を列挙することがある。[RFC4513] を参照。
ルート DSE は 'subschemaSubentry' 属性を含むこともできる。その場合、ルート DSE を制御するスキーマを保持するサブスキーマサブエントリ を参照する。クライアントは、このサブスキーマサブエントリ がサーバー上の他のエントリも制御すると仮定すべきではない (SHOULD NOT)。一般的な検出手順は 4.4 節に示す。
5.1.1. 'altServer'
'altServer' 属性は、このサーバーが利用不能になったときに接続できる代替 サーバーを参照する URI を列挙する。LDAP を実装するサーバーの URI は [RFC4516] に従って記述される。他の種類の URI を指定してもよい。 使用できる他のサーバーを当該サーバーが認識していない場合、この属性は 存在しない。優先サーバーが後で利用不能になった場合に備えて、クライアント はこの情報をキャッシュできる。
( 1.3.6.1.4.1.1466.101.120.6 NAME 'altServer'
SYNTAX 1.3.6.1.4.1.1466.115.121.1.26
USAGE dSAOperation )
IA5String (1.3.6.1.4.1.1466.115.121.1.26) 構文は [RFC4517] で定義 されている。
5.1.2. 'namingContexts'
'namingContexts' 属性は、サーバーがマスターまたはシャドウとして保持する (一部または全部の)名前付けコンテキストのコンテキスト接頭辞を列挙する。 サーバーが第 1 レベルの DSA [X.501] である場合は、さらに空文字列(DIT のルートを示す)も列挙するべきである。サーバーが情報をマスターとしても シャドウとしても保持しない場合(たとえば、公開 X.500 ディレクトリへの LDAP ゲートウェイである場合)、この属性は存在しない。サーバーが ディレクトリ全体をマスターまたはシャドウとして保持していると判断して いる場合、この属性は 1 つの値だけを持ち、その値は空文字列(DIT のルート を示す)となる。
この属性は、たとえば、このサーバーを使用する後続操作に適したエントリ名を 選択するために使用できる。
( 1.3.6.1.4.1.1466.101.120.5 NAME 'namingContexts'
SYNTAX 1.3.6.1.4.1.1466.115.121.1.12
USAGE dSAOperation )
DistinguishedName (1.3.6.1.4.1.1466.115.121.1.12) 構文は [RFC4517] で定義されている。
5.1.3. 'supportedControl'
'supportedControl' 属性は、サーバーがサポートする要求制御 [RFC4511] を 識別するオブジェクト識別子を列挙する。サーバーが要求制御をサポートして いない場合、この属性は存在しない。応答制御を識別するオブジェクト識別子 は列挙する必要がない。
プロトコル機構の検出に使用されるオブジェクト識別子の登録手順については、 BCP 64、RFC 4520 [RFC4520] に詳述されている。
( 1.3.6.1.4.1.1466.101.120.13 NAME 'supportedControl'
SYNTAX 1.3.6.1.4.1.1466.115.121.1.38
USAGE dSAOperation )
OBJECT IDENTIFIER (1.3.6.1.4.1.1466.115.121.1.38) 構文は [RFC4517] で定義されている。
5.1.4. 'supportedExtension'
'supportedExtension' 属性は、サーバーがサポートする拡張操作 [RFC4511] を識別するオブジェクト識別子を列挙する。サーバーが拡張操作をサポートして いない場合、この属性は存在しない。
拡張操作は通常、拡張要求と拡張応答から構成されるが、他のプロトコルデータ 単位(中間応答など)が含まれる場合もある。拡張要求に割り当てられた オブジェクト識別子が、拡張操作の識別に使用される。拡張操作で使用される その他のオブジェクト識別子を、この属性の値として列挙する必要はない。
プロトコル機構の検出に使用されるオブジェクト識別子の登録手順については、 BCP 64、RFC 4520 [RFC4520] に詳述されている。
( 1.3.6.1.4.1.1466.101.120.7 NAME 'supportedExtension'
SYNTAX 1.3.6.1.4.1.1466.115.121.1.38
USAGE dSAOperation )
OBJECT IDENTIFIER (1.3.6.1.4.1.1466.115.121.1.38) 構文は [RFC4517] で定義されている。
5.1.5. 'supportedFeatures'
'supportedFeatures' 属性は、サーバーがサポートする選択可能な機能を識別 するオブジェクト識別子を列挙する。サーバーが検出可能な選択機能を何も サポートしていない場合、この属性は存在しない。
( 1.3.6.1.4.1.4203.1.3.5 NAME 'supportedFeatures'
EQUALITY objectIdentifierMatch
SYNTAX 1.3.6.1.4.1.1466.115.121.1.38
USAGE dSAOperation )
プロトコル機構の検出に使用されるオブジェクト識別子の登録手順については、 BCP 64、RFC 4520 [RFC4520] に詳述されている。
OBJECT IDENTIFIER (1.3.6.1.4.1.1466.115.121.1.38) 構文および objectIdentifierMatch マッチング規則は [RFC4517] で定義されている。
5.1.6. 'supportedLDAPVersion'
'supportedLDAPVersion' 属性は、サーバーがサポートする LDAP のバージョン を列挙する。
( 1.3.6.1.4.1.1466.101.120.15 NAME 'supportedLDAPVersion'
SYNTAX 1.3.6.1.4.1.1466.115.121.1.27
USAGE dSAOperation )
INTEGER (1.3.6.1.4.1.1466.115.121.1.27) 構文は [RFC4517] で定義 されている。
5.1.7. 'supportedSASLMechanisms'
'supportedSASLMechanisms' 属性は、サーバーが認識し、かつ/またはサポート する [RFC4513] SASL 機構 [RFC4422] を列挙する。この属性の内容は、現在 のセッション状態によって異なる場合がある。サーバーが SASL 機構を何も サポートしていない場合、この属性は存在しない。
( 1.3.6.1.4.1.1466.101.120.14 NAME 'supportedSASLMechanisms'
SYNTAX 1.3.6.1.4.1.1466.115.121.1.15
USAGE dSAOperation )
Directory String (1.3.6.1.4.1.1466.115.121.1.15) 構文は [RFC4517] で定義されている。