2. Directory Serverのインスタンスと接尾辞
ポート番号の変更、ポートの有効化およびポートの無効化を実行するには:
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は、LDAP(Lightweight Directory Access Protocol)のリクエストを処理するほかに、DSMLv2(Directory Service Markup Language version 2)で送信されたリクエストにも応答します。DSMLでも、クライアントでディレクトリ操作をエンコードできます。サーバーはDSMLを、同じアクセス制御とセキュリティ機能のすべてを持つ他のリクエストとして処理します。DSML処理により、他の多くのタイプのクライアントがディレクトリの内容にアクセスできます。
Directory Serverでは、ハイパーテキスト転送プロトコル(HTTP/1.1)でDSMLv2を使用できます。また、DSMLの内容を転送するためのプログラミング・プロトコルとしてSOAP(Simple Object Access Protocol)version 1.1が使用されます。これらのプロトコルの詳細およびDSMLリクエストの例については、Oracle Directory Server Enterprise EditionリファレンスのDirectory Server DSMLv2に関する章を参照してください。
この項の内容は次のとおりです。
このタスクの実行には、DSCCが使用できます。詳細は、「Directory Service Control Centerのインタフェース」およびDSCCのオンライン・ヘルプを参照してください。
$ dsconf set-server-prop -h host -p port dsml-enabled:on
$ dsconf set-server-prop -h host -p port dsml-secure-port:port
$ dsconf set-server-prop -h host -p port dsml-port:port
デフォルトでは、このポートはdisabledに設定されています。
$ dsadm restart instance-path
次のステップ
ユーザーによって定義されたパラメータと属性値に従い、DSMLクライアントは次のURLを使用して、このサーバーにリクエストを送信できます。
http://host:DSML-port/relative-URL
https://host:secure-DSML-port/relative-URL
注意: relative-URLは、dsml-relative-root-urlプロパティを使用して読取りおよび設定できます。
このタスクの実行には、DSCCが使用できます。詳細は、「Directory Service Control Centerのインタフェース」およびDSCCのオンライン・ヘルプを参照してください。
$ dsconf set-server-prop -h host -p port dsml-enabled:off
$ dsconf set-server-prop -h host -p port dsml-secure-port:disabled
$ dsasm restart instance-path
DSMLリクエストの受取りに必要なセキュリティのレベルを構成できます。そのためには、DSMLクライアント認証を構成する必要があります。
$ dsconf set-server-prop -h host -p port dsml-client-auth-mode:dsml-mode
デフォルトでは、dsml-client-auth-modeプロパティはclient-cert-firstに設定されています。
dsml-modeは、次のいずれかに指定できます。
http-basic-only - これがデフォルト値です。サーバーは、HTTP認証ヘッダーの内容を使用して、ディレクトリのエントリにマップできるユーザー名を検索します。この処理とその構成は、SSLを介して暗号化されますが、クライアント証明書は使用しないでください。これについては、「DSMLアイデンティティ・マッピング」に説明があります。
client-cert-only - サーバーはクライアント証明書の資格証明を使用してクライアントを特定します。この値によって、すべてのDSMLクライアントはセキュアなHTTPSポートを使用してDSMLリクエストを送信し、証明書を提示する必要があります。サーバーは、クライアント証明書がディレクトリ内のエントリと一致するかどうかをチェックします。詳細は、第5章「Directory Serverのセキュリティ」を参照してください。
client-cert-first - クライアント証明書が提示された場合、サーバーはまずその証明書を使用してクライアントの認証を試みます。クライアント証明書が提示されていないと、サーバーはAuthorizationヘッダーのコンテンツを使用してクライアントを認証します。
HTTPリクエストで証明書もAuthorizationヘッダーも提示されていない場合は、サーバーは匿名バインドを使用してDSMLリクエストを実行します。匿名バインドは、次の場合にも使用されます。
client-cert-onlyが指定されており、クライアントが有効なAuthorizationヘッダーを提示しているが、証明書がない場合。
http-basic-onlyが指定されており、クライアントが有効な証明書を提示しているが、Authorizationヘッダーがない場合。
クライアント認証方式にかかわらず、証明書が提示されているがそれがエントリと一致しない場合、またはHTTP Authorizationヘッダーが指定されているがそれがユーザー・エントリにマップできない場合、DSMLリクエストは拒否され、エラー・メッセージ403:「Forbidden」が返されます。
証明書を使用しない基本認証を実行すると、Directory ServerはDSMLリクエストを受信するときに、アイデンティティ・マッピングと呼ばれるメカニズムにより、使用するバインドDNを決定します。このメカニズムでは、HTTPリクエストのAuthorizationヘッダーから情報を抽出して、バインドに使用するアイデンティティを特定します。
DSML/HTTPのデフォルトのアイデンティティ・マッピングは、サーバー構成の次のエントリで指定されます。
dn: cn=default,cn=HTTP-BASIC,cn=identity mapping,cn=config objectClass: top objectClass: nsContainer objectClass: dsIdentityMapping cn: default dsSearchBaseDN: ou=people dsSearchFilter: (uid=${Authorization})
この構成は、サーバーがDirectory Server接尾辞に格納されるDNのuid値としてHTTPユーザーIDを使用することを示します。たとえば、HTTPユーザーがbjensenの場合、サーバーは、DN uid=bjensen,ou=peopleを使用してバインドを実行しようとします。
マッピングが正しく機能するためには、dsSearchBaseDNの値をすべて入力する必要があります。たとえば、dsSearchBaseDNの値をou=people,dc=example,dc=comに変更できます。すると、HTTPユーザーがbjensenの場合、サーバーはDN uid=bjensen,ou=people,dc=example,dc=comを使用してバインドを実行しようとします。
dn: cn=default,cn=HTTP-BASIC,cn=identity mapping,cn=config objectClass: top objectClass: nsContainer objectClass: dsIdentityMapping cn: default dsSearchBaseDN: ou=people,dc=example,dc=com dsSearchFilter: (uid=${Authorization})
マッピング・エントリ属性dsSearchFilterの中で、${header}という形式のプレースホルダを使用できます。headerは、HTTPヘッダー名を表します。
次に、DSMLマッピングで使用される最も一般的なヘッダーを示します。
この文字列は、HTTP Authorizationヘッダーに含まれるユーザー名に置き換えられます。Authorizationヘッダーには、ユーザー名とそのパスワードが含まれますが、このプレースホルダではユーザー名のみが置き換えられます。
この文字列は、HTTP Fromヘッダーに含まれる電子メール・アドレスに置き換えられます。
この文字列は、DSMLリクエストのURL内のホスト名とポート番号(サーバーのホスト名とポート番号)に置き換えられます。
DSMLリクエストで別の種類のアイデンティティ・マッピングを実行するには、HTTPヘッダーのアイデンティティ・マッピングを新しく定義します。
マッピング・エントリは、エントリcn=HTTP-BASIC,cn=identity mapping,cn=configの下に配置する必要があります。
ldapmodifyコマンドを使用して、コマンドラインからこのエントリを追加します。詳細は、「ldapmodifyを使用したエントリの追加」を参照してください。
最初に、カスタム・マッピングが評価されます。カスタム・マッピングが成功しなかった場合、デフォルト・マッピングが評価されます。すべてのマッピングでDSMLリクエストのバインドDNの特定に失敗した場合、DSMLリクエストは禁止されて拒否されます(エラー403)。