LDAP: IBM HTTP Server
システム管理 IBM HTTP Server ドキュメンテーション

LDAP の使用 (Using the Lightweight Directory Access Protocol)

このセクションには、LDAP (Lightweight Directory Access Protocol) に関する情報があります。 この情報には、基本概念、概要、関連する注 注: と、 照会、インストール、および構成の手順が含まれます。 このセクションの終わりに、関連情報へのリンクがあります。

Linux for S/390 ユーザーの場合 注: このセクションは、Linux for S/390 を除いて、 サポートされるすべてのオペレーティング・システムに適用されます。

LDAP 概説

以下のセクションでは、LDAP とは何か、どのように機能するかを説明し、X.500 と LDAP の概要を示します。

LDAP とは?

LDAP (Lightweight Directory Access Protocol) は、ユーザーとグループを 1 度定義し、 複数のマシンと複数のアプリケーションでそれを共用する情報ディレクトリーとして存在します。

LDAP はどのように機能するか?

IBM HTTP Server LDAP プラグインを使うと、そのディレクトリーが、保護リソースのアクセス時に 必要な認証と許可を実行できるようになります。 これにより、各 Web サーバーごとにユーザーとグループ情報をローカルに維持した場合に発生する管理オーバーヘッドを大幅に減らすことができます。

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

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

IBM HTTP Server の LDAP サポートでは、次の LDAP 構成から選択できます。

  • 単一 LDAP サーバー
  • 異なる要求ごとにアクセスする異なる LDAP サーバー。 たとえば、要求が 2 つの異なる IP アドレスから来た場合に、 Web サーバーがそれぞれの要求について、異なる 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 サーバーはクライアントに対し結果またはエラーしか戻さず、クライアントからはあまり 要求しません。 X.500 サーバーはクライアント要求に答えられないと、その要求を 別の X.500 サーバーに連鎖します。このサーバーは要求を完了するか、LDAP サーバーに対してエラーを戻す必要があります。 そして LDAP サーバーはクライアントにその情報を渡します。

LDAP 検索フィルターを使用した LDAP サーバーの検索

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

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

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

  • フィルターは括弧で囲む必要があります。以下の例を参照して、複雑な照会の中での括弧がどのように置かれるかを確認してください。
  • フィルターには、以下のブール比較を入れることができます。
    • & - ブール AND
    • | - ブール OR
    • ! - ブール NOT
  • 特定のオブジェクト・クラスは属性名を必要とする場合があります。
  • フィルターには、以下の式を入れることができます。
    • = - 等しい
    • ~= - ほぼ等しい
    • >= - より大きい
    • <= - より小さい
  • フィルターは、検索に使用する属性の値を含んでいる必要があります。この値はワイルドカードを含むことができます。

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

LDAP 検索フィルターの例

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 が 含まれている場合、サーバーは両方の項目を戻し、認証は失敗します。この場合、検索フィルターを変更する必要があります。

Windows NT ユーザーの場合 Windows 2000 ユーザーの場合

LDAP クライアントのインストール

IBM HTTP Server の LDAP モジュールを実行するには、LDAP クライアントの別のダウンロードが必要です。 以下のいずれかの方法で LDAP クライアントを取得することができます:

  • IBM WebSphere Application Server V3.5 以上内で出荷される SecureWay ディレクトリー CD からクライアントをインストールする。
  • Web サイトからクライアントをダウンロードし、IBM HTTP Server のインストールとは別にクライアントをインストールする。

ヒント: Web サイトからクライアントをダウンロードすると、 SecureWay ディレクトリーへの参照があります。 SecureWay ディレクトリーには、LDAP が使用可能なサーバーへのアクセスを提供する LDAP クライアントが含まれます。 これらの手順は Windows NT オペレーティング・システムだけを対象としたものです。

Windows NT ユーザーの場合 Windows 2000 ユーザーの場合

Web サイトから LDAP クライアントをダウンロードする方法は以下のとおりです:

  1. ブラウザーをオープンし、次の場所に移動します: LDAP ダウンロード
  2. 該当のプラットフォームのバージョンをクリックします。「SecureWay Directory Evaluation Code」ウィンドウが表示されます。
  3. Download をクリックします。
  4. リストされたディレクトリー・サーバー・ソフトウェアおよび Client Software Developer Kit の、該当する V4.1 プラットフォーム・バージョンをクリックします。
  5. Download をクリックします。
  6. 「SecureWay directory and Client SDK Version 4.1」ウィンドウで選択した プラットフォームに適切な言語を選択するために、下矢印をクリックし、その言語をクリックします。
  7. Continue をクリックします。
  8. 次のウィンドウで要求があれば、ダウンロードを登録し、ユーザー ID およびパスワードを入力してください。

  9. ファイルを unzip します。
  10. 「Installation and Configuration Guide」に記載されている指示に従ってクライアントをインストールします。
AIX ユーザーの場合
HP-UX ユーザーの場合
Linux ユーザーの場合
Solaris ユーザーの場合

AIX、HP、Linux、および Solaris オペレーティング・システムには、LDAP クライアントを ダウンロードする必要がありません。

IBM HTTP Server 上で LDAP を構成する

ファイルを保護するように IBM HTTP Server 上の LDAP を構成するには、以下のステップに従います。

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

    3. 「認証レルム名」フィールドにディレクトリーに対する認証レルム名を入力します。
  2. グループごとに定義するには、次のように指定します。

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

  3. フィルターごとに定義するには、次のように指定します。
  4. LDAPRequire filter "ldap_search_filter"
    例: LDAPRequire filter "(&(objectclass=person)(cn=*)(ou=IHS)(o=IBM))"

    注: LDAPRequire ディレクティブは、httpd.conf ファイルに手動で挿入された場合にだけ機能します。

  5. LDAP 接続を作成するには、使用する LDAP サーバーに関する情報を指定します。 LDAP プロパティー・ファイル (サンプル ldap.prop が IBM HTTP Server の conf ディレクトリーにあります) を編集し、 適切なディレクティブを挿入します。
    • Web サーバー接続情報を入力します
    • クライアント接続情報を入力します
    • タイムアウト設定を入力します

  6. 続行するには実行依頼を、フォームをクリアするにはリセットをクリックします。
関連情報

     (トップに戻る)