9.2.4 モニタページのアクセス制御の定義方法

Webアプリケーション上の一連の操作では,モニタページから性能情報および統計情報が確認できます。これらの情報を一般のシステム利用者に対して公開したくない場合は,次のどちらかの方法でモニタページへのアクセスを制御してください。

それぞれの設定方法について説明します。

<この項の構成>
(1) クライアント性能モニタ機能の設定による方法
(2) Hitachi Web Serverのアクセス制御の設定による方法

(1) クライアント性能モニタ機能の設定による方法

クライアント性能フィルタの初期化パラメタにmonitorPageEnableLevelを指定することで,クライアント性能フィルタで生成されるモニタページの種類が変わります。これによって,モニタページが非表示になるように設定できます。この場合,性能データを表示するためにはAPI(ClientPerformance.getAllLogメソッド)を利用して,Webブラウザから性能データを読み出すアプリケーションを独自に作成してください。

性能データを読み出すためのAPI(ClientPerformance.getAllLogメソッド)だけを利用可能にする場合,monitorPageEnableLevelに次のとおりAPIを指定します。なお,次の指定例では,独自に作成したログ回収画面はコンテキストルート配下の/myMonitor.htmlに配置しているものとします。

<filter>
 <filter-name>ClientPerformanceFilter</filter-name>
 <filter-class>com.hitachi.software.web.ajaxlog.filters.ClientPerformanceFilter</filter-class>
 <init-param>
   <param-name>monitorPageEnableLevel</param-name>
   <param-value>
      API
   </param-value>
 </init-param>
 <init-param>
   <param-name>ignorePages</param-name>
   <param-value>
      /myMonitor.html
   </param-value>
 </init-param>
</filter>

(2) Hitachi Web Serverのアクセス制御の設定による方法

Hitachi Web Serverと連携している場合,Hitachi Web Serverの設定によって,詳細なアクセス制御が実現できます。

ここでは,次に示すアクセス制御の例を実現するための定義について説明します。

アクセス制御の例
  • システム管理者マシンのIPアドレス(192.168.11.1)からはモニタページにアクセスできるように設定する。
  • システム利用者マシンのIPアドレス(192.168.11.1以外)からはモニタページにアクセスできないように設定する。
  • システム利用者マシンのIPアドレスからモニタページにアクセスした場合,403 Forbiddenを表示する。
  • 独自に作成したログ回収画面(コンテキストルート配下の/myMonitor.html)はシステム管理者,システム利用者とも確認できるように設定する。なお,コンテキストルートは「/webapp/」とする。
Hitachi Web Serverのコンフィグファイルの指定例
Hitachi Web Serverのコンフィグファイルに次の指定を追加します。

<LocationMatch ^/webapp/cpmonitor_m_.*  >
   Order deny,allow
   Allow from 192.168.11.1
   Deny from all
</LocationMatch>

Allow fromに指定したIPアドレス以外からのモニタページへのアクセスを禁止します。また,モニタページに対するリクエストURLは,正規表現「^/webapp/cpmonitor_m_.*」を指定することでマッチできます。


DDの指定例
WebアプリケーションのDDでは,monitorPageEnableLevelにMonitorを指定します。

<filter>
 <filter-name>ClientPerformanceFilter</filter-name>
 <filter-class>com.hitachi.software.web.ajaxlog.filters.ClientPerformanceFilter</filter-class>
 <init-param>
   <param-name>monitorPageEnableLevel</param-name>
   <param-value>
       Monitor
   </param-value>
 </init-param>
 <init-param>
   <param-name>ignorePages</param-name>
   <param-value>
      /myMonitor.html
   </param-value>
 </init-param>
</filter>