2. Directory Serverのインスタンスと接尾辞
ldapmodifyおよびldapdeleteを使用したエントリの管理
ldapmodifyを使用してエントリを移動または名前変更するには:
7. Directory Serverのパスワード・ポリシー
8. Directory Serverのバックアップとリストア
9. Directory Serverのグループ、ロールおよびCoS
16. Directory Proxy Serverのツール
17. Directory Proxy Serverのインスタンス
19. Directory Proxy Serverの証明書
20. Directory Proxy Serverのロード・バランシングとクライアント・アフィニティ
22. Directory Proxy Serverによる仮想化
24. Directory Proxy ServerとバックエンドLDAPサーバーの接続
25. クライアントとDirectory Proxy Serverの接続
26. Directory Proxy Serverのクライアント認証
27. Directory Proxy Serverのロギング
28. Directory Proxy Serverの監視とアラート
第3部 Directory Service Control Centerの管理
情報をローカルに取得できない場合に、問い合せるサーバーをクライアント・アプリケーションに通知するには、リフェラルを使用します。リフェラルとは、リモート接尾辞へのポインタ、つまりDirectory Serverが結果のかわりにクライアントへ返すエントリへのポインタです。その後、クライアントは、リフェラルで指定されたリモート・サーバー上で再度操作を実行する必要があります。
リダイレクションは、次の3つの場合に行われます。
クライアント・アプリケーションでローカル・サーバー上に存在しないエントリをリクエストした場合、およびサーバーがデフォルトのリフェラルを返すように構成されている場合。
メンテナンス時またはセキュリティ上の理由でにエントリの接尾辞が無効な場合。
サーバーは、その接尾辞で定義されたリフェラルを返します。接尾辞レベルのリフェラルについては、「リフェラルの設定および接尾辞の読取り専用化」に説明があります。クライアントが書込み操作をリクエストした場合、接尾辞の読取り専用レプリカもマスター・サーバーへのリフェラルを返します。
クライアントが、とりわけスマート・リフェラルにアクセスしている場合。
スマート・リフェラルとは、ユーザーが作成するエントリです。サーバーは、スマート・リフェラルで定義するリフェラルを返します。
すべての場合において、リフェラルは、ホスト名、ポート番号、および必要に応じて別のサーバーのDNを含むLDAP URLになります。たとえば、ldap://east.example.com:389です。
ディレクトリ・デプロイメントでリフェラルを使用する方法の概念については、Oracle Directory Server Enterprise Editionデプロイメント・プランニング・ガイドを参照してください。
次の各項では、ディレクトリのデフォルト・リフェラルを設定する手順およびスマート・リフェラルを作成および定義する手順について説明します。
デフォルト・リフェラルは、Directory Serverで保守される接尾辞に含まれないDNで操作を送信したクライアント・アプリケーションに返されます。サーバーは定義されているすべてのリフェラルを返しますが、返される順序は不定です。
このタスクの実行には、DSCCが使用できます。詳細は、「Directory Service Control Centerのインタフェース」およびDSCCのオンライン・ヘルプを参照してください。
$ dsconf set-server-prop -h host -p port suffix-DN referral-url:referral-URL
たとえば、次のようになります。
$ dsconf set-server-prop -h host1 -p 1389 dc=example,dc=com \ referral-url:ldap://east.example.com:1389
スマート・リフェラルにより、ディレクトリ・エントリまたはディレクトリ・ツリーを特定のLDAP URLにマップできます。スマート・リフェラルを使用して、クライアント・アプリケーションで特定のサーバーまたは特定のサーバー上の特定のエントリを参照できます。
多くの場合、スマート・リフェラルは別のサーバー上の同じDNを持つ実際のエントリを指しています。ただし、同じサーバーまたは別のサーバーのあらゆるエントリに対するスマート・リフェラルを定義できます。たとえば、次のDNを持つエントリをスマート・リフェラルとして定義できます。
uid=bjensen,ou=People,dc=example,dc=com
このスマート・リフェラルは、サーバーeast.example.com上の別のエントリを指しています。
cn=Babs Jensen,ou=Sales,o=east,dc=example,dc=com
ディレクトリがスマート・リフェラルを使用する方法は、RFC 4511(http://www.ietf.org/rfc/rfc4511.txt)の第4.1.10項で指定されている標準に従います。
このタスクの実行には、DSCCが使用できます。詳細は、「Directory Service Control Centerのインタフェース」およびDSCCのオンライン・ヘルプを参照してください。
referralオブジェクト・クラスでは、LDAP URLを格納するように想定されているref属性を使用できます。extensibleObjectオブジェクト・クラスでは、ターゲット・エントリと一致させるために、ネーミング属性として任意のスキーマ属性を使用できます。
たとえば、エントリuid=bjensenのかわりに、スマート・リフェラルを返す下のエントリを定義するには、次のコマンドを使用します。
$ ldapmodify -a -h host1 -p 1389 -D cn=admin,cn=Administrators,cn=config -w - Enter bind password: dn: uid=bjensen,ou=People,dc=example,dc=com objectclass: top objectclass: extensibleObject objectclass: referral uid: bjensen ref: ldap://east.example.com/cn=Babs%20Jensen,ou=Sales,o=east,dc=example,dc=com
注意: LDAP URL内の空白の後にある情報は、サーバーでは無視されます。そのため、リフェラルとして使用する任意のLDAP URL内で、空白のかわりに%20を使用する必要があります。その他の特殊文字は、エスケープする必要があります。
スマート・リフェラルを定義した後、uid=bjensenエントリに対する変更は、実際には別のサーバー上のcn=Babs Jensenエントリで実行されます。ldapmodifyコマンドは、次の例のように自動的にリフェラルを追従します。
$ ldapmodify -h host1 -p 1389 -D cn=admin,cn=Administrators,cn=config -w - Enter bind password: dn: uid=bjensen,ou=People,dc=example,dc=com changetype: replace replace: telephoneNumber telephoneNumber: (408) 555-1234
$ ldapmodify -M -h host1 -p 1389 -D cn=admin,cn=Administrators,cn=config -w - Enter bind password: dn: uid=bjensen,ou=People,dc=example,dc=com changetype: replace replace: ref ref: ldap://east.example.com/cn=Babs%20Jensen,ou=Marketing,o=east,dc=example,dc=com