回答:
LDAPとは何かではなく、なぜLDAPを使用するかに焦点を当てます。
使用モデルは、人々が図書館のカードや電話帳を使用する方法と似ています。「書き込み/更新が1回、読み取り/クエリが何度も」必要なタスクがある場合は、LDAPの使用を検討してください。LDAPは、大規模なデータセットに対して非常に高速な読み取り/クエリパフォーマンスを提供するように設計されています。通常は、エントリごとに小さな情報のみを保存します。追加/削除/更新のパフォーマンスは、読み取り/クエリに比べて比較的低速です。これは、頻繁に "更新"を実行しないことが前提であるためです。
毎秒数千のページリクエストを持つ100万人の登録ユーザーがいるWebサイトがあるとします。LDAPを使用しない場合、静的ページを表示する場合でも、ユーザーがページをクリックするたびに、データベースと対話して、このログインセッションのユーザーIDとそのデジタル署名を検証する必要があります。明らかに、ユーザー検証のためのデータベースへのクエリはボトルネックになります。LDAPを使用することで、ユーザー検証を簡単にオフロードして、パフォーマンスを大幅に向上させることができます。基本的に、この例では、LDAPはデータベースの外部の別の最適化レイヤーであり、データベース機能を置き換えるのではなく、パフォーマンスを向上させます。
LDAPはユーザーの検証だけでなく、次のプロパティを持つタスクがLDAPの適切なユースケースになる場合があります。
1つのデータを何度も検索する必要があり、それを高速にしたい
異なるデータ間のロジックと関係を気にしません
データを頻繁に更新、追加、または削除しない
各データエントリのサイズが小さい
これらの小さなデータのすべてを一元化された場所に置いてもかまいません
それはかなり大きな質問です。
LDAPは、ディレクトリにアクセスするためのプロトコルです。ディレクトリにはオブジェクトが含まれます。一般に、ユーザー、グループ、コンピューター、プリンターなどに関連するもの。会社の構造情報(率直に言って、拡張してそこに何でも格納できます)。
LDAPは、ディレクトリ内のオブジェクトを追加、更新、削除するためのクエリメソッドを提供します(さらに多くのオブジェクトですが、それらは中心的なものです)。
LDAPが行わないことは、データベースを提供することです。データベースはLDAPアクセスをそれ自体に提供しますが、その逆ではありません。サインアップだけではありません。
LDAPはLightweight Directory Access Protocolの略です。名前が示すように、これはディレクトリサービス、特にX.500ベースのディレクトリサービスにアクセスするための軽量プロトコルです。LDAPは、TCP / IPまたはその他の接続指向の転送サービスで実行されます。LDAPの要点は、RFC2251「The Lightweight Directory Access Protocol(v3)」および技術仕様RFC3377を構成するその他のドキュメントで定義されています。このセクションでは、ユーザーの観点から見たLDAPの概要について説明します。
ディレクトリにはどのような情報を保存できますか?LDAP情報モデルは、エントリに基づいています。エントリは、グローバルに一意の識別名(DN)を持つ属性のコレクションです。DNは、エントリを明確に参照するために使用されます。エントリの各属性には、タイプと1つ以上の値があります。タイプは通常cn
、一般名やmail
メールアドレスなどのニーモニック文字列です。値の構文は、属性タイプによって異なります。たとえば、cn
属性には値が含まれる場合がありますBabs Jensen
。メール属性には値が含まれる場合がありますbabs@example.com
。あjpegPhoto
属性は、JPEG(バイナリ)形式の写真が含まれています。
情報はどのように整理されていますか?LDAPでは、ディレクトリエントリは階層ツリーのような構造で配置されます。
LDAPの主なアイデアは、ユーザーのすべての情報(連絡先の詳細、ログイン、パスワード、アクセス許可)を1か所に保持することです。これにより、ネットワーク管理者による保守が容易になります。たとえば、次のことができます。
LDAPを使用する主な利点は、組織全体の情報を中央リポジトリに統合できることです。たとえば、組織内の各グループのユーザーリストを管理する代わりに、LDAPをネットワーク上のどこからでもアクセスできる中央ディレクトリとして使用できます。また、LDAPはSecure Sockets Layer(SSL)およびTransport Layer Security(TLS)をサポートしているため、機密データを盗み見から保護できます。
LDAPは、ディレクトリを格納する多くのバックエンドデータベースもサポートしています。これにより、管理者はサーバーが配布する情報の種類に最適なデータベースを柔軟に展開できます。LDAPにも明確に定義されたクライアントアプリケーションプログラミングインターフェース(API)があるため、LDAP対応アプリケーションの数は非常に多く、数量と品質が向上しています。
LDAPは、構造化情報にアクセスするための単なるプロトコルです。LDAPは情報へのローカルおよびリモートアクセスを標準化していますが、データベースの場合、標準化されたローカルアクセスのみがあり、リモートアクセスは独自仕様です。
LDAPサーバーは、検索操作とトランザクション用データベース(挿入/削除)に最適化されています。
詳細については、次のリンクを参照してください。
LDAPの主な用途は、データの高速検索を提供することです。さまざまなアプリケーションから同時にアクセスできるユーザーの詳細を格納するための中央リポジトリとして機能します。
さまざまな時間に読み取られるデータですが、データを更新することはめったにありません。LDAPは、構造が原因でデータを読み取る方が速いため、より優れたオプションですが、LDAPの場合、更新(追加/更新または削除)は少し面倒な作業です。
LDAPによって提供されるセキュリティ:LDAPはSSLおよびTLSで機能するため、機密情報に使用できます。
LDAPは多数のデータベースと連携して動作するため、環境に最適なデータベースを選択するための柔軟性が向上します
LDAPは、構造化された情報にアクセスするためのプロトコル(方法)です。LDAPはクライアントサーバーモデルを使用するため、LDAPクライアントは必要な情報へのアクセスを要求します。LDAPサーバーは、リレーショナルな方法ではなく、属性と値のペアで情報を保存します。LDAPを使用して、ユーザーのグループに同じ特権を割り当てたり、複数のサービスにアクセスしたりするために同じ資格情報を割り当てることができます。詳細については、次のリンクを参照してください:http : //www.zytrax.com/books/ldap/ch2/
Windows Serverでは、LDAPはActive Directoryオブジェクトへのアクセス、ユーザー認証、承認に使用されるプロトコルです。
前に述べたもう1つの定義をもう少し詳しく説明するために、この視点についてはどうでしょうか。
LDAPはLightweight Directory Access Protocolです。DAPはX.500の概念であり、X.500では非常に重いです。(それは一種の完全な7レイヤーISOネットワークスタックを必要とし、これは基本的にIBMのSNAプロトコルのみがこれまでに現実的に実装されたものです)。
DAPには他にも多くのアプローチがあります。NovellにはNDAPと呼ばれるものがあります(NCP Novell Core Protocolsがトランスポートであり、NDAPはディレクトリを読み取る方法です)。
LDAPは、その名のとおり、非常に軽量なDAPです。
LDAPは、資格情報をネットワークセキュリティシステムに保存し、パスワードと復号化されたキーで取得して、サービスにアクセスするためにも使用されます。