LDAP の設定と構成

LDAP をネームサービスとして使う理由

LDAP を使うと、既存のアプリケーション固有のディレクトリを置き換え、情報を統合することができます。つまり、LDAP サーバー上で行なった変更は、その情報を使用するすべてのディレクトリ対応アプリケーションで有効になります。たとえば、新規ユーザーに関するさまざまな情報を 1 つのインタフェースで 1 回だけ更新すれば、そのユーザーの UNIX アカウント、メールアドレス、別名がすぐに作成され、部門メーリングリストのメンバーに登録され、部外秘の Web サーバーにアクセスできるようになり、職責限定のニュースグループの購読者になるという場合を想像してみてください。またそのユーザーは、会社の電話帳、メールアドレス帳、会議カレンダーシステムにもすぐに登録されます。そのユーザーが退社したときも、1 回の操作で上記のすべてのサービスを無効にすることができます。

ディレクトリは、汎用のデータベースとは使われ方が異なります。ディレクトリには、頻繁に検索されるが、滅多に変更されない情報が格納されます。たとえばホスト名やユーザー名などの情報は、1 回登録され、何千回も検索されます。LDAP サーバーは、このような用途に合わせて調整されています。一方リレーショナルデータベースは、絶えず変化するデータを保守するという用途に合わせて調整されています。

複製サーバーを作成することによって、ディレクトリデータは複数のサーバーから利用できるようになり、装置の故障などという不測の事態に備えることができます。また、ディレクトリデータをより多く複製し、それを使用するユーザーやアプリケーションの近くに置くことができるため、処理のパフォーマンスが向上します。

複製サーバーを使用する理由は、正式な (複製元の) サーバーの負荷を軽減することだけではありません。多くの UNIX ネットワークでは、サブネットにスレーブサーバーを置く NIS (YPともいう) を使用しています。NIS と同様に、サブネット上に複製を置くと、ルーター経由のネットワークトラフィックを避けることができるため、応答待ち時間を短縮できます。ただし NIS と違って、LDAP の同期方式では増分更新を採用しているため、すべてのデータを定期的に複製に転送するのではなく、更新データを随時複製に転送します。

正式な (複製元の) サーバーの情報を保守するには、読み取り、書き込み、検索、比較の各権利についてアクセス制御を設定する必要があります。アクセス制御の対象にできるのは、サブツリー、エントリ、属性タイプで、個人、グループ、または「自分自身」(これにより、認証されたユーザーが自分自身のエントリにアクセスできる) に権限を与えることができます。これは極めて柔軟性の高い方式です。たとえば、人事部門の社員だけに役職やマネージャ属性の変更を許可したいとか、管理アシスタントにオフィスの住所とポケットベルの番号の変更許可を与えるとか、各個人に自宅の電話番号、車のナンバーといった情報の変更を許可するなどということが可能になります。詳細は、iPlanet ディレクトリサーバーのマニュアルを参照してください。

UNIX のログイン情報を例に説明してみましょう。いったんユーザーの属性をディレクトリサーバーに格納すると、ディレクトリサーバーのインタフェースを介して更新することによって、複数のオペレーティングシステムプラットフォームで使用しているユーザー名とパスワードを一括して更新できます。これにより、ユーザー情報の変更が簡単になるだけでなく、稀にしか使用しないアカウントのパスワードを忘れるといったことも少なくなります。