[AIX Solaris HP-UX Linux Windows]

mod_ibm_ldap を使用した IBM HTTP Server での LDAP による認証 (分散システム)

このセクションでは、IBM® HTTP Server でファイルを保護するために LDAP を構成する方法を説明します。

始める前に

非推奨フィーチャー 非推奨フィーチャー: mod_ibm_ldap モジュールは、今回の IBM HTTP Server リリースでは以前のリリースとの互換性のために提供されています。ご使用の LDAP 構成に mod_ibm_ldap モジュールを使用している場合、LDAP 構成が今後も確実にサポートされるようにするには、既存の構成を移行して mod_authnz_ldap および mod_ldap モジュールを使用する必要があります。mod_ldap モジュールの使用方法については、『IBM HTTP Server での mod_ldap を使用した LDAP 認証 』を参照してください。depfeat

デフォルトでは、LDAP モジュールは IBM HTTP Server にロードされません。LoadModule ディレクティブがないと、LDAP フィーチャーは使用できません。 LDAP 機能を使用可能にするには、以下のようにして、 IBM HTTP Server の httpd.conf ファイルに LoadModule ディレクティブを追加してください。

ご使用のコンピューターに LDAP クライアントがインストールされている場合は、 使用する値をさまざまな設定でテストするツールとして ldapsearch を使用することができます。

このタスクについて

LDAP (mod_ibm_ldap) ディレクティブの詳細説明を取得するには、 LDAP ディレクティブを参照してください。

手順

  1. httpd.conf IBM HTTP Server 構成ファイルを編集します。
  2. アクセスを制限するリソースを決定します。 例えば、<Directory "/secure_info"> とします。
  3. httpd.conf 内のディレクティブをディレクトリー・ロケーション (コンテナー) に追加し、ご使用の環境に固有の値で保護します。 以下に例を示します。
    • LdapConfigFile path_to_ldap.prop
    • AuthType Basic
    • AuthName "保護レルムのタイトル"
    • Require valid-user
  4. IBM HTTP Server を使用して 既存の LDAP インストールで認証を行う方法には、3 つのオプションがあります。
    • LDAP グループ・メンバーシップに基づいた許可。
      LDAP を使用して ユーザー・パスワードを確認し、LDAP で定義されたグループにそのユーザーが存在することを 確認します。
      注: ユーザーがリソースにアクセスできると識別するメンバーシップは、 グループの一部ですが、ユーザー自身の LDAP エントリーの一部ではありません。

      例えば、グループへのアクセスを制限するには、以下のディレクティブを追加します。

      LDAPRequire group grp1

      この形式の LDAPRequire の場合、グループを 以下のルールに準拠する LDAP リポジトリーで構成する必要があります (例のグループ名 grp1 を使用)。

      • 以下の検索フィルターに一致する LDAP リポジトリーにエントリーがあり、 値 groupofnames および groupofuniquenames は ldap.group.dnattributes で指定された値の例です。
        注: ldap.group.dnattributes の 適切な値は、LDAP スキーマ内のグループであると objectclasses が示すもののリストです。
        ldapsearch ... "(&(cn=grp1)(|(objectclass=groupofnames)
        (objectclass=groupofuniquenames)))"
      • grp1」の LDAP エントリーの一部として、以下に一致する一連の属性があります。 ここで、値 member および uniquemember は、 ldap.group.memberAttributes の値の例です。
        注: ldap.group.memberAttributes の適切な値は、 グループ内でメンバーシップであると objectclasses が示すもののリストです。これらのエントリーの値は、 ユーザーの識別名 (DN) です。
        ldapsearch ... "(&(cn=grp1)(|(objectclass=groupofnames)
        (objectclass=groupofuniquenames)))" member uniquemember 

        例えば、以下のようになります。

        ldapsearch -x -h myldapserver -D cn=root -w rootpw
        "(&(cn=grp1)(|(objectclass=groupofnames)(objectclass=groupofuniquenames)))" 
        member uniquemember
        dn: cn=group1,ou=myunit,o=myorg,c=US 
        member: cn=user1, ou=otherunit, o=myorg, c=US
        member: cn=user12, ou=otherunit, o=myorg, c=US 

        ldap.group.dnattributes にリストされたタイプのオブジェクトが、検索対象のグループのメンバーである場合、 これは、ldap.group.search.depth の深さまで同じ方式で再帰的に検索されます。

      • 最初に、IBM HTTP Server は ldap.group.name.filter および ldap.user.cert.filter を使用して、 ユーザーおよびグループに提供された CN を識別名 (DN) に変換します。次に、IBM HTTP Server は、値がユーザー DN であるエントリーの基本としてグループ DN を使用して 検索を行います。

        例えば、以下のようになります。

        ldapsearch ... -b "cn=grp1,ou=myunit,o=myorg,c=US" 
        "|((member=cn=user1,ou=otherunit,o=myorg,c=US) 
        (uniquemember=cn=user1,ou=otherunit,o=myorg,c=US))"
    • ユーザーの LDAP 属性に基づいた許可。 LDAP を使用して、 ユーザー・パスワードを確認し、ユーザーが一連の属性と一致することを確認します (ユーザーがリソースにアクセスできると識別する属性は、 ユーザー自身の LDAP エントリーの一部です)。

      例えば、以下のようになります。

      LDAPRequire filter "(&(jobtitle=accountant)(location=newyork))"

      この形式の LDAPRequire を使用するには、IBM HTTP Server は ldap.user.cert.filter を使用して、 ユーザーに提供された CN を DN に変換する必要があります。IBM HTTP Server は、 ユーザー DN を基本として使用して検索を行い、 LDAPRequire ディレクティブで提供される検索フィルターを使用する必要もあります。結果が戻されれば、許可は成功です。

      例:

      ldapsearch ... -b "cn=user1,ou=otherunit,o=myorg,c=US" "(&(jobtitle=accountant)
      (location=newyork))" 

      LDAP 内の一部の属性 (動的ロール とも呼ばれます) は、LDAP サーバーによって動的に計算され、 検索フィルターで無効の異なるセマンティクスを持つ可能性があります。そのような値は、 上記の例で使用すると失敗し、 IBM HTTP Server での許可には使用できません。

    • 認証のみ: LDAP を使用し、ユーザー・パスワードのみを確認します。

      Require ディレクティブを使用して、特定のユーザーに制限したり、 AuthGroupFile を使用してフラット・グループ・ファイルを保守することができます。

  5. ldap.prop 構成ファイルを編集します。 このファイルがない場合は、IBM HTTP Server に同梱される ldap.prop.sample ファイルを使用することができます。 正しい値について質問がある場合は、LDAP サーバーの管理者へご確認ください。 ご使用の環境に適切な値で、以下のディレクティブを更新します。
    1. Web サーバー接続情報を入力します。
    2. SSL、LDAPS、または LDAP over SSL を使用する場合:
      • ldap.transport を SSL 値に変更します。
      • LDAPS プロトコルおよび適切なポート値 (例えば 636) を含むように、 ldap.URL を変更します。
      • SSL 鍵データベースが使用されるように構成します。以下に例を示します。
        ldap.key.fileName=/path_to/key.kdb
        ldap.key.file.password.stashFile=/path_to/stashfile
        ここで、stashfilebin/ldapstash コマンドによって作成されます。
        ldap.key.label=label
        ここで、label は、参照先 key.kdb の IKEYMAN に表示される値です。

タスクの結果

mod_ibm_ldap ディレクティブを使用する検索は、 ldap.application.dn ユーザーとして認証を行うサーバー接続のプールを保守します。 最初の接続は、LDAP 保護された最初の要求が受け取られると作成されます。 接続は、その接続または他の要求の接続でのその後の検索のために、 指定された秒数 (ldap.idleConnection.timeout) の間は開かれています。

ログを読んでいる場合、 または IP トレースを見ている場合は、以下の一連のイベントが発生します。

タスク・トピック    

インフォメーション・センターに関するご使用条件 | フィードバック

最終更新: October 08, 2014 06:19 PM EDT
http://www14.software.ibm.com/webapp/wsbroker/redirect?version=phil&product=ihs-dist&topic=tihs_ldapconfig
ファイル名: tihs_ldapconfig.html