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 は、より効率的な検索を提供するコンポーネントをもつディレクトリー ・サービスです。LDAP はこれらのコンポーネントの 2 つを使用します : 書式と文字を決める情報モデル。 そして情報の索引化と参照を可能にするネーム・スペース。
X.500 ディレクトリー構造は、情報の保管方法と検索方法において、ほかのも のと異なっています。 情報は、属性と関連付けられます。 属性に基づいた照会は 生成されて LDAP サーバーに送られ、サーバーはそれぞれの値を戻します。 LDAP はディレクトリーの項目を示すために、単純なストリング・ベースのアプローチを使用します。
X.500 ディレクトリーは、項目 で構成されます。この項目は ObjectClass 属性に基づいて タイプ分け されます。各項目は 属性 で構成されています。 ObjectClass 属性は、項目のタイプ (たとえば、人や 組織など) を識別し、これによってどの属性が必須で、どの属性が任意選択かを判 別します。
項目はツリー構造で配置され、地理上および組織上分散されているサーバー間 で分けられます。 これらの項目は、識別名 (DN) により、 分散階層の中の位置に応じて命名されます。
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 は人間が解読可能なストリングを使って X.500 ディレクトリーにアクセスします。 これらの照会ストリングが LDAP サーバーに渡されると、サーバーはその項目の識別名を戻します。
LDAP 項目は検索を単純化するために、ObjectClass 属性によってタイプ分けま たは分類されます。 たとえば、objectclass=acl の LDAP ディレクトリーを検索す ると、アクセス制御リストであるすべての項目を見つけることができます。
LDAP 項目の検索フィルターは、次のような構造になっています。
LDAP 検索フィルターの詳細については、RFC 1960 を参照してください。
Joe Smith
Joe Schmoe Adam Fosset Jane Doe 以外のすべての名前
Peter Johnson Davey Johnson
University of North Carolina Chapel Hill University of South Carolina
注: | LDAP は複数の項目を戻すことがあります。 しかし、Web サーバーは複数の項目が戻されたときに認証しません。 University of North Carolina と University of South Carolina がこの例によって照会されたディレクトリーの中に含まれている場合、両方の項目が戻されて認証は失敗します。 検索フィルターを変更する必要があります。 |
「認証レルム名」フィールドにディレクトリーに対する認証レルム名を入力します。
グループごとに定義する :
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 に手作業で挿入されていないと機能しません。