IBM HTTP Server のヘルプ : LDAP

LDAP 情報の検索 - HP または Linux では無効

概要と概念

IBM HTTP Server は、Lightweight Directory Access Protocol (LDAP) の使用をサポートします。 これは TCP または SSL 接続を使用して X.500 ディレクトリーへのアクセスを提供するプロトコルです。 LDAP を使うと、ディレクトリー・サービスに情報を保管し、それをデータベースと同様に照会することができます。 X.500 ディレクトリーと LDAP を使うと、すべての LDAP が使用 可能になったアプリケーションは、ユーザー権限情報などの情報を一度保管するこ とができ、LDAP サーバーを使用するほかのアプリケーションはその情報を認識します。

LDAP は、元の X.500 ディレクトリー・アクセス・プロトコル (DAP) の機能の サブセットだけを含めることにより、必要なシステム・リソースを減らします。

IBM HTTP Server LDAP サポートは、非常に拡張が容易です。 LDAP の構成では、次のようなものを選択できます。

本書は、ユーザーが X.500 ディレクトリー・サービス (IBM SecureWay X.500 ディレクトリーなど) をすでにもっていることを前提としています。

X.500 の概説

X.500 は、より効率的な検索を提供するコンポーネントをもつディレクトリー ・サービスです。LDAP はこれらのコンポーネントの 2 つを使用します : 書式と文字を決める情報モデル。 そして情報の索引化と参照を可能にするネーム・スペース。

X.500 ディレクトリー構造は、情報の保管方法と検索方法において、ほかのも のと異なっています。 情報は、属性と関連付けられます。 属性に基づいた照会は 生成されて LDAP サーバーに送られ、サーバーはそれぞれの値を戻します。 LDAP はディレクトリーの項目を示すために、単純なストリング・ベースのアプローチを使用します。

X.500 ディレクトリーは、項目 で構成されます。この項目は ObjectClass 属性に基づいて タイプ分け されます。各項目は 属性 で構成されています。 ObjectClass 属性は、項目のタイプ (たとえば、人や 組織など) を識別し、これによってどの属性が必須で、どの属性が任意選択かを判 別します。

項目はツリー構造で配置され、地理上および組織上分散されているサーバー間 で分けられます。 これらの項目は、識別名 (DN) により、 分散階層の中の位置に応じて命名されます。

LDAP 概説

X.500 ディレクトリーにアクセスするには、たとえばディレクトリー・アクセス・プロトコル (DAP) など、特定のプロトコルが必要です。 しかし、DAP ではプロトコルの複雑さを処理するための大量のシステム・リソー スとサポート・メカニズムが必要です。 デスクトップ・ワークステーションで X.500 にアクセスするために、LDAP が導入されました。

LDAP はクライアント/サーバーをベースとしており、DAP クライアントが要求した大量のリソースの一部は LDAP サーバーによって処理されます。LDAP サーバーはクライアントに対し結果またはエラーしか戻さず、クライアントからはあまり 要求しません。 X.500 サーバーはクライアント要求に答えられないと、その要求を 別の X.500 サーバーに連鎖します。 このサーバーは要求を完了するか、LDAP サーバーに対してエラーを戻さなければなりません。そして LDAP サーバーはクライア ントにその情報を渡します。 LDAP (Lightweight Directory Access Protocol) とは、ここにユーザーとグ ループを 1 度だけ定義することによって、複数のマシンと複数のアプリケー ションを共用することのできる、情報ディレクトリーのことです。 IBM HTTP Server LDAP プラグインを使うと、認証と許可 (保護されたリソー スにアクセスするときに必要) をこのディレクトリーで実行することができ るため、各 Web サーバーごとにユーザーとグループ情報をローカルに維持した 場合に発生する管理オーバーヘッドを大幅に減らすことができます。

LDAP サーバーを照会する

LDAP 検索フィルター

LDAP は人間が解読可能なストリングを使って X.500 ディレクトリーにアクセスします。 これらの照会ストリングが LDAP サーバーに渡されると、サーバーはその項目の識別名を戻します。

LDAP 項目は検索を単純化するために、ObjectClass 属性によってタイプ分けま たは分類されます。 たとえば、objectclass=acl の LDAP ディレクトリーを検索す ると、アクセス制御リストであるすべての項目を見つけることができます。

LDAP 項目の検索フィルターは、次のような構造になっています。

LDAP 検索フィルターの詳細については、RFC 1960 を参照してください。

LDAP 検索フィルターの例

(cn=Joe Smith)
ディレクトリー・サービスで Joe Smith という共通名を検索します。 この検索 条件に一致する可能性のある項目は次のとおりです。
Joe Smith

(!(cn=Jane Doe))
ディレクトリー・サービスで Jane Doe という共通名ではない項目を検索 します。 この検索 条件に一致する可能性のある項目は次のとおりです。
Joe Schmoe
Adam Fosset
Jane Doe 以外のすべての名前

(&objectClass=acl)((sn=Johnson)
Johnson という名字に一致する acl 項目をすべて照会します。 この検索 条件に一致する可能性のある項目は次のとおりです。
Peter Johnson
Davey Johnson

(o=univ*of*carolin*)
この組織の属性を照会します。この検索 条件に一致する可能性のある項目は次のとおりです。
University of North Carolina Chapel Hill
University of South Carolina
注: LDAP は複数の項目を戻すことがあります。 しかし、Web サーバーは複数の項目が戻されたときに認証しません。 University of North Carolina と University of South Carolina がこの例によって照会されたディレクトリーの中に含まれている場合、両方の項目が戻されて認証は失敗します。 検索フィルターを変更する必要があります。

IBM HTTP Server 上で LDAP を構成する

LDAP を使ってファイルを保護する

  1. ユーザーごとに定義する : IBM Administration Server を開始します。 「アクセス許可」>「一般アクセス」の順で選択し、「LDAP: 構成ファイル」フィールドに LdapConfigFile (C:/Program Files/IBM HTTP Server/conf/ldap.prop) と挿入してください。 これは必須ファイルです。

    「認証レルム名」フィールドにディレクトリーに対する認証レルム名を入力します。

    グループごとに定義する :

    LDAPRequire group "group_name"
    例 : LDAPRequire group "Administrative Users"

    フィルターごとに定義する :

    LDAPRequire filter "ldap_search_filter"
    例 : LDAPRequire filter "(&(objectclass=person)(cn=*)(ou=IHS)(o=IBM))"

    注 : LDAPRequire は、httpd.conf に手作業で挿入されていないと機能しません。

  2. LDAP 接続を作成するには、使用する LDAP サーバーに関する情報を提供する必要があります。 ldap プロパティー・ファイル (HTTP Server conf ディレクトリーの中にサンプルの ldap.prop が見つかります) を編集してください。

  3. 続行するには 実行依頼 をクリックし、フォームを消去するには リセット をクリックしてください。

関連情報

LDAP の使用法
LDAP ディレクティブ