組織の規模が大きくなると、さまざまなベンダのLDAPサーバソフトウェアを使用したディレクトリツリーが必要になります。このようなツリーを、グローバル連結ツリーといいます。LDAP Services for eDirectory 8.7.3には、参照を連結ツリーの上方のDSAに返す機能があります。
Digital Airlines社には、あるネットワーク担当者がいます。Digital Airlines社のディレクトリツリーのルート(ツリーのルートからO=Digital Airlinesまで)のマスタは、OpenLDAPサーバ上にあります。組織(OU=Sales)のマスタはeDirectoryサーバにあり、その他の組織(OU=Dev)はiPlanetサーバ上にあります。
次の図は、このツリーを示します。
eDirectoryにマスタがあるのは、OU=Salesのパーティション内のデータだけです。他の領域のデータのマスタはeDirectory以外のDSA上にあります。ネットワーク担当者は、操作の対象がO=Digital Airlinesより上の領域、またはOU=Sales階層に属さないO=Digital Airlinesより下の領域である場合、上方参照を返すようにLDAPサービスを設定します。
ベースDNがOU=Dev,O=Digital Airlines,C=USのeDirecotry LDAPサーバに操作が送信されます。そのエントリを保持するサーバ、またはそのエントリを保持するサーバを認知しているサーバを指す参照が返されます。
同様に、O=Digital Airlines,C=USが対象のサブツリー検索でも、ルートDSAの参照が返されます。ルートDSAは、OU=SalesおよびOU=DevのマスタであるDSAの参照を返します。
LDAPサービスにより、eDirectoryサーバがこのツリーに参加するのにデータ階層データを「非委任」パーティションに持つことができます。非委任領域のオブジェクトに含まれるのは、正しいDN階層を構築するのに必要なエントリだけです。これらのエントリは、X.500の"Glue"エントリに類似しています。
このシナリオでは、ルート、C=US、O=Digital Airlinesオブジェクトは非委任領域のeDirectoryサーバにあります。
eDirectoryでは、知識情報(参照データ)を非委任領域に置くことができます。この情報は、LDAPクライアントに参照を戻すのに使用されます。
LDAP操作がeDirectoryツリーの非委任領域で実行されると、LDAPサーバは正しい参照データを検索し、クライアントに参照を戻します。
次の図は、シナリオ: 連結ツリーでの上方参照で示した、連結ツリーのeDirectoryサーバが保持する実際のデータを示しています。
エントリは、マスタが他のDSA上にあっても、OU=Sales上に配置されます。これは、eDirectoryサーバが持つエントリに適切なDNを提供できるようにするためです。
非委任領域を作成するには、次を実行します。
非委任データを委任データから切り離します。
委任領域の最上部に、パーティション境界を作成します。他に指定がない限り、eDirectoryサーバは自身が保持しているすべてのデータに対して委任されているとみなされます。
ルートパーティションを非委任としてマークします。
非委任領域の最下部に境界線をひきます。
このサーバが委任されるサブツリー領域にパーティションルートを作成します。たとえば上の図の場合は、パーティションルートはOU=Salesエントリにあります。新しいパーティションには、0に設定された委任属性はありません。そのため、サーバはパーティションに対する委任を受けることになります。
LDAPサーバをリフレッシュします。
LDAPサーバは、その設定がリフレッシュされるたび、委任および非委任領域の境界をキャッシュします。手動でサーバの設定をリフレッシュしない場合、サーバは30分毎のバックグラウンドタスクで自動的にリフレッシュされます。
複数のパーティションがある場合は、非委任領域のチェーンに重ねることができます。ただし、LDAP Services for eDirectory8.7.3では、すべての非委任パーティションは連続していなければならず、ローカルレプリカがそれを保持している必要があります
操作が非委任領域で実行されていることが検出されると、LDAPサーバは参照をクライアントに返すために使用できる情報を探します。この参照情報は、次のいずれかになります。
非委任領域のエントリが持つ参照情報は、即時上方参照です。このような参照情報は、複数の値をとるref属性から構成されています(この属性の詳細については、RFC 3296を参照してください)。デフォルト参照設定が持つ参照情報は上方参照で、値を1つとります。(X.501のimmSuprおよびsupr DSEタイプを参照してください)。
参照データはLDAP URLの形式で保持されますが、これにはホストと(オプションで)参照先のDSAのポートだけしか指定されていません。この参照データの例は次のようになります。
ldap://ldap.digital_airlines.com:389
LDAPサーバは操作のベースDN(見つからない場合は一致したDN)を参照します。ベースDNに参照情報が含まれる場合、LDAPサーバはその情報を参照として返します。
参照情報が見つからない場合、LDAPサーバはツリーの上方向に向かって参照情報を探します。すべてのエントリを検索しても参照情報が見つからない場合、LDAPサーバは上方参照を返します(この参照は、LDAPグループまたはLDAPサーバオブジェクト上のデフォルト参照設定で保持されます)。
immeditateSuperiorReferenceと呼ばれる補助オブジェクトクラスを非委任領域のエントリに追加することができます。この補助クラスは、1つ以上のLDAP URLとともに作成されるref属性を追加します。それぞれのURLはDSAのホスト名と(オプションで)ポートを指します。
これまで、LDAPグループオブジェクトはldapReferral属性を持っていました。この属性は、eDirectoryツリーの他のeDirectoryサーバに参照を返すときに発生する、さまざまなフェールオーバーの状況で使用されるデフォルトの参照を保持していました。LDAP Services for eDirectory 8.7.3では、この属性を使用して連結ツリーの上方DSAのデフォルト参照を1つ指定します。
また、ldapReferral属性がLDAPサーバオブジェクトに追加されました。ldapReferral属性にLDAPサーバオブジェクトの値が含まれる場合、この設定によりLDAPグループオブジェクトの同じ属性の値は上書きされます。この動作により、グループに属するすべてのLDAPサーバに特定のデフォルト参照を設定し、1つか2つのサーバのデフォルト参照を別のデフォルトで上書きすることができます。
ldapReferral属性の値は、LDAP URLです。URLには、ホストと参照先のDSAのポート(オプション)が含まれます。
上記のステップに従い、LDAPを使ってこのタスクを実行しても、即時上方参照を追加することはできないことが多くありました。これは、ルートパーティションが既に非委任とマークされており、LDAPはパーティション内のデータに対するどのような操作の参照も送信していたためです。
非委任領域の情報の更新または問い合わせを行うには、LDAP要求にManageDsaIT制御を設定する必要があります。この制御の詳細については、RFC 3296を参照してください。この制御により、LDAPサーバは非委任領域全体を委任領域であるかのように扱うことができます。
注: 上方参照機能は、LDAPでのみ利用できます。他のプロトコル(NDAPなど)には、委任属性が存在することによる影響はありません。そのため、ConsoleOneまたはNovell iManagerを使用した非委任領域のデータの参照や更新が妨害されることはありません。
非委任領域と上方参照は、次のLDAP操作に影響します。
DN構文属性値はチェックされません。そのため、グループメンバー属性は、非委任領域のエントリを指すDNを含むことができます。
ペアレントDNが非委任領域にある場合、affectsMultipleDSAsエラーが返されます。
上方参照は、Novell LDAP Services for eDirectory 8.7以降でのみサポートされています。ルートDSEのsupportedFeatures属性により、eDirectoryサーバがこの機能をサポートしているかどうかを確認できます。supportedFeatures属性の値がOID 2.16.840.1.113719.1.27.99.1である場合は、この機能はサポートされています。その他のルートDSEオブジェクトに対する確認方法では、次が変更されています。
この属性は、サーバが委任されているローカルDSAに保持されるパーティションルートだけを表示します。非委任パーティションルートは表示されません。
この属性は、ローカルサーバと非委任パーティションだけを共有する他のeDirectoryサーバを表示しません。
この属性は、DSAの上方参照を通知します。この値は、LDAPサーバまたはLDAPグループオブジェクト上のldapReferral属性を更新することにより管理されます。