LDAP(エルダップ)とは | 意味や読み方など丁寧でわかりやすい用語解説
LDAP(エルダップ)の意味や読み方など、初心者にもわかりやすいように丁寧に解説しています。
読み方
日本語表記
ライトウェイトディレクトリサービスプロトコル (ライトウェイトディレクトリサービスプロトコル)
英語表記
LDAP (エルダップ)
用語解説
LDAPは、Lightweight Directory Access Protocolの略称であり、ネットワーク上に存在するディレクトリサービスへアクセスするための通信規約、すなわちプロトコルである。ディレクトリサービスとは、ユーザー情報、コンピュータ情報、プリンターといったネットワーク上の資源に関する情報を一元的に管理するためのデータベースのような仕組みを指す。このディレクトリサービスは、情報を階層的なツリー構造で管理する点に大きな特徴がある。LDAPは、このディレクトリサービスに対して、情報の検索、追加、更新、削除といった操作を行うための標準的な手段を提供する。企業や組織において、複数のシステムが乱立すると、ユーザー情報も各システムで個別に管理され、管理が煩雑になりがちである。LDAPを利用してディレクトリサービスに情報を集約することで、情報の一元管理が実現し、管理コストの削減やセキュリティの向上に繋がる。例えば、あるユーザーのパスワードを変更する際、一箇所のディレクトリサービスで変更すれば、その情報を参照するすべてのシステムに反映されるため、効率的かつ安全な運用が可能となる。
LDAPの詳細を理解するには、そのデータ構造と通信の仕組みを知ることが重要である。LDAPはTCP/IP上で動作するクライアントサーバーモデルのプロトコルであり、クライアントがLDAPサーバーに要求を送信し、サーバーが応答を返すことで通信が成立する。データは、DIT(Directory Information Tree)と呼ばれるツリー構造で管理される。このツリーを構成する個々のデータをエントリと呼ぶ。各エントリは、例えば一人のユーザーや一つのコンピュータといった、特定のオブジェクトを表す。すべてのエントリは、ツリー構造内での自身の位置を示す一意の識別名を持っており、これをDN(Distinguished Name)と呼ぶ。DNは、ツリーの最上位からそのエントリまでのパスを記述したもので、例えば「dc=com,dc=example,ou=users,uid=taro.yamada」のように表現される。このDNは、複数の要素から構成されており、自身の親エントリ内で一意となるRDN(Relative Distinguished Name)、ドメイン名の一部を示すDC(Domain Component)、組織の部署などを示すOU(Organizational Unit)、一般的な名称を示すCN(Common Name)などがある。
個々のエントリは、複数の「属性」と「値」のペアの集合体で構成される。属性は、そのエントリが持つ情報の種類を定義するものであり、例えばユーザーエントリであれば、氏名を示すcn、姓を示すsn、メールアドレスを示すmail、パスワードを格納するuserPasswordといった属性を持つ。そして、それぞれの属性に対して具体的な情報が「値」として格納される。例えば、「cn: Taro Yamada」や「mail: taro.yamada@example.com」といった形式でデータが保持される。ディレクトリにどのような種類のエントリを格納でき、各エントリがどのような属性を持つことができるかは、「スキーマ」によって厳密に定義されている。スキーマは、ディレクトリ全体のデータ構造を規定する設計図の役割を果たし、オブジェクトクラス(ユーザーやグループといったエントリの種類)や、そのオブジェクトクラスが持つべき必須属性、持ってもよい任意属性などを定義する。このスキーマがあるおかげで、ディレクトリ内のデータは一貫性と整合性が保たれる。
クライアントがLDAPサーバーに対して行う操作には、いくつかの種類が定義されている。代表的な操作として、まずサーバーに接続して認証を行う「Bind」がある。次に、指定した条件に合致するエントリを探し出す「Search」、新しいエントリを追加する「Add」、既存のエントリの属性や値を変更する「Modify」、エントリを削除する「Delete」がある。そして、通信を終了する際には「Unbind」操作を行う。これらの標準化された操作を通じて、様々なアプリケーションが統一された方法でディレクトリ情報にアクセスできる。LDAPを実装したサーバーソフトウェアとしては、オープンソースのOpenLDAPや、Microsoft Windows Serverが提供するActive Directoryが広く知られている。Active Directoryも内部的にLDAPプロトコルを利用してディレクトリ情報へのアクセスを可能にしている。LDAPの活用例は多岐にわたり、複数のアプリケーションで共通のIDとパスワードを利用可能にする統合認証基盤の構築、メールソフトのアドレス帳の共有、サーバーやネットワーク機器へのアクセス制御など、現代のITインフラにおいて不可欠な役割を担っている。システムエンジニアにとって、LDAPはユーザー管理や認証の仕組みを理解する上で基礎となる重要な技術である。