Cosminexus V9 アプリケーションサーバ Cosminexus HTTP Server
ディレクトリサービス(以降,LDAPサーバと呼びます)と連携して,パスワードファイルを作成しないでユーザ認証ができます。また,LDAPサーバ内の属性でアクセス制御ができます。
この機能は,HP-UX(IPF)版では使用できません。
LDAPサーバを利用したユーザ認証を使用するためにはmod_hws_ldapモジュールの組み込みが必要です。mod_hws_ldapモジュールを組み込むには,コンフィグファイル(httpsd.conf)に次に示すディレクティブを指定します。
ユーザ認証する場合,<Directory>,.htaccessにはパスワードファイルを使用した場合と同様に,AuthTypeディレクティブとAuthNameディレクティブを指定します。また,Require valid-userとLDAPRequireディレクティブを指定することで,LDAPサーバと連携したユーザ認証ができます。
<Application Serverのインストールディレクトリ>/httpsd/cgi-bin/のCGIを使用する場合に,ユーザIDとパスワードを入力させて認証する例を次に示します。
LDAPServerName ldap.server.hitachi.com LDAPServerPort 389 <Directory "<Application Serverのインストールディレクトリ>/httpsd/cgi-bin"> AuthName LDAP-TASK AuthType Basic Require valid-user LDAPRequire </Directory>
LDAPサーバ内の属性でアクセス制御もできます。
例えば,社員登録番号が100番から200番のユーザだけアクセスを許可することもできます。詳細についてはLDAPRequireディレクティブを参照してください。
認証されたユーザが,該当コンテンツを利用できるかどうかを定義できます。
LDAPRequire 〔%DN属性%〕 〔LDAP検索フィルタ〕 |
LDAP検索フィルタに,LDAPサーバに登録されている情報を基に,アクセス権限について定義します。
例えば,認証されたユーザの中でtaroとhanakoだけをアクセスさせたい場合には,次のように定義します。定義した情報は,あらかじめLDAPサーバ内に登録してください。
(例)
LDAPRequire %cn% (|(cn=taro)(cn=hanako)) |
LDAPサーバにユーザ名がcnとして登録されている場合を例に説明します。SSLクライアント認証とLDAPRequireディレクティブを組み合わせた場合,証明書による認証後,LDAPサーバにクライアントが登録されているかどうかを確認します。このとき,クライアント証明書内のサブジェクトのCommon Name(CN)をユーザ名として扱い,パスワードを使用しない匿名アクセスとしてLDAPサーバにアクセスし確認します。LDAPサーバにアクセスできなかった場合は,ステータスコード500 Internal Server Errorを応答します。
ユーザ認証とアクセス制御の関係を次の図に基づいて説明します。
図4-5 ユーザ認証とアクセス制御の関係
LDAPサーバは並列に複数指定できます。そのため,異なるユーザが登録されているLDAPサーバを併用してユーザ認証ができます。また,ディレクトリ単位にも指定できるため,コンテンツごとにLDAPサーバを変更できます。
LDAPServerName,LDAPServerPortおよびLDAPBaseDNディレクティブに複数のLDAPサーバに対応したサーバ名,ポート番号およびDNを指定できます。最初に指定したLDAPサーバの優先度が最も高く,指定した順に優先度は低くなります。
次に示すLDAP関連のディレクティブはディレクトリ単位に指定できます。指定したディレクティブはhttpsd.conf,<VirtualHost>,<Directory>の順に上位ディレクトリから下位ディレクトリへ継承します。
All Rights Reserved. Copyright (C) 2012, 2015, Hitachi, Ltd.