LDAPとは?仕組みや機能、メリットまで理解するためのガイド
HC

橋爪兼続
Jul 25, 2023
LDAPとは何か?
会社の資源を管理する上でLDAPを活用するケースが増えてきました。 しかし、「会社でLDAPを活用している事は知っているけど仕組みを全く理解していない」という人も中にはいると思います。 本記事は、LDAPを理解するための知識から仕組みや機能等を詳しく解説します。 LDAPの導入をこの先検討している方もぜひご覧ください。

LDAP( Lightweight Directory Access Protocol)とは、ネットワーク内のディレクトリサービスを維持またはアクセスする目的で作られた標準プロトコルの事です。
一般的にLDAPと言う場合、プロトコルの仕組みよりも、LDAPサーバーを指すことが多いです。LDAPサーバーの意味として利用される場合は、簡易的なデータベースのような意味として使われることがあります。
プロトコルとしてのLDAPは、ユーザー名、パスワード、メールアドレスなどの静的データをディレクトリ内に保存します。ディレクトリ内に保存された、ユーザー名、パスワード、メールアドレスなどの静的データにアクセスしてデータを維持するためのアプリケーションです。LDAPはユーザー認証にも対応しており、ユーザーは一度サインインするだけでサーバー上のファイルにアクセスできる仕組みです。
豆知識:ディレクトリサービスとは
ディレクトリサービスとは、ネットワークにおける資源とその場所や属性、設定等の情報を集め、記録し、検索をできるようにしたシステムを指します。 一方、LDAPサーバはIPネットワーク上でプロトコルによってクライアントと通信し、ディレクトリへのデータの登録や削除を行ったり、登録済みのデータについて問い合わせや検索などを受け付けることができます。

LDAPの仕組みと機能
LDAPは主にLDIF(LDAP Interchange Format)というドキュメントで管理されます。 DBと違い、「テーブル構造」ではなく「ツリー構造」でデータの管理を行う仕組みです。 LDAPでは以下の3つの要素を階層として管理し、アクセス権限の設定を行います。
DC(Domain Component)
ドメイン名の構成要素OU(Organization Unit)
ファイルシステムに例えるとフォルダのようなものであり、利用者が格納するオブジェクト
CN(Common Name)
人や機械等の資源
そして、LDAPではサーバーにある資源を判別するために人や機械などのオブジェクトを判別することのできるDN(Distinguish Name)を活用し、エントリーに様々な属性を意義づけることが可能です。
こうしてLDAPは、「ツリー構造」の仕組みを利用し、資源を判別・保管することで、検索等を簡単に実施できるようにします。

LDAPを活用するメリット4つ
ここまでで「LDAPの仕組みや機能は理解できたけど、メリットについて知りたい」と考える人もいると思います。ここでは、LDAPを活用することで得られるメリットについて4つ紹介していきます。
機能を拡張でき、性能の向上ができる
LDAPは、利用者のログイン情報に限らず社内の情報やPC・コピー機・モバイル端末等、様々な資源の管理を行う事ができます。
アドレス帳としても活用でき、自在に機能の幅を広める事ができる所が魅力的です。
あらゆるOSに対応できる
LDAPは、たくさんの利用者がいるWindowsに限らず、macOSやLinux等あらゆるOSに活用できます。
例えば、会社内でもWindowsやmacOSなど様々なOSを扱う環境であってもLDAPで一括管理できます。
セキュリティが強く安全
LDAPは、資源へのアクセス権を細かく分類する事ができます。
例えば、ある拠点の利用者のみがアクセス可能な環境で、利用者Xは閲覧のみ、利用者Yは閲覧と挿入、削除、更新まで行えるように設定できます。
アクセス権を細かく設定することでセキュリティリスクの低減につなげられます。
サーバーの負荷を低減できる
LDAPでは、サーバーに負荷を集中させないために資源のコピーを作るレプリケーション機能が備わっています。
そのため、ネットワークへのアクセス応答時間が長くなることを防いだり、もしもの時のバックアップとして活用できます。

LDAPの安全性について
続いてLDAPの安全性はどうでしょうか。
結論から話すと、LDAPの安全性は基本的にその他のプロトコルと同じで”実装状態”に依存します。
LDAPをセキュリティリスクの低減を意識しつつ安全に活用するためにも下記の内容に気をつけましょう。
LDAPの送受信はSSLやTLSで暗号化を行う
LDAP認証を実行する場合ハッシュ関数を利用アクセス権の規約を設定(挿入、削除は責任者のみ等)
サーバー 一つに問題が生じ、全体の作業が滞ってしまわないようバックアップをできる限り多く取っておく
FW(ファイヤーウォール)を活用し、不正なアクセスをブロックするなど管理する
ディレクトリへのログを証拠として残しておき、おかしい所がないか確認を行う
LDAP認証とは?
LDAP認証は、OpenLDAP、Active Directory等のサービスに記録された利用者名とPW(パスワード)の確認を行うプロセスを指します。
責任者は、ディレクトリの中で利用者アカウントを作り、権限を与える事ができます。
利用者が資源へアクセスを試みると、リクエストが認証サーバーへ送付されます。
LDAPサーバーでは、送られてきた利用者名とPWを、ディレクトリの中の情報と照らし合わせます。
情報が一致した場合、サーバーはリクエストを送った資源にアクセスを行う為の認証を利用者が実施したかどうかをチェックします。

Active Directoryとの違い
LDAPは、Microsoft社のActive Directoryと比較される事が多いですが、具体的にどの部分が異なるのか見ていきましょう。
まず、Active Directoryについて簡単に説明します。
Active Directoryは、利用者、PC、コピー機等のIT資産を構成するために活用され、ほぼ全てのMicrosoft Officeやサーバーと統合されるMicrosoftの製品です。
ここで、LDAPと特に異なる点を見ていきます。
この二つに関して一番異なる点は、大規模なアプリケーションの実装に向いているかどうかです。
LDAPは、無線通信プラットフォームで実施される大規模なサブスクライバー クエリ等、非常に広い規模のアプリケーションの実装に向いています。
例えば、以前有名なSNSであるTwitterの利用者認証に活用されていました。
Twitterは世界でもかなり多くの人が活用しているため、認証も大規模になります。
このようにLDAPは大規模なアプリケーションへの適用に向いています。
反対に、Active Directoryは設計上大規模な実装には不向きです。
その代わり、Microsoftの製品ベースでアクセス管理を目的とする場合にLDAPより適しています。
仮想LDAP(VLDAP)とは?
仮想LDAPはクラウドでホストおよび管理されるLDAPです。これを使用すると、組織は社内LDAPサーバを実行および維持することなく、クラウド対応LDAPアプリケーションを構築できるようになります。あらゆるアプリケーションおよびサービスは、クラウドにホストされたLDAPディレクトリと統合できます。

LDAPの関連重要用語7つ
最後にLDAPをこれから導入を考えている方が覚えておくべき重要な用語を7つ紹介します。
データモデル
データモデルによって、オブジェクトクラス等の一般データ、関数、セキュリティ(利用者の認証法)が渡されます。
識別名(DN)
各エントリの一意の識別子であり、情報ツリー内の場所も示します。
変更
挿入、削除、置換、増加等の変更を実施するための要求です。
相対識別名(RDN)
識別名を紐付けて、相対的な場所を定める手法です。
スキーマ
サーバーにおける各事項の形式と属性を書き表します。
URL
サーバーのアドレス情報とポートを含んだ文字列です。
ロケーションを与え、別のサーバーへの操作を参照できるその他のデータも含みます。
URI
URIは「Uniform Resource Identifier」の略で、Web上にあるあらゆるファイルを認識するための識別子の総称で、URNとURLで構成されています。

まとめ
本記事は、LDAPについて詳しく解説をしましたが、おそらく初めて聞く方にとっては難しい内容だったのではないしょうか。
LDAPは、組織の様々な資源を管理する上でとても便利です。
大規模なアプリケーションで利用者の管理等を行いたい場合に活用するのがおすすめです。
仕組みや機能についてよく理解してから活用するようにしましょう。

執筆者:
橋爪兼続
ライトハウスコンサルタント代表。2013年海上保安大学校本科第Ⅲ群(情報通信課程)卒業。巡視船主任通信士を歴任し、退職後、大手私鉄の鉄道運行の基幹システムの保守に従事。一般社団法人情報処理安全確保支援士会の前身団体である情報処理安全確保支援士会の発起人。情報処理安全確保支援士(第000049号)。
他の記事

