LDAP((Lightweight Directory Access Protocol))

参考サイト

qiita.com

LDAPは正式名称はLightweight Directory Access Protocolという。ディレクトリデータベースへアクセスするためのプロトコル。「ディレクトリサービスへとアクセスするためのプロトコル」である。

ディレクトリサービスとはネットワークに接続したサーバー、プリンター、アプリケーションなどの資源(リソース)の所在・属性・設定などの情報を効率的に収集し、記録・管理するサービスのことである。また、その機能を提供するコンピューターやソフトウェアを「ディレクトリサーバー」という。ネットワーク上の資源の情報を一元管理するので、大規模なネットワークでの使用が多い。

ディレクトリサービスは、資源名、ホスト名、IPアドレス、アクセス権限、アイデンティティ情報などのディレクトリ情報に基づいてユーザーやアプリケーションから資源へのアクセスをコントロールするのが目的である。

ディレクトリサービスにアクセスするための通信プロトコルとして、LDAPが標準で用いられている。LDAPを実装すれば1台のクライアントから複数のディレクトリサーバーにアクセスすることが可能だ。

有名なソフトウェアにSun Microsystemsの「NIS(Network Information Service)」、Appleの「Open Directory」、マイクロソフトの「Active Directory」など。

LDAPの主な機能

  • Linuxのシステムアカウント情報の一元化 => 多数のLinuxクライアントがある場合、1台1台にIDパスワード情報を入れることなく、LDAPサーバ1台だけに登録すれば、どのLinuxクライアントからも同じIDとパスワードでログインできる
  • Linuxサーバの各種アプリでのIDパスワード統一化 => ログインが必要なWebアプリサーバのIDパスワード情報を統一化することができ、発展形として、シングルサインオンも実装することができる
  • 社員情報の共有 => LDAPサーバに氏名やメールアドレス等の情報を格納し、別のLinuxサーバにCybozu等のグループウェアサーバをインストールし利用することで共有することができる。 また、グループウェアサーバー側にアカウント設定を行うことなく、LDAPサーバーに登録するのみでアカウントの生成等も行うことができる

LDAPの具体的な機能と仕組み

クライアントはLDAPサーバに接続、属性(個人名や部署名など)で構成するエントリ(関連属性のまとまり)の検索、追加、削除の操作を行う。

DIT(Directory Information Tree)というツリー構造のデータ形式で情報を管理されている。 ツリーにはエントリという単位で情報が登録され、一つのエントリにはLDAP識別名が一意に定められている。