LDAP(Lightweight Directory Access Protocol) とは、ネットワーク上の中枢にある保存情報にアクセスするための一連のオープンプロトコルです。 ディレクトリ共有用にX.500 基準をベースとしていますが、複雑ではなく リソース集中型です。この為、LDAPは時には "X.500 Lite"とも呼ばれます。
X.500の様にLDAPは、ディレクトリを使用して情報を階級式に構成します。 これらのディレクトリは各種の情報を保存でき、さらにはネットワーク 情報サービス(NIS)と似た方法で使用することができます。LDAPが有効に なっているネットワーク上では誰でも、どのマシンからも自分のアカウントに アクセスできます。
しかし多くの場合、LDAPは単に仮想電話帳として使用され、ユーザーは 他のユーザーの連絡情報に簡単にアクセスすることが出来ます。ただし、 LDAPは普通の電話帳よりももっと柔軟性があり、世界中の他のLDAPサーバー へ参照できることから、随意の世界情報レポジットリを提供します。 現在、一般的には大学、政府の各部門、民間企業などの個々の組織内で多く 使用されています。
LDAPはクライアント/サーバー型のシステムです。サーバーは、ディレクトリを 保存するのに各種のデータベースを使用して、それぞれが迅速で大量の読み込み操作の為に 効率化してあります。 LDAPのクライアントアプリケーションがLDAPサーバーに アクセスする時は、ディレクトリに問い合わせするか、あるいはそれを変更 しようとします。問い合わせの場合は、サーバーはそれに答えるか、又は ローカルで回答出来ない場合、サーバーはその問い合わせの回答を持つ LDAPサーバーへ案内します。クライアントアプリケーションがLDAPディレクトリの 情報を変更しようとしている場合は、サーバーはそのユーザーが変更する権限を 持っているかどうかを検証してから情報の追加なり更新なりをします。
本章では、LDAPv2 及び LDAPv3 プロトコルのオープンソース実装である OpenLDAP 2.0の設定とその使用法を参照します。
LDAPを使用することの主要なメリットは、 全組織内の情報を中央のレポジットリに統合できる ことです。 例えば、組織内のそれぞれのグループのユーザー一覧を管理するのではなく、LDAPを ネットワーク上のどこからでもアクセスできる中央ディレクトリとして使用します。その上、 LDAPはSecure Sockets Layer (SSL)とTransport Layer Security (TLS)の両方をサポートします ので、機密データを外部の侵入から保護することが出来ます。
LDAPはまた、ディレクトリを収納するバックエンドデータベースを数多く サポートします。これにより、管理者はサーバーが分配する情報のタイプに 最も適したデータベースを起用できる柔軟性を持つことになります。LDAPは また、適切に定義されたクライアントアプリケーションプログラミングインター フェイス(API)を持つ為、LDAP対応のアプリケーションの数は多く、更には その質と量も上昇中です。
短所としては、LDAPは設定が難しいことが挙げられます。
OpenLDAP 2.0は 数多くの重要な機能を含んでいます。
LDAPv3 サポート — OpenLDAP 2.0は、 他の改良と共に Simple Authentication and Security Layer (SASL)、 Transport Layer Security (TLS), 及びSecure Sockets Layer (SSL)を サポートします。LDAPv2以後、プロトコル内の多くの変更は、LDAPに より高度なセキュリティを与えるように設計されています。
IPv6 サポート — OpenLDAP は 次世代のインターネットプロトコルのバージョン 6 に対応して います。
IPC上でのLDAP — OpenLDAP は インタープロセスコミュニケーション(IPC)を使用するシステム内で 通信できます。これで、ネットワーク上で通信する必要がなくなり セキュリティが向上します。
C APIの更新 — これにより プログラマーが LDAPディレクトリサーバーに接続して使用する 方法が向上します。
LDIFv1 サポート — LDAP Data Interchange Format (LDIF)バージョン 1 に 対して、完全に準拠しています。
機能拡張されたスタンドアロンLDAPサーバー — アップデートされたアクセス制御システム、スレッドプーリング、より優れたツール、 その他の機能拡張が行われています。