このセクションでは、Lightweight Directory Access Protocol (LDAP) とは何か、それがどのように動作するのかに関する質問について説明し、X.500 と LDAP の高度な概要を示します。
LDAP は中央 X.500 または LDAP ディレクトリー・サーバー上に担当者、グループ、またはオブジェクトに関する情報を保管し、取得する手段を提供する標準プロトコルです。X.500 では、さまざまな属性を使用する複数の Web サーバーで、LDAP を使用して情報を編成し、照会することができます。LDAP クエリーは、希望する個々のエンティティーまたはグループのエンティティーを識別するために、必要に応じて、単純または複雑である可能性があります。LDAP は、元の X.500 Directory Access Protocol (DAP) の機能サブセットのみを含めることにより、必要なシステム・リソースを削減することができます。
IBM® HTTP Server LDAP モジュールにより認証と許可のために X.500 ディレクトリー・サーバーが使用可能になります。IBM HTTP Server はこの機能を使用して、制御されたユーザー・グループに、リソースへのアクセスを制限することができます。この機能により、個々の Web サーバーのユーザーおよびグループ情報を維持するために、通常は必要な管理オーバーヘッドが削減されます。
X.500 ディレクトリー・サーバーへの TCP/IP または Secure Sockets Layer (SSL) 接続が使用できるように、IBM HTTP Server LDAP モジュールを構成することができます。単一 LDAP サーバーまたは複数のサーバーを参照するように LDAP モジュールを構成することができます。
X.500 概要。X.500 では、さらに効率的な取得が可能なコンポーネントを使用してディレクトリー・サービスを提供します。LDAP では、これらのコンポーネントの 2 つ、つまり、フォームと文字を決定する情報モデル、および情報索引付けと参照を使用可能にするネーム・スペースを使用します。
X.500 ディレクトリー構造は、情報保管と検索がその他のディレクトリーと異なります。このディレクトリー・サービスは、情報と属性を関連付けます。属性に基づくクエリーが生成され、LDAP サーバーに渡され、サーバーはそれぞれの値を戻します。LDAP は、ディレクトリー・エントリーを表すために単純なストリング・ベースのアプローチを使用します。
X.500 ディレクトリーは、ObjectClass 属性に基づく型付きエントリーから構成されます。各エントリーは、属性から構成されます。ObjectClass 属性は、必要な属性とオプションの属性を決定する項目の型 (たとえば、担当者または組織など) を識別します。
項目は、ツリー構造で配置された状態で、地理的および組織的に分散しているサーバー間で分担することができます。 ディレクトリー・サービスは、配布階層内の位置に従って識別名 (DN) により項目に命名します。
Lightweight Directory Access Protocol の概要。X.500 ディレクトリーにアクセスするには、 Directory Access Protocol (DAP) が必要です。ただし、 DAP には大量のシステム・リソースと、プロトコルの複雑さを処理するサポート・メカニズムが必要です。 デスクトップ・ワークステーションが X.500 ディレクトリー・サービスにアクセスできるよう、LDAP が導入されました。
クライアントおよびサーバー・ベースのプロトコルである LDAP は、DAP クライアントに必要な大量のリソースの一部を処理することができます。LDAP サーバーは、クライアントに結果またはエラーを戻すだけで、クライアントに何かを要求することはほとんどありません。クライアント要求に応答することができない場合、LDAP サーバーは要求を別の X.500 サーバーにチェーニングする必要があります。サーバーは要求を完了するか、LDAP サーバーにエラーを戻す必要があります。LDAP サーバーは情報をクライアントに渡します。
ldapsearch –h <Host> -p <Port> -b “<BaseDN>” –D <BindDN> -w <Bind Password> “<User Filter>”各部の意味は、次のとおりです。
C:¥>ldapsearch -h petunia -p 389 -b "o=ibm,c=us" uid=test cn=test,o=ibm,c=us sn=test objectclass=top objectclass=organizationalPerson objectclass=ePerson objectclass=person objectclass=inetOrgPerson uid=test cn=test
C:¥>ldapsearch -h petunia -p 389 -b "o=ibm,c=us" "(&(uid=test)(objectclass=ePerson))" cn=test,o=ibm,c=us sn=test objectclass=top objectclass=organizationalPerson objectclass=ePerson objectclass=person objectclass=inetOrgPerson uid=test cn=test