LDAPとは?LDAPの仕組みと機能、プロトコル

LDAPとは?LDAPの仕組みと機能、プロトコル

LDAPとは?LDAPの仕組みと機能、プロトコル

LDAP概要

LDAP(Lightweight Directory Access Protocol)とは、ネットワーク機器やユーザーなどの情報を管理する「ディレクトリサービス」へ接続するためのベンダー中立の標準プロトコルです。

ディレクトリサービスは、ユーザー、ファイル、デバイスなど様々なネットワーク内の情報を一元的に管理し、検索などの機能を提供するサービスです。多様なデータを一元管理し、情報を知りたいアプリケーションからの迅速なクエリによる検索機能を提供することで効率よく認証などができるようになります。ディレクトリサービスの例としては、LDAP以外にもDNS(Domain Name System)などが該当します。

LDAPはLightweight とある通り、ITU-T*勧告のX.500 Directory Access Protocolの軽量のサブセットであり、1990年代初頭から利用されています。TCP/IPネットワーク上で動作するように設計されており、インターネットの普及とともに急速に広まりました。LDAPは新しいものではありません。ディレクトリサービスやLDAPのインターフェイスの仕組みを説明した確定的なホワイトペーパーは、2003年に発行されました。かなり古いものですが、LDAPは今日も広く使用されています。
*国際電気通信連合電気通信標準化部門(International Telecommunication Union Telecommunication Standardization Sector、ITU-T)

→Okta Japanの資料請求はこち

LDAPサーバーとは?

LDAPは、その名の通りプロトコル、つまり通信規則です。そのため、LDAP自体が直接データ(ユーザー情報や組織情報など)を持つわけではありません。一方でLDAPをディレクトリサービスとの主要な通信手段とするディレクトリが数多く構築されてきました。多くの場合、これらはLDAPサーバーと呼ばれます。

LDAPは、ネットワーク上のクライアント(ユーザーやアプリケーション)が、LDAPサーバー(データを保持しているシステム)から情報を効率的に検索し、取得するための方法を定めています。データ自体はLDAPサーバーに保存されており、その具体的な形式や内容はサーバーの種類や設定によります

このLDAPサーバーは主に、アプリケーションのユーザーに関する情報ストアとして使用されます。その結果、Active Directory(AD)との違いを比較されることが往々にしてあります。この2つを並べて比較することは正確ではありません(後述)が、Windows環境で詳細なアクセス制御や一元管理が必要な場合はADが、異なるOS間での一貫した情報アクセスが必要な場合はLDAPサーバーが選択されてくる傾向が大きかったと言えるでしょう。

LDAPの仕組み:ディレクトリで保持するデータの特徴

企業は、ユーザー名、パスワード、メールアドレス、プリンター接続などの静的データをディレクトリ内に保存します。LDAPは、そのデータにアクセスしてデータを維持するための、特定のベンダーに偏らないオープンなアプリケーションプロトコルとして利用できます。LDAPは認証にも対応するので、ユーザーは一度サインオンするだけでサーバー上のさまざまなデータにアクセスすることも可能です。

LDAPはプロトコルであるため、ディレクトリサービスそのものの動きには影響されません。その代わりに、プログラミング言語の一形態であることから、ユーザーは必要な情報をすばやく見つけるためのアプリケーションを開発することができます。

LDAPは特定のベンダーに依存しないため、様々なディレクトリサービスに対して使用できます。一般的に、ディレクトリは、リレーショナルデータベースと比較して以下のようなデータの特徴があります

  • 説明的な属性ベースのデータを保持:名前や場所などの複数のポイントの組み合わせにより、データが定義されます。
  • 静的データが多い:通常、書き込まれるよりも読み取られる頻度がはるかに高くなります。ディレクトリは、大量のルックアップまたは検索操作に迅速に応答します。
  • 重要データ:ディレクトリ内に格納されるデータは、ビジネスの中核機能にとって重要であり、繰り返し使用されます。

またLDAPにより、様々なデータへの操作を実行できます。これには以下が含まれます。

  • 追加:データベースに新しいファイルを入力します。
  • 削除:データベースからファイルを取り除きます。
  • 検索:データベース内から目的のものを見つけるため、クエリを開始します。
  • 比較:2つのファイルの類似点または相違点を調べます。
  • 変更:既存のエントリに変更を加えます。

LDAPが他のシステムと連携して使用されることもあります。たとえば、従業員がプリンターへの接続やパスワードの確認でLDAPを使用し、その後にLDAPにまったく依存しないGoogleに切り替えてメールを使用するといったことがあります。

LDAPの仕組み:LDAP処理フローの仕組み

一般的な従業員は、1日に数十回、場合によっては数百回もLDAPに接続します。LDAPクエリを完了するための仕組みは入り組んでおり、複雑ですが、接続が発生したことすら従業員が認識しないほど高速に処理されます。

LDAPクエリでは通常、以下が行われます。

  • セッションの接続:ユーザー(アプリケーション)が、LDAPポート経由でサーバーに接続します。
  • 要求:ユーザー(アプリケーション)が、メールルックアップなどのクエリをサーバーに送信します。
  • 応答:LDAPプロトコルが、ディレクトリに対してクエリを実行し、情報を検索し、この情報をユー