LDAP(Lightweight Directory Access Protocol)とは、ユーザーやコンピューターの情報に対するアプリケーションからの迅速なクエリを可能にするプロトコルです。
例えばオフィスで、最近の採用者にメールを送信し、その会話のコピーを新しいプリンターで印刷するという2つの操作を実行したい場合を考えてみましょう。LDAP(Lightweight Directory Access Protocol)により、これらの手順が両方とも可能になります。
適切にセットアップすれば、IT部門に連絡をとらずにタスクを完了できます。
LDAPとは? LDAPの仕組み
企業は、ユーザー名、パスワード、メールアドレス、プリンター接続などの静的データをディレクトリ内に保存します。LDAPは、そのデータにアクセスしてデータを維持するための、特定のベンダーに偏らないオープンなアプリケーションプロトコルです。LDAPは認証にも対応するので、ユーザーは一度サインオンするだけでサーバー上のさまざまなファイルにアクセスできます。
LDAPはプロトコルであるため、ディレクトリプログラムの動作を指定しません。その代わりに、言語の一形態であることから、ユーザーはこれを使用して必要な情報をすばやく見つけることができます。
LDAPは特定のベンダーに依存しないため、様々なディレクトリプログラムで使用できます。一般的に、ディレクトリには以下のようなデータが含まれます。
- 説明:名前や場所などの複数のポイントの組み合わせにより、資産が定義されます。
- 静的:情報はあまり変化せず、変化する場合も捉えがたい程度です。
- 貴重:ディレクトリ内に格納されるデータは、ビジネスの中核機能にとって重要であり、繰り返し使用されます。
LDAPが他のシステムと連携して、業務時間中を通じて使用されることもあります。たとえば、従業員がプリンターへの接続やパスワードの確認でLDAPを使用し、その後にLDAPにまったく依存しないGoogleに切り替えてメールを使用するといったことがあります。
LDAPは新しいものではありません。ディレクトリサービスやLDAPのインターフェイスの仕組みを説明した確定的なホワイトペーパーは、2003年に発行されました。かなり古いものですが、LDAPは今日も広く使用されています。
LDAPプロセスの仕組み

平均的な従業員は、1日に数十回、場合によっては数百回もLDAPに接続します。クエリを完了するための仕組みは入り組んでおり、複雑ですが、接続が発生したことすら従業員が認識しないことがあります。
LDAPクエリでは通常、以下が行われます。
- セッションの接続:ユーザーが、LDAPポート経由でサーバーに接続します。
- 要求:ユーザーが、メールルックアップなどのクエリをサーバーに送信します。
- 応答:LDAPプロトコルが、ディレクトリに対してクエリを実行し、情報を検索し、この情報をユーザーに配信します。
- 完了:ユーザーがLDAPポートから切断します。
検索は単純に見えますが、このLDAPの機能を可能にしているのは大量のコーディングです。開発者は、検索のサイズ制限、サーバーが処理に費やすことのできる時間、検索に含めることができる変数の数などを決定する必要があります。
企業から企業へと渡り歩き、各所でLDAPによる検索を実行する人もいるかもしれません。ですが、検索の動作や機能の仕組みはLDAPの構成次第で大きく異なることがあります。
検索を開始する前に、LDAPはユーザを認証する必要があります。その処理には、以下の2つの方法があります。
- シンプル:正しい名前とパスワードにより、ユーザーをサーバーに接続します。
- シンプル認証およびセキュリティ層(SASL):Kerberosなどのセカンダリサービスは、ユーザーが接続する前に認証を実行します。これは高度なセキュリティを必要とする企業にとって、望ましい選択肢となります。
一部のクエリは企業の社屋で発生しますが、モバイルデバイスや家庭用コンピューターで開始されるクエリもあります。大部分のLDAP通信はスクランブルや暗号化なしで送信されるため、セキュリティ上の問題が発生する可能性があります。LDAPメッセージの安全性を確保するために、大部分の企業はトランスポート層セキュリティ(TLS)を使用しています。
LDAPにより、あらゆる種類の操作を実行できます。これには以下が含まれます。
- 追加:データベースに新しいファイルを入力します。
- 削除:データベースからファイルを取り除きます。
- 検索:データベース内から目的のものを見つけるため、クエリを開始します。
- 比較:2つのファイルの類似点または相違点を調べます。
- 変更:既存のエントリに変更を加えます。
LDAPに関連する重要用語
一般的なコンピューターユーザーは、LDAPの細かな仕組み、機能を把握する必要はありません。しかし、ネットワークのセキュリティやアクセスを担っている場合には、中心的な概念と構造について深く理解している必要があります。そして、初心者にとって、LDAPを説明するために使用される言語は不可解なことがあります。
LDAPについて学び始めると遭遇する一般的な用語には、以下が含まれます。
- データモデル:ディレクトリにはどのような種類の情報が含まれるのでしょうか。LDAPの側面を理解するのに役立つのがモデルです。モデルにより、一般的な情報(オブジェクトクラスなど)、名前(各アイテムが一意に参照される方法)、関数(データへのアクセス方法)、セキュリティ(ユーザーが認証する方法)が提供されます。
- 識別名(DN):各エントリの一意の識別子であり、情報ツリー内の場所も示します。
- 変更:LDAPユーザーがエントリーに関連付けられたデータを変更するために行う要求です。定義された変更タイプには、追加、削除、置換、増加が含まれます。
- 相対識別名(RDN):DN(識別名)を結びつけ、相対的な位置を指定する方法です。
- スキーマ:LDAPの基盤となるコーディングはスキーマと呼ばれます。この言語を使用して、サーバー上にある各項目の形式と属性を記述します。
- URL:サーバーのアドレスとポートを含む文字列です。さらに、グループを定義し、ロケーションを提供し、別のサーバーに対する操作を参照できるその他のデータも含みます。
- 統一資源識別子(URI):リソースを定義する文字列です。
上記は、LDAPプロトコルを適切に実装するために習得する必要がある言語のヒントにすぎません。しかし、LDAPはオープンソースのプロトコルであるため、豊富なドキュメントを活用して短期間で高度なコーディングを習得できます。
LDAPとActive Directory
LDAPとActive Directoryを同じ意味で使用している人もいますが、そのために大きな混乱が生じます。これら2つのツールは連携しますが、同じものではありません。
Active Directoryは、コンピューター、プリンター、ユーザーなどのIT資産を編成するために使用される独自のディレクトリツールです。Microsoft製品であるため、一般的にWindows環境内で使用されます。Windowsをネットワーク上で使用したことがある場合、このシステムがデータの一部を支えます。
LDAPはActive Directoryを読み取ることができるプロトコルですが、Linuxベースのプログラムなど、他のプログラムでも使用できます。特定のベンダーに依存しないプロトコルとして、このツールを使用してWindowsとは関係のないあらゆる種類の製品を操作できます。
このように、LDAPとActive Directoryは連携してユーザーを支援します。つまり、2つは互いに競合するものではなく、また完全に同じ機能を提供するものでもありません。
LDAPとOkta
LDAPは、重要なファイルへのアクセスを支援します。しかし、データは機密であることから、悪意ある行動をとる可能性のある人々から情報を保護することが重要です。ハイブリッド環境でデータの一部をクラウドに保持している場合、リスクはさらに高くになります。
Oktaは、この重要情報の保護を支援します。その方法をご確認ください。
参考文献
What's LDAP?(LDAP Linux HOWTO)
A History and Technical Overview of LDAP(LDAP.com)
The LDAP Search Operation(LDAP.com)
Configuring Active Directory for LDAP Authentication(IBM)
rel=" noopener noreferrer" target="_blank"Basic LDAP Concepts(LDAP.com)
LDAP URLs(LDAP.com)
Understanding LDAP Schema(LDAP.com)
How to Make Your Company's Single Sign-On Implementation as Smooth as Possible(2016年7月、Forbes)
Active Directory Domain Services Overview(2017年5月、Microsoft)
Understanding Active Directory(2018年3月、Medium)
What Is LDAP Authentication?(2018年7月、Houston Chronicle)
Identity Awareness Works Hand In Glove With Digital Transformation(2020年4月、Forbes)