LDAP—ディレクトリサービス

目次

36.1. LDAPとNISの比較
36.2. LDAPディレクトリツリーの構造
36.3. slapd.confを使用したサーバの設定
36.4. LDAPディレクトリのデータ処理
36.5. YaSTによるLDAPサーバの設定
36.6. YaSTを使ったLDAPクライアントの設定
36.7. YaSTでのLDAPユーザおよびグループの設定
36.8. LDAPディレクトリツリーの参照
36.9. 詳細情報

概要

LDAP (Lightweight Directory Access Protocol)は、情報ディレクトリへのアクセスと管理を行うために設計されたプロトコルセットです。LDAPは、ユーザおよびグループ管理、システム構成の管理、アドレス管理など、さまざまな目的に使用できます。この章では、OpenLDAPの動作原理とYaSTを使用したLDAPデータの管理方法の基本事項について説明します。LDAPプロトコルには複数の実装方法がありますが、この章ではもっぱらOpenLDAPの実装を中心に説明します。

ネットワーク環境では、重要な情報をすぐに利用できるように整理しておくことは不可欠です。そのため、一般的に使用されているイエローページのようなディレクトリサービスを使用して、情報を整理し、すぐに検索できる形式にしておくことができます。

理想的なケースは、一元的なサーバでデータをディレクトリに保持し、特定のプロトコルを使用してそれをすべてのクライアントに配布するという形態です。データはさまざまなアプリケーションがアクセスできる方法で整理されます。この方法では、個々のカレンダツールや電子メールクライアントが独自のデータベースを持つ必要はありません。一元的なリポジトリにアクセスすればよいためです。これにより、情報管理のための負荷も大幅に軽減されます。LDAP (lightweight directory access protocol)のようなオープンで標準化されたプロトコルを使用すれば、可能な限り多くの異なるクライアントアプリケーションが、このような情報にアクセスできるようになります。

この文脈でのディレクトリとは、高速かつ効果的に読み込みと検索ができるように最適化された一種のデータベースです。

LDAPなどのディレクトリサービスの設計には、複雑な更新やクエリメカニズムのサポートは含まれません。このサーrスにアクセスするすべてのアプリケーションが、すばやく簡単にアクセスできることが主な課題です。

LDAPとNISの比較

Unix系システムの管理者は、従来から、ネットワーク内の名前の解決やデータ配信にNISサービスを使用しています。設定データは/etc内のファイルに保存され、grouphostsmailnetgroupnetworkspasswdprintcapprotocolsrpc、およびservicesの各ディレクトリは、ネットワーク内の複数のクライアントに分散されています。これらのファイルはシンプルテキストファイルのため、保守にそれほどの手間はかかりません。しかし、構造化されていないため、大量のデータを処理することがますます困難になっています。NISはUnix系プラットフォーム専用に設計されています。このため、異種ネットワークでの一元的データ管理には採用できません。

LDAPサービスはNISと異なり、純粋なUnix系ネットワークに制限されていません。Windowsサーバ(2000以降)は、LDAPをディレクトリサービスとしてサポートします。前述のアプリケーションタスクは、Unix系以外のシステムでもサポートされます。

LDAPの原則は、一元管理が必要なあらゆるデータ構造に適用可能です。いくつかの例を次に示します。

  • NISサービスの代替としての採用

  • メールルーティング(postfix、sendmail)

  • Mozilla、Evolution、およびOutlookなどのメールクライアント用アドレス帳

  • BIND9ネームサーバのゾーン記述の管理

  • 異種ネットワークでのSambaのユーザ認証

LDAPはNISと異なり拡張できるため、これら以外にも広範な用途が考えられます。データが明確に定義された階層構造になっているため、検索が容易であり、大量データの管理が簡単になります。