【えるだっぷさーば】

LDAPサーバ とは?

最終更新:
💡 社内のユーザー・グループ情報を一元管理する「組織の電話帳サーバ」

LDAP(Lightweight Directory Access Protocol)を使ってユーザー情報・グループ・組織構造を管理するディレクトリサービス。Active DirectoryはLDAPを利用した代表的な実装。

📌 このページのポイント
LDAP:ディレクトリへのアクセス アプリ LDAPサーバ 検索・更新 Bindによる 認証など LDAPの要求 許可された応答 ディレクトリの階層の例 dc=example,dc=com ou=users ou=groups 認証情報はTLSなどで通信を保護
LDAPでアプリが情報を参照する例。Bindは認証のための操作です。各システムの連携・アクセス権限・SSOの仕組みは別途設計します。
ひよこ ひよこ
LDAPサーバって何?
ペンギン先生 ペンギン先生
名前やメールアドレス、所属グループなどをディレクトリにまとめ、LDAPで検索や更新を受け付けるサーバだよ。電話帳のようなイメージだけど、アプリは許可された範囲の情報だけを取得するんだ。認証のためのBind操作もあるよ。
ひよこ ひよこ
Active DirectoryとLDAPって違うの?
ペンギン先生 ペンギン先生
LDAPは通信仕様、Active Directory Domain ServicesはMicrosoftのディレクトリサービスだよ。AD DSはディレクトリの検索に加え、認証・アクセス制御・複製なども扱うんだ。LDAPと製品全体を同じものとして扱わないようにしよう。
ひよこ ひよこ
どんな場面で使うの?
ペンギン先生 ペンギン先生
各アプリが同じディレクトリを参照することで、社員情報や認証情報をまとめて管理できるよ。ただし各システムの連携設定や権限付与は別に必要。登録や削除だけで全てのアクセスが自動的・即座に切り替わるとは限らないし、SSOには別の仕組みも使うんだ。
ひよこ ひよこ
LDAPインジェクションって何?
ペンギン先生 ペンギン先生
入力をそのまま検索条件に組み込むと条件を改ざんされる攻撃だよ。検索フィルタ用とDN用ではエスケープ規則が違うので、用途に合ったライブラリや安全なAPIを使う。入力検証と最小権限も組み合わせるんだ。SQL用の処理をそのまま使えばよいわけではないよ。
ひよこ ひよこ
接続で気をつけることは?
ペンギン先生 ペンギン先生
パスワードなどを送る場合は通信を保護し、サーバーの証明書を検証するんだ。LDAPにはStartTLSでTLSを開始する方法があるよ。ポート番号だけで通信が安全かは判断できないので、クライアントとサーバーの設定を確認しよう。
ペンギン
まとめ:ざっくりこれだけ覚えればOK!
「LDAPサーバ」って出てきたら「LDAPでユーザーやグループなどの情報を参照・管理できるディレクトリサーバ」と思えればだいたいOK!
📖 おまけ:英語の意味
「LDAP Server / Lightweight Directory Access Protocol Server」 = 軽量ディレクトリアクセスプロトコルサーバ
💬 LDAPはディレクトリへアクセスする通信仕様。ユーザーだけでなく組織や機器などのエントリを扱い、X.500のディレクトリモデルを利用しているよ。

参考資料

← 用語集にもどる