web-dev-qa-db-ja.com

誰かがLDAPを説明してもらえますか?

「LDAPを使用して従業員情報を読み込むことができますか?」それでも、「Lightweight Directory Access Protocol」というタイトルは、OracleやMSSQLのような物理的なデータベース管理システムではなく、プロトコルと考えています。

だから誰かが私にLDAPが何であるか、それがどのように使用され、そしてそれが基本的にどのように機能するかを説明してもらえますか? LDAPは、さまざまなDBMSからデータを抽出するための単なる標準プロトコルですか?アーキテクチャ図では、LDAPは単にDBとアプリケーションサーバーの間に描かれた矢印でしょうか?

50
Cuga

LDAPは、ユーザーディレクトリを照会するためのプロトコルです。たとえば、Active DirectoryまたはNovell eDirectoryは両方ともLDAPをサポートしています。また、SQLがデータベースを照会するための照会言語であるように、ある程度、そのような照会を行うための構文でもあります。

LDAPコマンドは次のようになります

(givenName =マイク)

そして、ディレクトリ内のすべてのマイクを返します。

35
Serapth

通常、LDAPは認証データベースとして使用されます。 Software-as-a-Serviceとして販売しているCMS製品があるとします。したがって、ユーザーはCMSを取得し、それを保守するなど。

したがって、examplecustomer1.com、examplecustomer2.org、examplecustomer3.net(ドメインごとに1つのソフトウェア)にインストールします。これで、3つのユーザーデータベースを維持できます。そのため、管理者アカウントおよび顧客アカウントとしてすべてのシステムに自分自身を追加します。

次に、LDAPを検出します。製品にLDAPサポートを追加すると、ユーザーの中央データベースが1つになります。独自のユーザー名とパスワードを使用して、すべてのシステムに管理者としてログインできます。 CMSシステムには各ユーザーのユーザーデータベースと権限が含まれていますが、ユーザー名はLDAPデータベースへの参照として使用され、パスワードフィールドはCMSデータベーススキーマから削除されます。

21
raspi

はい、LDAP(Lightweight Directory Access Protocol)はTCP/IP上で実行されるプロトコルです。

MicrosoftのActive DirectoryやSun ONE Directory Serverなどのディレクトリサービスにアクセスするために使用されます。

ディレクトリサービスは、一種のデータベースまたはデータストアですが、必ずしもリレーショナルデータベースではありません。通常、構造ははるかに単純で、名前と値のペアの階層的なコレクションを格納します。 lastName = Smith、firstName = John。

15
wire science

LDAP ISプロトコルですが、私が知っている多くの人々は、「LDAPクエリに応答できる任意のストア」​​を含むようにその意味をオーバーロードするのが好きです。ActiveDirectoryはそのようなストアです。これは、アーキテクトがストアが何であるかをあまり気にしないときに使用され、MySQLかOracleかSQL Serverかを気にしないときに「SQLに保存する」と言うのと同じように使用されます。

6

LDAPはLightweight Directory Access Protocolの略です。これは、分散ディレクトリサービスへのアクセスを提供する拡張可能なオープンネットワークプロトコル標準です。 LDAPは、TCP/IP上で実行されるディレクトリサービスのインターネット標準です。 OpenLDAPと関連サーバーの下には、slapd、クエリが送信されるLDAPデーモンとslurpd、1つのサーバーからのデータが1つ以上のスレーブサーバーにプッシュされるレプリケーションデーモンの2つのサーバーがあります。複数のサーバーで同じデータをホストすることにより、信頼性、スケーラビリティ、および可用性を高めることができます。

検索、追加、削除、変更、名前の変更など、実行できる操作を定義します。操作とデータの伝達方法を定義します。

LDAPは、ユーザー、会社の電話番号、電子メールリストなど、既存のアプリケーション固有の情報をすべて統合する可能性があります。つまり、LDAPサーバーで行われた変更は、このユーザー情報を使用するすべてのディレクトリサービスベースのアプリケーションで有効になります。新しいユーザーに関するさまざまな情報は、Unixアカウント、NTアカウント、電子メールサーバー、Webサーバー、ジョブ固有のニュースグループなどで利用できる単一のインターフェイスを介して追加できます。ユーザーがアカウントを離れると、無効にすることができます単一の操作ですべてのサービスに。

そのため、LDAPは、サービスのような「ホワイトページ」(名前、電話番号、役割など)および「イエローページ」(プリンター、アプリケーションサーバーなどの場所)を提供するのに最も役立ちます。通常、J2EEアプリケーション環境では、ユーザーの認証と承認に使用されます。

5
Toumi

LDAPは、X.500ファミリーのプロトコルの複雑さに対応して作成されたプロトコルです。階層的なディレクトリ構造を表すことを目的としています。 X.500標準はもともと、完全なOSIレイヤースタックで使用することを目的としており、通信業界の要件を満たすために作成されました。 LDAPは、TCP/IPを使用して、追加のオーバーヘッドなしで同様の機能を提供するように設計されました。ウィキペディアでX.500、OSI、およびLDAPに関する情報を見つけることができます。 X.500とOSIは、ほとんどのデータ通信の教科書でも取り上げられています。

4
Kenneth Cochran

LDAPとは:

すべてのLDAPは、MicrosoftがActive Directoryディレクトリサービス用に実装した通信プロトコルであり、他のNTDS.DIT​​ファイルに使用されます。混乱を避けましょう。 NTDS.DIT​​にはActive Directoryデータベースが含まれています。データベースにアクセスするには、通信プロトコルLDAPが必要です。それでおしまい。 NTDS.DIT​​は単純なデータベース、つまりADDSデータベース(Active Director Directory Services)です。どのようにアクセスしますか?

LDAPを使用してアクセスします。

lDAPの簡単な例を使用してみましょう。
C:/users/data.doc

または

LDAP構文

CN =ボブ、OU =ユーザー、DC = Youtube、DC = Com

CN =正規名(オブジェクトまたは名前)

OU =組織単位(Active Directoryのフォルダー)

DC =ドメインコントローラー(場所)

その他の情報:Active Directoryは、NTDS.DIT​​ファイルであるすべてのADオブジェクトを含むX.500標準に基づくデータベースです。

3
LivCool

LDAPは、基本的にディレクトリにアクセスするためのプロトコルです。ここでのディレクトリとは、基本的に組織に存在するユーザーの情報を含むディレクトリを指します。ディレクトリの例には、MicrosoftのActive Directory(AD)およびOracleのInternet Directory(OID)が含まれます。ディレクトリは基本的に、ユーザー認証と承認を一元化することにより、組織のシングルサインオン機能を実装するために使用されます。詳細については、以下のリンクを参照してください。

  1. http://searchmobilecomputing.techtarget.com/definition/LDAP
  2. https://eagledatagistics.com/what-is-enterprise-user-security-eus/
1
Shekhar Kanodia

LDAPは、サーバーからデータを検索するために使用されるインターネットプロトコルです。このプロトコルは、階層ディレクトリ構造から情報を保存および取得するために使用されます。また、LDAPは階層型のデータモデルに従います。簡単に言えば、データがツリーのような構造に格納され、リーフノードが実際のデータを保持する階層型データベースと言えます。

LDAPは、クライアントまたはサーバーでプログラムがどのように機能するかを定義することはありませんが、クライアントとサーバー間の通信に使用されるメッセージのタイプについて詳しく説明します。メッセージは、クライアントが要求した情報、サーバーの応答、およびデータの形式です。これらのメッセージは、TCP/IPプロトコルを介して渡されます。したがって、クライアントとサーバー間の操作完了後にセッション接続を確立して切断する操作が存在するはずです。 LDAPは、大量の読み取り操作と少ない数の書き込み操作が必要な場合に使用できます。たとえば、ユーザー名とパスワードがそれほど頻繁に変更されないことがわかっているユーザー認証。

LDAP操作プロセス

通信を開始するには、クライアントはサーバーとのセッションを作成する必要があります。このプロセスはバインディングと呼ばれます。サーバーにバインドするには、クライアントは、サーバーが参加しているIPアドレスまたはホスト名とTCP/IPポート番号を指定する必要があります。クライアントは、ユーザー名やパスワードなどの資格情報を提供して、サーバーとの適切な認証を保証することもできます。または、クライアントはデフォルトのアクセス権を使用して匿名セッションを作成することもできます。または、両当事者は、データ暗号化などの強力なセキュリティプロセスを使用するセッションを確立できます。セッションが確立されると、クライアントはディレクトリデータに対して目的の操作を実行します。 LDAPでは、読み取り機能と更新機能を提供するため、ディレクトリ情報を管理および照会できます。クライアントは、リクエストの作成が終了するとセッションを閉じます。このプロセスは、バインド解除と呼ばれます。 LDAPモードLDAPは、主に次のようなデータモデルに依存しています。

情報モデルディレクトリには情報の基本単位が含まれており、エントリと呼ばれ、サーバーや人などの現実世界のオブジェクトを表します。エントリには、オブジェクトに関する情報を定義する属性のコレクションが含まれます。各属性には、構文に関連付けられたタイプ、および1つ以上の値が含まれます。次の図は、エントリとその属性、およびそのタイプと値の関係を示しています。

命名モデルLDAPの命名モデルは、エントリがどのように認識され整理されるかを示します。 LDAPでは、エントリはDIT(ディレクトリ情報ツリー)と呼ばれる階層構造またはツリーのような構造に編成されます。エントリは、DN(識別可能な名前)、つまり単一のエントリを明確に識別する一意の名前に従ってDIT内で順序付けられます。

機能モデル
LDAPは、クライアントが要求する操作を定義し、3つのカテゴリに分類できます。彼らです:

   1.  Query which is used to fetch information from a directory. Include operations like search and                   compare.

   2. Update which is used to update the information stored in the directory. Include operations like                add, modify and delete.

   3. Authentication which is  used to connect and disconnect with a server, create access rights and                preserve information. Include operations like bind, unbind and abandon.

セキュリティモデル

In LDAP, the security model relies on the bind operation. Three different bind operations are                possible according to the security mechanisms applied. They are:
  1. 認証なし

    最も簡単な方法ですが、データセキュリティに問題がなく、アクセス制御権限が絡まない場合にのみ適用できます。たとえば、ディレクトリには、誰でも閲覧できるアドレス帳が含まれています。ユーザーがバインドAPI呼び出し中にDNとパスワードのフィールドを空のままにすると、サーバーは自動的に匿名ユーザーセッションを採用し、このタイプのアクセスについて説明した対応するアクセス制御とともにアクセスを許可します。

  2. 基本認証

    基本認証は、LDAPで使用される代替の単純なセキュリティメカニズムであり、HTTPなどの他のいくつかのWeb指向プロトコルで採用されています。このアプローチでは、クライアントはパスワードとDNを入力する方法でLDAPサーバーに対して自身を認証する必要があります。パスワードとDNはネットワーク上でクリアテキストで転送されます。一方、サーバーはDNとパスワードをディレクトリ内のエントリと比較します。パスワードが一致した場合にアクセスを許可します。さらに、クリアテキスト形式のパスワードは機密性を保証できません。したがって、権限のない者にパスワードが開示される可能性があります。

  3. SASL(シンプル認証およびセキュリティレイヤー)

    このフレームワークはLDAP V3に追加され、接続指向プロトコルに追加の認証方法を追加します。このメカニズムは、クライアントとサーバーが何らかのデータを交換して認証を保証し、後続の通信が実行されるセキュリティレイヤーを確立するチャレンジ&レスポンスプロトコルを指定します。 SASLを使用すると、LDAPプロトコルは、LDAPクライアントとLDAPサーバーによって承認されたあらゆる種類の認証をサポートできます。

0
Mukesh

はい、LDAP自体には通常、低レベルのDBストアが必要です。ここで手を汚すことをお勧めします。

OpenLDAPをインストールして試してみたら... http://www.openldap.org/doc/admin22/install.html

...依存関係を考慮する必要があります。

その1つは、この場合はSleepyCatです。

楽しんで。

もっと楽しくするために、ここに分類法に関する哲学的な議論があります: http://archive.oreilly.com/pub/post/ldap_is_not_a_database.html

0
Jonathan Scott