LDAPとは、ディレクトリサービスにアクセスするプロトコルのことである。
ディレクトリサービスのネットワーク規格であるX.500では、ネットワーク上のユーザー情報や、マシン情報などを一元管理して、検索をはじめとするさまざまな機能が容易に行えるようになっている。
このX.500のプロトコルの1つにDAP(Directory Access Protocol)がある。しかし、DAPは、複雑な仕様であるため、インターネットでの使用には適さない。そこで、X.500プロトコルをサポートするディレクトリサーバにおいて、DAPを補完する目的でLDAPが規定された。
LADPは、1993年に規定され、1997年に性能向上と分散化を目的としてLDAPv3が規定された。
| 名前 | デフォルト | 変更の可否 | 変更履歴 |
|---|---|---|---|
| ldap.max_links | "-1" | PHP_INI_SYSTEM |
<?php
// LDAP の基本シーケンスは、接続、バインド、検索、検索結果の解釈、
// 接続のクローズです。
echo "<h3>LDAP query test</h3>";
echo "Connecting ...";
$ds=ldap_connect("localhost"); // 有効な LDAP サーバーに違いない!
echo "connect result is " . $ds . "<br />";
if ($ds) {
echo "Binding ...";
$r=ldap_bind($ds); // これは "匿名" バインドで、通常は
// 読みこみのみのアクセスとなります。
echo "Bind result is " . $r . "<br />";
echo "Searching for (sn=S*) ...";
// 名前(surname)エントリを検索
$sr=ldap_search($ds, "o=My Company, c=US", "sn=S*");
echo "Search result is " . $sr . "<br />";
echo "Number of entires returned is " . ldap_count_entries($ds, $sr) . "<br />";
echo "Getting entries ...<p>";
$info = ldap_get_entries($ds, $sr);
echo "Data for " . $info["count"] . " items returned:<p>";
for ($i=0; $i<$info["count"]; $i++) {
echo "dn is: " . $info[$i]["dn"] . "<br />";
echo "first cn entry is: " . $info[$i]["cn"][0] . "<br />";
echo "first email entry is: " . $info[$i]["mail"][0] . "<br /><hr />";
}
echo "Closing connection";
ldap_close($ds);
} else {
echo "<h4>Unable to connect to LDAP server</h4>";
}
?>
出典: フリー百科事典『ウィキペディア(Wikipedia)』 (2025/06/15 02:38 UTC 版)
|
|
この記事には参考文献や外部リンクの一覧が含まれていますが、脚注による参照が不十分であるため、情報源が依然不明確です。
|
| TCP/IP群 |
|---|
| アプリケーション層 |
|
| トランスポート層 |
| カテゴリ |
| インターネット層 |
| カテゴリ |
| リンク層 |
| カテゴリ |
LDAP(エルダップ、Lightweight Directory Access Protocol、ライトウェイト ディレクトリ アクセス プロトコル)は、ディレクトリ・サービスに接続するために使用される通信プロトコルの一つ。
ITU勧告X.500モデルをサポートするディレクトリに対するアクセスを提供するために設計された。 一方で、X.500ディレクトリアクセスプロトコル(Directory Access Protocol : DAP)の資源要求は課されない。 本プロトコルは、特にディレクトリに対する対話的な読み込み/書き込み(read/write)アクセスを提供する管理アプリケーションやブラウザアプリケーションを対象とする。 X.500プロトコルをサポートするディレクトリと共に使用する際に、X.500のDAPを補完するものとなることが意図されている。
コンピュータネットワークでは、ネットワークを構成する機器が多くなるにつれて扱うべきネットワーク・リソースが増大する。 DAP が登場した背景には、個々に異なるディレクトリ・サービスを扱うよりも、統一されたプロトコルで拡張可能な情報にアクセスする方法が求められるようになったことが挙げられる。 上述の X.500 シリーズは、分散可能な統合案内サービスとして優れた機能を有していたものの、DAP が複雑なため処理が重たく、TCP/IP によるインターネットでは使用されにくいという欠点があった。
「X.500の90%の機能を10%のコストで実現する」というキャッチフレーズのもと、DAPの問題点を洗い出し、再設計が行われたLDAPv2がIETFによって RFC 1777 として標準化された。LDAPv2 では、LDAP サーバは X.500 のフロントエンドとして機能し、分散化は X.500 が担っている。
LDAPv2は、その後分散化を実現するLDAPv2+、さらに国際化やセキュリティ強化がなされたLDAPv3( RFC 2251)へと進化している。
LDAP の処理系は、OpenLDAP により、オープンソースで提供されているものをはじめ、各種の製品が存在している。
LDAPはX.500のDAPを軽量化したものである。
しかし、X.500ではDAP以外にDSP,DOP,DISPといったプロトコルが規定されている。
つまりLDAPにはこの3つのプロトコルが存在しないことになる。
X.500のDAPはOSI各層の標準プロトコルを使用する。
LDAPはTCP/IPの上に実装されるため、DAPにあるROSE,RTSE,ACSEを実装していない。
(これらの機能はTCP/IPの中で実装されているのでLDAPでは不要)