Sun Java ロゴ     前へ      目次      索引      次へ     

Sun ロゴ
Sun Java™ System Directory Server 5 2004Q2 管理ガイド 

第 1 章
Directory Server による管理の概要

Directory Server 製品には、Directory Server、複数のディレクトリを管理するための管理サーバー、および両方のサーバーを管理するグラフィカルインタフェースを提供する Server Console が含まれています。この章では、Directory Server の概要と、ディレクトリサービスの管理を開始するときの基本的な作業について説明します。

この章で説明する Directory Server 5.2 の新しい 2 つの機能は、プラグイン署名と DSML-over-HTTP プロトコルです。プラグイン署名の検証は新たに追加されたセキュリティ機能の 1 つで、未承認のプラグインがロードされようとしていることをサーバーが検出し防止することができます。DSML (Directory Server Markup Language) は、ディレクトリサーバーに要求を送信するための、XML ベースの新しい形式です。

この章は、次の節で構成されます。


注

複数の Directory Server のバージョンを実行している場合、この章で示している例はすべて Directory Server 5.2 がデフォルトバージョンであることに注意してください。これに該当しない場合は、次のコマンドを 1 度実行してデフォルトバージョンを 5.2 に設定します。

# /usr/sbin/directoryserver -d 5.2

または、directoryserver コマンドの実行時に常に -useversion オプションを追加して、バージョンを指定します。次の例のようになります。

# /usr/sbin/directoryserver -useversion 5.2 start



Directory Server 管理の概要

Directory Server は、企業全体のユーザーおよびリソースのディレクトリの管理用に設計された、堅牢かつスケーラブルなサーバーです。LDAP (Lightweight Directory Access Protocol) というオープンシステムサーバープロトコルに基づいています。Directory Server は、マシン上で ns-slapd プロセスまたはサービスとして動作します。このサーバーは、ディレクトリの内容を管理し、クライアントからの要求を処理します。

Directory Server のほとんどの管理作業は、管理サーバーを経由して実行できます。管理サーバーは、Directory Server (およびその他いくつかの Sun Java System サーバー) を管理できるようにするために Sun Java System が提供するもう 1 つのサーバーです。Server Console は、管理サーバーのグラフィカルインタフェースです。Directory Server コンソールは Server Console の一部であり、特に Directory Server で使うために設計されたものです。

ほとんどの Directory Server 管理タスクは、Directory Server コンソールから実行できます。設定ファイルを編集するか、コマンド行ユーティリティを使用して、手動で管理タスクを実行することもできます。Server Console の詳細については、『Administration Server Administration Guide』を参照してください。


注

Sun Cluster HA for Directory Server データサービスを使用している場合、Directory Server をコマンド行から管理するには、directoryserver(1M) コマンドとそのサブコマンドを使用します。

スタンドアロンのスクリプトやバイナリを直接使用しないでください。



Directory Server の起動と停止

SSL (Secure Sockets Layer) を使用していない場合は、次の方法で Directory Server を起動および停止します。SSL を使用している場合は、「SSL が有効になった状態でのサーバーの起動」を参照してください。

コマンド行からのサーバーの起動と停止

コマンド行からサーバーを起動または停止させるには、 次のコマンドを実行します。

 

# /usr/sbin/directoryserver -useversion 5.2 start

または

 

# /usr/sbin/directoryserver -useversion 5.2 stop

useversion オプションは、Directory Server 5.2 がデフォルトバージョンでない場合のみ必要です。directoryserver コマンドの完全な構文については、『Directory Server Administration Reference』の第 1 章にある「Command-Line Tools Reference」を参照してください。

これらのコマンドは次の場合、スーパーユーザーとして実行する必要があります。

それ以外の場合、どちらのコマンドも Directory Server と同じ UID および GID を使用して実行する必要があります。たとえば、Directory Server を nobody として実行する場合は、start および stop ユーティリティも nobody として実行する必要があります。

以前のバージョンの Directory Server のユーザーは、リフェラルモードでの起動はできなくなったので注意してください。グローバルリフェラルを設定するには Directory Server コンソールを使います。この手順については、「デフォルトリフェラルの設定」を参照してください。

コンソールからのサーバーの起動と停止

Directory Server コンソールが稼動している場合は、グラフィカルインタフェースを使用して Directory Server を起動、停止、再起動することができます。コンソールを実行する方法については、「Directory Server コンソールの起動」を参照してください。

  1. Directory Server コンソールの最上位にある「タスク」タブで、「Directory Server の起動」、「Directory Server の停止」、「Directory Server の再起動」の隣にあるボタンをクリックします。

Directory Server コンソールからの Directory Server の起動または停止が正常に完了すると、サーバーが正常に起動または停止したことを示すダイアログが表示されます。エラーが発生した場合は、エラーに関連するすべてのメッセージがコンソールに表示されます。


SSL が有効になった状態でのサーバーの起動

SSL を有効化する前に、サーバーに証明書をインストールし、それを設定する必要があります。証明書の管理と SSL の有効化については、第 11 章「認証と暗号化の管理」を参照してください。証明書、証明書データベース、サーバー証明書の取得については、『Administration Server Administration Guide』の第 9 章「Using SSL and TLS with Sun Java System Servers」を参照してください。

SSL を有効にしてサーバーを起動するには、コマンド行からサーバーを起動して、サーバーの証明書を保護するパスワードを指定する必要があります。

また、パスワードファイルを作成して、証明書のパスワードを格納できます。証明書用のデータベースパスワードをファイルに格納することによって、サーバーコンソールからサーバーを起動できます。さらに、無人でサーバーを実行している場合も、サーバーを自動的に再起動させることができます。


警告

パスワードファイル内のパスワードは、暗号化をされていないテキスト形式で格納されています。したがって、この方法を使うと、セキュリティ上のリスクを負うことになります。サーバーが動作している環境のセキュリティが十分に保護されている場合を除き、パスワードファイルは使用しないでください。


パスワードファイルは、次の位置に置く必要があります。

ここで、serverID は、インストール時に指定したサーバーの識別子を示します。

ファイルには、次のようにセキュリティトークンの名前とパスワードを含めます。

次の例には、内部証明書データベースのデバイス名が示されています (大文字と小文字の区別、および空白文字の有無は、この例のとおりに指定する必要がある)。

証明書を別のデバイスに格納しているときは、「証明書の管理」ダイアログ上部のドロップダウンメニューに表示されるデバイス名を指定します。証明書データベースを作成するには、管理サーバーと証明書設定ウィザードを使う必要があります。Directory Server 上での SSL の使い方については、第 11 章「認証と暗号化の管理」を参照してください。


Directory Server コンソールの使用

Directory Server コンソールは、Server Console の別のウィンドウとして表示されるインタフェースです。次の手順に従って Server Console から Directory Server コンソールを起動します。

Directory Server コンソールの起動

  1. Directory Server デーモン ns-slapd が動作していることを確認します。動作していない場合は、root ユーザーまたは管理ユーザーとして次のコマンドを入力し、デーモンを起動します。

     

    # /usr/sbin/directoryserver -useversion 5.2 start

  2. 管理サーバーデーモン ns-httpd が動作していることを確認します。動作していない場合は、root ユーザーまたは管理ユーザーとして次のコマンドを入力し、デーモンを起動します。

     

    # /usr/sbin/directoryserver -useversion 5.2 start-admin

  3. 次のコマンドを入力して Server Console を起動します。

     

    # /usr/sbin/directoryserver -useversion 5.2 startconsole

  4. 管理サーバーがインストールされているマシンとは異なるマシンで Server Console を実行しているときは、管理サーバーに接続制限を設定する必要があります。詳細は、『Administration Server Administration Guide』の第 6 章にある「Network Settings」を参照してください。

    コンソールのログインウィンドウが表示されます。設定ディレクトリ (o=NetscapeRoot サフィックスを含むディレクトリ) が Directory Server の別のインスタンスに保存されている場合は、表示されたウィンドウに、管理ユーザー DN、パスワード、およびそのディレクトリサーバーの管理サーバーの URL を入力する必要があります。

  5. 目的の操作を実行するために必要なアクセス権を持つユーザーのバインド DN とパスワードを使用してログインします。
  6. Server Console が表示されます。

  7. 左側のパネルのツリーを使用して Directory Server のホストマシンを検索し、ホストマシンの名前またはアイコンをクリックして全般的なプロパティを表示します。
  8. 図 1-1 Sun Java System Server コンソール
    Directory Server ノードの情報が表示されている Sun ONE Server コンソールの「サーバーおよびアプリケーション」タブ

    Directory Server の名前および説明を編集するには、「編集」ボタンをクリックします。テキストボックスに新しい名前および説明を入力します。「了解」をクリックして、新しい名前と説明を設定します。図のように左のツリーに名前が表示されます。

  9. ツリー内の Directory Server 名をダブルクリックまたは「開く」ボタンをクリックして、このディレクトリサーバーを管理する Directory Server コンソールを表示します。

Directory Server コンソールの操作

Directory Server コンソールは、Directory Server インスタンスで参照および管理操作を実行するためのインタフェースを提供します。常時表示されている 4 つのタブを使うと、Directory Server のすべての機能にアクセスできます。

タスクタブ

「タスク」タブは、Directory Server コンソールを開くと最初に表示されるタブです。このタブには、次の図に示すように、Directory Server の起動または終了など主要な管理タスクすべてを実行するボタンが表示されています。すべてのタスクとボタンを表示するには、リストをスクロールする必要があります。

図 1-2 Directory Server コンソールの「タスク」タブ

Directory Server の起動、再起動、停止、その他のボタンが表示されている Directory Server コンソールの最上位にある「タスク」タブ

これらのタスクを実行するには、管理者の権限を持つユーザーとしてログインする必要があります。適切な権限を持たないユーザーがアクセスしたときは、タスクボタンは表示されません。

設定タブ

Directory Server コンソールの「設定」タブでは、サフィックス、レプリケーション、スキーマ、ログ、およびプラグインなど、すべてのディレクトリ設定を表示および変更するためのインタフェースおよびダイアログボックスが提供されます。これらのダイアログボックスは、管理者の権限を持つユーザーとしてログインした場合にだけ有効となります。

このタブの左側にはすべての設定機能のツリー、右側には各機能に特有の管理用インタフェースが表示されます。これらのインタフェースには、通常、ほかのタブ、ダイアログボックス、またはポップアップウィンドウがあります。次の図にディレクトリ全体の一般設定を示します。

図 1-3 Directory Server コンソールの「設定」タブ

サーバー設定ノードの「設定」タブの例として表示されている Directory Server コンソールの最上位にある「設定」タブ

左側のツリーから設定可能な項目を選択すると、選択した項目の現在の設定が右側のパネルの 1 つ以上のタブに表示されます。これらの設定の説明および動作については、このマニュアルの各機能について説明した章を参照してください。設定に応じて、保存すると変更がすぐに反映される場合と、サーバーが再起動されるまで反映されない場合があります。サーバーの再起動が必要な場合は、それを示すダイアログが表示されます。

変更が保存されていないタブでは、タブ名の隣に赤のマークが表示されます。変更を保存しないで別の項目を設定したり、他の主要なタブを表示したりしても、行なった変更はタブに残ります。「保存」および「リセット」ボタンは、指定された設定項目のすべてのタブに適用されますが、他の項目の未保存の設定には影響を与えません。

ほとんどのテキストフィールドには、正しい構文でだけ設定値を入力できます。デフォルトでは、設定および値が正しい構文で入力されるまで、そのラベルが赤でハイライト表示されます。すべての設定に有効な構文が指定されるまで、「保存」ボタンは無効になります。「視覚的な設定」で説明する方法で、不正な値を斜体で強調するように設定できます。

ディレクトリタブ

コンソールの「ディレクトリ」タブには、移動しやすいようにディレクトリエントリがツリー構造で表示されます。このタブでは、すべてのエントリとその属性を参照、表示、および編集できます。


注

何千ものエントリのあるリストを参照する場合は、ブラウズインデックスを作成してアクセスを高速化します。手順は、「コンソール用のブラウズインデックス」を参照してください。


図 1-4 Directory Server コンソールの「ディレクトリ」タブ

左側のパネルにはディレクトリツリー、右側のパネルには属性値が表示されている Directory Server コンソールの最上位にある「ディレクトリ」タブ

ログイン時に指定されたバインド DN のアクセス権限が十分な場合には、設定エントリが通常のエントリとみなされ、直接変更することが可能です。ただし、設定を安全に変更するには、「設定」タブから利用できるダイアログボックスを使う必要があります。

「ディレクトリ」タブのレイアウトおよび内容を変更する場合は、「表示」メニューのオプションを使用できます。新しいレイアウトオプションを使うと、最下位のエントリを含むすべてのエントリを 1 つのツリーに表示したり、右側のパネルに属性を表示したりできます。デフォルトでは、最下位のエントリは、左側のツリーではなく、右側に表示されます。

「表示」>「表示」オプションでは、ディレクトリツリーのすべてのエントリの ACI カウント、ロールカウント、および「アクティブでない状態」アイコンを使用できます。図 1-4 では、ACI カウントおよび最下位のエントリは左側のツリーに表示され、選択したエントリの属性値が右側のパネルに表示されています。詳細は、「ディレクトリツリーの表示オプション」を参照してください。

状態タブ

「状態」タブには、サーバー統計およびログメッセージが表示されます。左側のツリーには、すべての状態項目が一覧表示されます。項目が選択されると、その内容が右側のパネルに表示されます。次の図ではログエントリのテーブルを表示しています。

図 1-5 Directory Server コンソールの「状態」タブ

ログファイルの内容の例として表示されている Directory Server コンソールの最上位にある「状態」タブ

コンソールからの現在のバインド DN の表示

ディスプレイの左下隅にあるログインアイコンをクリックすると、Directory Server コンソールへのログインに使ったバインド DN を表示できます。次に示すように、現在のバインド DN がログインアイコンの隣に表示されます。

現在のバインド DN が表示されているログインアイコン

ログイン IDの変更

Directory Server コンソールからエントリの作成や管理を行う場合や、はじめて Server Console にアクセスする場合は、バインド DN とパスワードを入力してログインすることもできます。これによって、ディレクトリツリーにアクセスしているユーザーを特定し、操作を実行するために許可されているアクセス権を決定できます。

最初に Server Console を起動するときは、Directory Manager DN を使用してログインできます。ログイン後は、コンソールを停止して再起動しなくても、いつでも別のユーザーとしてログインできます。

Server Console でログイン名を変更するには、次の手順を実行します。

  1. Directory Server コンソールの「タスク」タブを選択し、「Directory Server に新規ユーザーとしてログイン」というラベルの隣のボタンをクリックします。コンソールの別のタブでは、「コンソール」>「新規ユーザーとしてログイン」メニューの順に選択します。
  2. ログインダイアログボックスが表示されます。

  3. 新しい DN とパスワードを入力し、「了解」をクリックします。
  4. サーバーにバインドするエントリの絶対識別名を入力します。たとえば、Directory Manager としてバインドする場合は、「識別名」テキストボックスに次のように DN を入力します。

    cn=Directory Manager

Directory Manager DN およびパスワードの詳細は、次の節で説明します。

オンラインヘルプの使用

オンラインヘルプは、Directory Server コンソールのほとんどのタブとダイアログについて、状況に適した情報を提供します。「ヘルプ」ボタンは、通常は各インタフェースの右下端にあります。どの画面でも、キーボードショートカット Alt-P を押せば、状況に即したヘルプを呼び出すことができます。

オンラインヘルプを呼び出すと、コンソールの内蔵ブラウザに HTML ベースのページが表示されます。ここで「ブラウザで開く」ボタンをクリックすると、同じページを Mozilla などの外部ブラウザで表示できます。オンラインヘルプ内でさらに詳しい情報へのリンクをクリックした場合も、外部ブラウザのウィンドウにその情報が表示されます。

オンラインヘルプの各ページには、対応するタブまたはダイアログに含まれるフィールドとボタンの説明が表示されます。コンソールで値の入力または変更を行なったり、値の意味を調べたりするときは、この情報を参考にしてください。

Directory Server のヘルプシステムは、管理サーバーに依存しています。管理サーバーからはリモートとなるマシンで Directory Server コンソールを稼動している場合は、次の項目を確認する必要があります。

コンソールクリップボード

Directory Server コンソールでは、システムのクリップボードを使用してテキストのコピー、カット、およびペーストを行います。「ディレクトリ」タブ内での操作中に、エントリの DN または URL をクリップボードにコピーすることで、入力する文字数を減らすことができます。

DN や URL をテキストイールドにペーストする必要のあるダイアログや別のタブを開く前に、次の手順を実行します。

  1. Directory Server コンソールの最上位にある「ディレクトリ」タブでツリーを表示し、DN または URL をコピーするエントリを選択 (左クリック) します。
  2. 次にメニューの「編集」>「DN のコピー」または「編集」>「URL のコピー」の順に選択します。

コンソールの設定

Directory Server コンソールには、「設定」タブと「ディレクトリ」タブの情報の表示をカスタマイズするために、多数の設定が用意されています。

視覚的な設定

「設定」タブの最上位にあるフィールドで設定パラメータを変更したり、値を入力すると、Directory Server コンソールは有効な入力を色分けしたテキストで表示します。たとえば、設定値の入力を要求する機能を有効にすると、入力が必要なフィールドのラベルは赤で表示され、有効な値を入力すると青に変わります。

デフォルトでは、コンソールは赤と青で色分けされますが、次の手順でこの設定を変更することができます。

  1. Directory Server コンソールのいずれかのタブで、「編集」メニューから「プリファレンス」を選びます。「コンソールのプリファレンス」ダイアログで、「その他」タブを選択します。
  2. 視覚的な設定のラジオボタンを選択します。フォントの色分け、別フォントによる表示、または両方を指定できます。
  3. 「コンソールのプリファレンス」ダイアログのその他のタブの設定については、『Administration Server Administration Guide』の第 2 章にある「Customizing Server Console」を参照してください。
  4. 「了解」をクリックして、変更を保存します。

  5. Server Console のすべてのウィンドウを閉じ、再起動します。

ディレクトリツリーの表示オプション

Directory Server コンソールの最上位にある「ディレクトリ」タブで「表示」メニューの項目を使用することで、ディレクトリツリーに追加情報を表示したり、右側のパネルに表示する情報を選択したりすることができます。

「ディレクトリ」タブに表示される内容には、次の「表示」オプションが適用されます。


LDAP パラメータの設定

Directory Manager の識別名 (DN)、グローバルな読み取り専用設定、ポートの設定、すべてのディレクトリ変更日時の追跡など、LDAP パラメータはディレクトリサーバーの基本的な設定です。

Directory Manager の設定

Directory Manager とは、特権を持つサーバー管理者のことで、UNIX の root ユーザーにあたります。このため、Directory Manager として定義したエントリには、アクセス制御は適用されません。このエントリは、インストール時に初めて定義されます。デフォルト値は cn=Directory Manager です。

Directory Manager の DN は nsslapd-rootDN 属性に格納され、パスワードは cn=config ブランチの nsslapd-rootpw 属性に格納されます。

Directory Server コンソールを使用して、Directory Manager DN、パスワード、およびパスワードの暗号化スキーマを変更します。

  1. Directory Manager としてコンソールにログインします。
  2. すでにコンソールにログインしている場合に、別のユーザー名でログインする方法については、「ログイン IDの変更」を参照してください。

  3. 最上位の「設定」タブで、ナビゲーションツリーのルートでサーバーのノードを選択し、右側のパネルで「設定」タブを選択します。
  4. 「Directory Manager DN」フィールドに、新しい識別名を入力します。デフォルト値は、インストール時に定義した識別名です。
  5. 「マネージャのパスワードの暗号化」プルダウンメニューから、サーバー上で Directory Manager のパスワードを格納するために使う保存スキーマを選択します。
  6. 新しいパスワードを入力し、該当するテキストフィールドで、入力したパスワードを確認します。
  7. 「保存」をクリックします。

Directory Server のポート番号の変更

Directory Server コンソールを使うか、cn=config エントリの下にある nsslapd-port 属性の値を変更して、ユーザーディレクトリサーバーのポート番号またはセキュリティ保護されたポート番号を変更できます。

Sun Java System の設定情報 (o=NetscapeRoot サブツリー) を含む Directory Server のポートまたはセキュリティ保護されたポートを変更する場合は、Directory Server コンソールを使います。

設定ディレクトリ、またはユーザーディレクトリのポート番号やセキュリティ保護されたポート番号を変更する場合は、次の点に注意してください。

Directory Server が LDAP 要求の受信を待機するポートまたはセキュリティ保護されたポートを変更するには、次の手順を実行します。DSML 要求のポートを変更する方法については、「DSML の設定」を参照してください。

  1. Directory Server コンソールの最上位の「設定」タブで、サーバー名のルートノードを選び、右側のパネルで「ネットワーク」タブを選びます。
  2. サーバーの現在の LDAP プロトコル用のポート設定が表示されます。

  3. 「ポート」フィールドに、サーバーが SSL 以外の通信に使用するポート番号を入力します。デフォルトは 389 です。
  4. 第 11 章「認証と暗号化の管理」で説明する方法で、このサーバーで SSL を有効化したときは、セキュリティ保護されたポートへの接続も指定できます。
    1. セキュリティ保護されたポートと保護されていないポートの両方を使用するオプションを選択します。
    2. 「セキュリティ保護されたポート」フィールドに、サーバーが SSL 通信に使用するポート番号を入力します。デフォルトは 636 です。
    3. 指定する暗号化ポート番号は、通常の LDAP 通信に使うポート番号とは異なるものにする必要があります。

  5. 「保存」をクリックして、サーバーを再起動します。

詳細は、「Directory Server の起動と停止」を参照してください。

グローバルな読み取り専用モードの設定

ディレクトリの各サフィックスは個別に読み取り専用モードにすることができ、固有のリフェラルが定義されていれば、それを取得できます。Directory Server には、すべてのサフィックスに適用されるグローバルな読み取り専用モードも用意されています。このモードでは、グローバルリフェラルが定義されていれば、それを取得できます。

グローバルな読み取り専用モードは、管理者がサフィックスのインデックスを作成し直すときなどに、途中でディレクトリの内容が変更されないようにするために使います。このため、グローバルな読み取り専用モードは、次の設定分岐には適用されません。

これらの分岐は、読み取り専用の設定にかかわらず管理ユーザー以外のユーザーによって変更されることがないよう、常に ACI (アクセス制御命令) で保護されているべきです (第 6 章「アクセス制御の管理」を参照)。グローバルな読み取り専用モードでは、ディレクトリの他のサフィックスに対する更新操作を防止できます。Directory Manager によって開始される更新操作も行うことはできません。

読み取り専用モードでは、このモードが適用されているサフィックスについてはレプリケーションも中断されます。レプリケーションの対象となる変更がマスターレプリカに加えられることはなくなります。ただし、読み取り専用モードが適用される前に加えられた変更は、引き続きレプリケートされます。読み取り専用モードが無効になるまでは、コンシューマレプリカが更新を受け取ることはありません。マルチマスターレプリケーション環境のマスターは、レプリケーションの対象となる変更が加えられることも、他のマスターから更新を受け取ることもありません。

グローバルな読み取り専用モードを有効または無効にするには、次の手順を実行します。

  1. Directory Server コンソールの最上位の「設定」タブで、設定ツリーのルートノードを選択します。次に、右側のパネルで「設定」タブを選択します。
  2. 「読み取り専用サーバー」チェックボックスを選択または選択解除します。
  3. 「保存」をクリックします。変更は直ちに適用されます。

個別のサフィックスを読み取り専用モードに設定する方法については、「サフィックスの読み取り専用モードの設定」を参照してください。

ディレクトリエントリへの変更の記録

Directory Server は、新しく作成されたエントリや変更されたエントリに対して、特別な属性を維持するように設定できます。

これらの情報を記録できるように Directory Server を設定するには、次の手順を実行します。

  1. Directory Server コンソールの最上位の「設定」タブで、設定ツリーのルートノードを選択します。次に、右側のパネルで「設定」タブを選択します。
  2. 「エントリの変更時間を記録」チェックボックスを選択します。
  3. 新しく作成されたエントリまたは変更されたエントリに対して、creatorsName、createTimestamp、modifiersName、および modifyTimestamp 属性が追加されます。既存のエントリには creation 属性は含まれません。

  4. 「保存」をクリックして、サーバーを再起動します。
  5. 詳細は、「Directory Server の起動と停止」を参照してください。


プラグインの署名の検証

プラグイン署名の検証は、Directory Server 5.2 の新しい機能です。が提供するプラグインは、それぞれがデジタル署名を持ち、サーバーの起動時にこれが検証されます。デフォルトでは、サーバーはプラグイン署名を検証します。ただし、署名の存在や有効性に関係なく、すべてのプラグインがロードされます。

署名の検証には、次のような利点があります。

プラグイン署名の検証の設定

  1. Directory Server コンソールの最上位にある「設定」タブで、設定ツリーから「プラグイン」ノードを選択します。右側のパネルに現在の署名検証ポリシーが表示されます。
  2. 次のいずれかのオプションを選択します。
    • プラグインの署名を確認しない : 署名に関係なく、サーバーの設定に定義されているすべてのプラグインをロードします。プラグイン署名が原因で警告やエラーが表示されることはありません。
    • 署名が無効なプラグインにフラグをつける : サーバーの設定に定義されているすべてのプラグインをロードしますが、サーバーはそれぞれの署名を検証します。何らかの方法で、プラグインのバイナリが変更されているときは、署名は無効とされ、起動時にサーバーは警告メッセージを表示し、エラーログに記録します。署名を持たないプラグインにもフラグがつけられます。

      未署名のカスタムプラグインを利用するときは、このオプションの指定をお勧めします。このようなプラグインもロードされますが、同時にすべての署名つきプラグインの状態も確認できます。

    • 無効な署名のプラグインを拒否 : サーバーの設定に定義されているすべてのプラグインの署名を検証し、有効な署名を持つプラグインだけをロードします。サーバーの起動時に、どのプラグインが無効な署名を持つか、または署名を持たないかを示す警告メッセージが表示され、エラーログに記録されます。

      これは最も安全なオプションですが、未署名のカスタムプラグインをロードできなくなります。

  3. 「保存」をクリックして、「Directory Server の起動と停止」の説明に従って Directory Server を再起動します。

プラグインの状態の確認

  1. Directory Server コンソールの最上位の「設定」タブの設定ツリーで「プラグイン」ノードを展開し、確認するプラグインを選択します。プラグインの現在の設定が右側のパネルに表示されます。
  2. 「署名の状態」フィールドには、プラグイン署名の検証結果が次のいずれかの値で示されます。
    • Unknown : これは、プラグイン署名を検証しないようにサーバーを設定した場合にすべてのプラグインで表示される状態です。次の状態は、プラグイン署名の検証を行なった場合にだけ表示されます。
    • Valid signature : プラグインの設定は、署名がプラグインバイナリのチェックサムと一致することを示します。このプラグインは、正式にサポートされています。次の状態は、無効な署名にフラグを付け、それを拒否しない場合にだけ表示されます。
    • Invalid signature : プラグインの設定に、プラグインバイナリのチェックサムと一致しない署名が含まれます。この状態は、プラグインが改変されている可能性があることを示します。
    • No signature : プラグインの設定に、サーバーが検証する署名が含まれていません。


DSML の設定

Directory Server は、LDAP (Lightweight Directory Access Protocol) で要求を処理するほか、DSMLv2 (Directory Service Markup Language バージョン 2) で送信された要求も処理します。クライアントでは、ディレクトリ操作をエンコードするために DSML も使われます。サーバーでは、DSML も他の要求と同様に、同じアクセス制御とセキュリティ機能によって処理されます。この DSML 処理により、さまざまな種類のクライアントがディレクトリの内容にアクセスできるようになります。

Directory Server では、ハイパーテキスト転送プロトコル (HTTP/1.1) で DSMLv2 を使用できます。また、DSML の内容を転送するためのプログラミングプロトコルとして SOAP (Simple Object Access Protocol) バージョン 1.1 が使われます。これらのプロトコルの詳細と、DSML 要求の例については、「DSMLv2 を使用したディレクトリへのアクセス」を参照してください。

DSML 要求の有効化

ディレクトリへのアクセスに使われる標準プロトコルは LDAP であるため、Directory Server のインストール時に、DSML 要求はデフォルトで無効になっています。HTTP/SOAP で送信された DSML 要求をサーバーで処理するには、この機能を明示的に有効にする必要があります。

DSML 要求をコンソールから有効にするには、次の手順を実行します。

  1. Directory Server コンソールの最上位の「設定」タブで、設定ツリーのルートノードを選択します。次に、右側のパネルで「ネットワーク」タブを選択します。
  2. 「DSML を有効」チェックボックスを選択し、次のいずれかのセキュリティオプションを選択します。セキュリティ保護されたポートのオプションは、第 11 章「認証と暗号化の管理」で説明する方法で SSL を有効化した場合のみ表示されます。
    • セキュリティ保護されていないポートのみ : 暗号化されない HTTP 経由の DSML 要求だけが、セキュリティ保護されていないポートで受け付けられる
    • セキュリティ保護されたポートのみ : HTTPS 経由の DSML 要求だけが、セキュリティ保護されているポートで受け付けられる
    • セキュリティ保護されたポートと保護されていないポートの両方 : 両方のポートが有効となり、クライアントがいずれかを選択できる
  3. 次のフィールドを編集します。
    • ポート : DSML 要求を受け取る HTTP ポート
    • セキュリティ保護されたポート : 暗号化された DSML 要求を受け取る、SSL を使った HTTPS ポート
    • 相対 URL : 相対 URL をホストとポートに付加することで得られる完全な URL は、DSML 要求を送信するためにクライアントで使われる
    • デフォルトでは、サーバーは次の URL に送信された要求を処理します。

         http://host:80/dsml

  4. 「保存」をクリックすると、DSML 要求の処理を開始するにはサーバーを再起動する必要があるというメッセージが表示されます。

DSML 要求をコマンド行から有効にするには、次の手順を実行します。

  1. DSML フロントエンドプラグインを有効にしてその設定を変更するには、次の ldapmodify コマンドを実行します。ds-hdsml-port、ds-hdsml-secureport、および ds-hdsml-rooturl の各属性の変更は必要に応じて行います。
  2. % ldapmodify -h host -p LDAPport -D "cn=Directory Manager" -w passwd
    dn:cn=DSMLv2-SOAP-HTTP,cn=frontends,cn=plugins,cn=config
    changetype:modify
    replace:nsslapd-pluginEnabled
    nsslapd-pluginEnabled:on
    -
    replace:ds-hdsml-port
    ds-hdsml-port:
    DSMLport
    -
    add:ds-hdsml-secureport
    ds-hdsml-port:
    secureDSMLport
    -
    replace:ds-hdsml-rooturl
    ds-hdsml-root:
    relativeURL
    -
    ^D

    ユーザーによって定義されたパラメータと属性値に従い、DSML クライアントは次の URL を使用して、このサーバーに要求を送信できます。

    http://host:DSMLport/relativeURL

    https://host:secureDSMLport/relativeURL

  3. DSML フロントエンドプラグインを変更したら、変更を反映させるためにサーバーを再起動する必要があります。サーバーを再起動する前に、DSML 認証のセキュリティと ID マッピングを設定できます。これらについては、次の節で説明します。

DSML セキュリティの設定

前節で説明したセキュリティ保護されたポートの設定に加え、DSML 要求を受け入れるために必要なセキュリティレベルも設定できます。DSML フロントエンドプラグインの ds-hdsml-clientauthmethod 属性によって、必要なクライアントの認証方法が決まります。この属性に指定できる値は次のとおりです。

HTTP 要求に証明書も Authorization ヘッダーもない場合は、匿名バインドを使用して DSML 要求を実行します。匿名バインドは、次の場合にも使われます。

証明書が提示されていてもエントリと一致しない場合や、HTTP Authorization ヘッダーが指定されていてもユーザーのエントリに対応付けることができない場合、ds-hdsml-clientauthmethod 属性の値にかかわらず DSML 要求は拒否され、エラーメッセージ 403「Forbidden」が返されます。

DSML のセキュリティ要件をコンソールから設定するには、次の手順を実行します。

  1. Directory Server コンソールの最上位の「設定」タブで、設定ツリーのルートノードを選択します。次に、右側のパネルで「暗号化」タブを選択します。
  2. 第 11 章「認証と暗号化の管理」で説明する方法で、SSL を設定し、有効化している必要があります。

  3. 「DSML クライアント認証」フィールドのドロップダウンメニューからいずれかの項目を選択します。
  4. 「保存」をクリックし、サーバーを再起動して新しいセキュリティ設定を適用します。

DSML のセキュリティ要件をコマンド行から設定するには、次の手順を実行します。

  1. DSML フロントエンドプラグインの属性を編集するには、次の ldapmodify コマンドを実行します。
  2. % ldapmodify -h host -p LDAPport -D "cn=Directory Manager" -w passwd
    dn:cn=DSMLv2-SOAP-HTTP,cn=frontends,cn=plugins,cn=config
    changetype:modify
    replace:ds-hdsml-clientauthmethod
    ds-hdsml-clientauthmethod: httpBasicOnly
    or
     clientCertOnly or clientCertFirst
    ^D

  3. DSML フロントエンドプラグインを変更したら、この新しいセキュリティ設定を有効にするために、サーバーを再起動する必要があります。

DSML の ID マッピング

証明書を使わない基本認証を実行するときは、Directory Server は ID マッピングというメカニズムを使用して、DSML 要求を受け入れるときに使うバインド DN を決定します。このメカニズムでは、HTTP 要求の Authorization ヘッダーから情報が抽出され、バインドに使う ID を決定します。このメカニズムの詳細については、「ID マッピング」を参照してください。

DSML-over-HTTP のデフォルトの ID マッピングは、サーバー設定の次のエントリで指定されます。

dn:cn=default,cn=HTTP-BASIC, cn=identity mapping, cn=config
objectclass:top
objectclass:nsContainer
objectclass:dsIdentityMapping
cn:default
dssearchbasedn:ou=People,
userRoot
dssearchfilter:(uid=${Authorization})

このマッピングでは、ou=People,userRoot サブツリーで、Authorization ヘッダーに指定されたユーザー名と一致する uid 属性を持つエントリが検索されます。userRoot は、ディレクトリのインストール時に定義したサフィックスです (dc=example,dc=com など)。

マッピングエントリの属性には、${header} という形式のプレースホルダを使用できます。ここで、header は HTTP ヘッダーの名前です。DSML マッピングでよく使われるヘッダーは次のとおりです。

DSML 要求で別の ID マッピングを実行するには、HTTP ヘッダーの ID マッピングを新しく定義します。

  1. デフォルトの DSML-over-HTTP ID マッピングを編集するか、このプロトコル用のカスタムマッピングを作成します。ID マッピングエントリの属性の定義については、「ID マッピング」を参照してください。これらのマッピングエントリは、次のエントリの下に配置する必要があります。
    cn=HTTP-BASIC, cn=identity mapping, cn=config.

新しいマッピングエントリは、次の 2 とおりの方法で作成できます。

最初にカスタムマッピングが評価され、どのカスタムマッピングも成功しない場合は、デフォルトのマッピングが評価されます。どのマッピングを使用しても、DSML 要求の認証に使うバインド DN を特定できない場合、DSML 要求は禁止され拒否されます (エラー 403)。



前へ      目次      索引      次へ     


Copyright 2004 Sun Microsystems, Inc. All rights reserved.