9 Webゲート・イベント・メッセージのロギング
各Webゲート・インスタンスは、プロセスおよび状態に関する情報をログ・ファイルに書き込むことができます。
ログは、様々なレベルの粒度で情報を提供するように設定できます。たとえば、エラーの記録、エラーおよび状態情報の記録、またはエラーと状態に加えてデバッグ・トレース・レベルのその他の情報を記録することもできます。また、ログから機密情報を削除することもできます。
この章の内容は次のとおりです。
9.1 Webゲート・インスタンスのロギングの理解
ロギング機能により、システムのパフォーマンスを分析し、問題をトラブルシューティングできます。
次のコンポーネントの個別のWebゲート・インスタンスのロギングを構成できます。
-
OAM Webゲート
-
カスタム・アクセス・クライアント(Access Manager SDK)
このセクションのトピックは次のとおりです:
9.1.1 ロギング、ログ・レベルおよびログ出力について
コンポーネント・インスタンスの異なる機能領域に対して別々のロギング・レベルを構成できます。
たとえば、LDAPアクティビティのデバッグ・データを取得して、それ以外のすべてのコンポーネント・アクティビティではエラー・レベルのデータのみを記録できます。また、コンポーネントが処理する各リクエストで要する時間を記録し、異なるレベルのログ・データを別々の宛先に送信できます。たとえば、エラー情報をファイルに送信し、その他のログ・データをシステム・ログに送信できます。
機密情報の保護: Access Managerでは、ユーザーの機密情報が処理されます。サイトによって異なりますが、ユーザー・パスワード、誕生日、社会保障番号、ロスト・パスワード・リクエストに対するセキュリティ上の質問と回答などが含まれます。セキュリティ番号や保護の対象とするその他の情報も機密データに含めることができます。機密情報は、特定のロギング・レベルで取得されます。現在は、ログ・ファイルの機密情報をフィルタできます(「機密属性のフィルタ処理」を参照してください)。
ロギングの構成: Webgateとともに格納される構成ファイルを編集して、ロギングを構成します。「ログ構成ファイルのパスおよび内容について」を参照してください。
ロギング・レベル: 様々なレベルで、ロギングをリクエストできます。最上位レベルは「致命的」で、最下位レベルは「トレース」です。詳細は、「ログ・レベル」を参照してください。
ログ出力先: ログ構成ファイルでは、ログ・ライターと呼ばれるパラメータがログ出力の宛先を決定します。詳細は、「ファイルまたはシステム・ファイルへのログ出力の送信について」を参照してください。ログ・ライターまたはログ・レベルを識別して、ログ出力の完全な定義を作成します。この完全な定義はログ・ハンドラと呼ばれます。詳細は、「Webゲートの2番目の複合リストのパラメータとログ・ハンドラ」を参照してください。
9.1.2 ログ・レベル
ロギング・レベルは、ログ・データ・ファイルに書き込まれるデータの量を決定します。各ロギング・レベルは累積的で、上位のレベルで生成されたすべてのデータが各レベルに含まれます。
たとえば、エラー・ログには、致命的ログで生成されたすべてのデータに加えて、エラー・カテゴリに固有のイベントが含まれます。
表9-5にレベルを示します。デフォルトのログ・レベルは警告(LOGLEVEL_ WARNING)です。
表9-1 ロギング・レベル
| レベル | レポートされるイベント数 | 説明 |
|---|---|---|
|
|
> 60 |
クリティカル・エラーを記録します。一般に、これらのイベントは、コンポーネントの終了の原因になります。 システム障害が発生した場合は、致命的レベルのメッセージが常にログ・ファイルにフラッシュされます。 |
|
|
> 960 |
コンポーネントが使用できないなど、修正処理を必要とする可能性のあるイベントを記録します。エラー・ログは、別のコンポーネントへの接続失敗など、一時的または自己修正可能な問題に対して生成されることもあります。 |
|
|
> 1200 |
将来のある時点でエラーを引き起こす、または修正処理を必要とする可能性のある問題を記録します。 |
|
|
> 400 |
コンポーネントの初期化中など、コンポーネントの完了したアクションまたは現在の状態を記録します。 |
|
|
> 400 |
デバッグ情報を記録します。通常は、このレベルの情報は開発者にとってのみ意味があります。 |
|
|
> 100 |
詳細なデバッグ情報を記録します。このレベルは、Debug1ログ・レベルを補強します。通常は、このレベルの情報は開発者にとってのみ意味があります。 |
|
|
> 900 |
大量のデバッグ情報またはコードの高コスト部分に関連するデータをログ・ファイルに記録します。このレベルは、タイト・ループやパフォーマンスに敏感なファンクションのデバッグに役立ちます。通常は、このログ・レベルの情報は開発者にとってのみ意味があります。 これらのログには、機密情報が含まれる場合があります。 |
|
|
> 900 Access Manager API > 150 サード・パーティAPI |
このログ・レベルは、コード・パス実行のトレースまたはパフォーマンス・メトリックの取得に使用されます。この情報は、各コンポーネント・ファンクションのエントリ・ポイントおよび終了ポイントで取得されます。通常は、このログ・レベルの情報は開発者にとってのみ意味があります。 これらのログには、機密情報が含まれる場合があります。 |
|
|
> 5000 |
このレベルには、その他のレベルすべてのイベントおよび状態がすべて含まれます。 |
複合リスト: 隣接していないレベルからログ・データを収集し、異なるレベルのログ・データを別々の宛先に送信できます。たとえば、致命的ログをシステム・ログに送信し、エラー・ログをファイルに書き込めます。詳細は、「Webゲートの2番目の複合リストのパラメータとログ・ハンドラ」を参照してください。
しきい値: グローバル・カットオフまたはしきい値を構成して、ログ構成ファイルのLOG_THRESHOLD_LEVELパラメータでロギングできます。デフォルトでは、ログ・ハンドラの構成済レベルがカットオフを超えると、ログ・データは収集されません。LOG_THRESHOLD_LEVELパラメータがログ・ハンドラで構成されたレベルに優先するため、構成済レベルにかかわらず、ログが書込みに失敗する場合があります。ログ構成ファイルのMODULE_CONFIGセクションのみがグローバルしきい値をオーバーライドします。詳細は、「Webゲートの単純なリストのパラメータとロギングしきい値」を参照してください。
オーバーライド: グローバル・ロギングしきい値に対する機能固有またはモジュール固有のオーバーライドを、MODULE_CONFIGパラメータに指定します。詳細は、「異なるデータのタイプへの異なるしきい値レベルの構成」を参照してください。
ノート:
「トレース」および「デバッグ3」レベルのログには、機密情報が含まれる場合があります。機密情報の詳細は、「機密属性のフィルタ処理」を参照してください。
9.1.3 ログ出力
ログ出力ファイルの各行は、特定の構造に従います。行は、日付およびタイム・スタンプで始まり、次にリクエストを処理するスレッド、ログが記録された機能またはモジュールの名前とログ・レベルが続きます。
次に、ログ出力ファイルの最も左の列のスナップショットを示します。
2007/06/01@00:50:56.859000 5932 2672 DB_RUNTIME DEBUG3 2007/06/01@00:50:56.859000 5932 2672 DB_RUNTIME TRACE 2007/06/01@00:50:56.859000 5932 2672 LDAP DEBUG1 2007/06/01@00:50:56.859000 5932 2672 LDAP TRACE 2007/06/01@00:50:56.859000 5932 2672 LDAP TRACE
リグ・レベルの右の2つの列は内的コード参照で、無視できます。次に、この列の例を示します。
0x00000205 ldap_connection_mngr.cpp:212
内的参照列の右に、"Function called"または"Function returned"などのこのログ・レベルに割り当てられたログ・メッセージがあり、次に示すような機能の名前が続きます。
"Function called" _CallName^ldap_init
ログ・メッセージおよび機能名の後に、たとえば、処理の間隔、機能が実行されるアドレス領域または状態の情報などの追加情報が続く場合があります。
"Connection health check result" Server^dlsun4072 Port^389 Server Priority^1 Connection available^true "Function entered" _TraceName^ConnectionWatcherThread::CheckPrimaries "Function exited" _TraceName^ConnectionWatcherThread::CheckPrimaries TraceDuration^0.000028 "Connection Pool Status in ValidateConnections() "NumLivePrimaryConnections^1 Maximum Connections^1 UpConnections^1 Failover Threshold^1 Max Session Time^0 SleepFor^60
機密情報を保護して、ロギング操作の出力に含まれないようにする方法は、「機密属性のフィルタ処理」を参照してください。
関連項目:
9.2 ログ構成ファイルのパスおよび内容について
ログ構成ファイルoblog_config_wg.xmlは、Webゲート・ロギング(oblogs)の構成詳細を指定するために使用します。プレーン・テキスト・エディタで編集できるXMLベースのログ・ファイル内のWebゲート・ログ出力を制御するパラメータを構成します。これらのファイルに対する変更は、即時に有効になります。
次の各項で詳しく説明します。
9.2.1 ログ構成ファイルのパスおよび名前
デフォルトでは、Webゲート・ロギングは有効であり、oblogsがOracle HTTP Server (OHS)インスタンス診断ディレクトリinstance1/diagnostics/logs/OHS/ohs1/に生成されます。
各Webゲート・インスタンスにはログ構成ファイル(oblog_config_wg.xml)があり、ここでログ出力内に記録するデータのタイプを定義できます。ログ構成ファイルはログ出力ファイルとは異なります。ログ出力ファイルの詳細は、「ログ出力」を参照してください。
oblog_config_wg.xmlファイルは、Webゲート・ロギングを編集して構成すると更新されます。たとえば、新しいログしきい値レベルの設定、ログ・ファイル名の変更、またはいくつかのモジュールに関連するログのフィルタリングなどをした場合です。
ログ構成ファイルoblog_config_wg.xmlは、ご使用のWebゲート・バージョンに応じて次の場所に存在します。
11g Webゲート: $WEBGATE_HOMEまたは$ORACLE_HOME/webgate/ohs/configWebゲート・インスタンスが作成されると、同じoblog_config_wg.xmlファイルがWebゲート・インスタンス・ディレクトリ($INSTANCE_HOME/webgate/config)にコピーされます。後者はロギング構成時に使用されます。
ノート:
このファイルのパスは変更しないでください。複数のインスタンスをインストールすると、インスタンスごとにログ構成ファイルがインストールされます。ロギングを構成するときは、$INSTANCE_HOMEの下のoblog_config_wg.xmlを更新する必要があります。
インストール後は、oblog_config_wg.xmlとoblog_config_wg_original.xmlの両方に、編集のガイドとして役立つコメントが含まれます。
表9-2にログ構成ファイルの名前をリストします。名前を変更しないでください。
表9-2 コンポーネントのログ構成ファイル名
| コンポーネント | ログ構成ファイル名 |
|---|---|
|
Webゲート |
oblog_config_wg.xml |
|
Access Manager SDK (カスタム・アクセス・クライアント) |
oblog_config.xml |
ノート:
いずれのロギング構成ファイルについても、デフォルトのパスまたは名前を変更しないでください。
oblog_config_wg.xmlファイルの編集では、ファイルを更新した後も有効なXMLであることが明確であれば、任意のテキスト・エディタを使用できます。ファイルの更新後、変更は約60秒で有効になります。
9.2.2 ログ構成ファイルの内容
構成ファイルは、ファイル・ローテーション間隔などのログ項目を制御し、テキスト・エディタで編集できるXML文が含まれます。
ログ構成ファイルは次の項目を制御します。
-
コンポーネントでログに記録される内容
-
データの送信先
-
特定の場合のみ、ログで使用される書込みバッファのサイズ
-
ログ・ファイル・ローテーション間隔
9.2.2.2 ログ・ファイル内のコメント
デフォルトの各ログ構成ファイルには、ファイルの編集に役立つコメントが含まれます。
関連項目:
ご使用のシステムのログ構成ファイル。
コメントのあるデフォルト構成ファイルをここに示します。
コメントは、1つ以上の行にまたがる場合があります。コメントは次のように表示されます。
<!--NetPoint Logging Configuration File --> <!-- --> <!--Changes to this file will be automatically taken into effect --> <!--in one minute. This does not require any server restart. -->
次の例に、コメントのある典型的なログ構成ファイルを示します。
<?xml version="1.0" encoding="ISO-8859-1" ?>
<!--============================================================ -->
<!--============================================================ -->
<!--NetPoint Logging Configuration File -->
<!-- -->
<!--Changes to this file will be automatically taken into effect -->
<!--in one minute. This does not require any server restart. -->
<!-- -->
<!--============================================================ -->
<!--============================================================ -->
<!--Set the Log Threshold -->
<!---->
<!--The log Threshold determines the amount of information to log. -->
<!--Selecting a lower level of logging includes the information -->
<!--logged at the higher levels. For example, LOGLEVEL_ERROR -->
<!--includes the information collected at LOGLEVEL_FATAL. -->
<!---->
<!--Choices are: -->
<!--LOGLEVEL_FATAL - serious error, possibly a program halt. -->
<!--LOGLEVEL_ERROR - a transient or self-correcting problem. -->
<!--LOGLEVEL_WARNING - a problem that does not cause an error. -->
<!--LOGLEVEL_INFO - reports the current state of the component. -->
<!--LOGLEVEL_DEBUG1 - basic debugging information. -->
<!--LOGLEVEL_DEBUG2 - advanced debugging information. -->
<!--LOGLEVEL_DEBUG3 - logs performance-sensitive code. -->
<!--LOGLEVEL_TRACE - used when you need to trace the code path -->
<!--execution or capture metrics. Includes all previous levels. -->
<!-- -->
<!--If you do not specify a threshold, the default is WARNING. -->
<!-- -->
<!--In addition to specifying a threshold, you need to specify -->
<!--if changes that you make to the logging configuration in -->
<!--the NetPoint GUI overwrite the settings in this file. The -->
<!--AutoSync parameter accomplishes this. This parameter takes a -->
<!--value of True or False. If set to True, changes made in the -->
<!--GUI overwrite changes in this config file. If False, changes -->
<!--made in the GUI are only in effect until the server is -->
<!--stopped or restarted, after which the settings in this file -->
<!--overwrite the GUI settings. The default is True. -->
<!-- -->
<!-- -->
<CompoundList xmlns="http://www.oblix.com" ListName="logframework.xml.staging">
<SimpleList>
<NameValPair ParamName="LOG_THRESHOLD_LEVEL" Value="LOGLEVEL_WARNING" />
<NameValPair ParamName="AUTOSYNC" Value="True" />
<!-- SECURE_LOGGING flag can be used to turn on/off Secure Logging --> <!-- feature. By defalut this feature is tunred on. -->
<NameValPair ParamName="SECURE_LOGGING" Value="On" />
<!-- In addition to specifying a log threshold, you need to -->
<!-- configure log level for which Secure Logging should be -->
<!-- applicable.Choices for this can be used same as that of -->
<!-- LOG_THRESHOLD_LEVEL. Secure log threshold can be set using -->
<!-- LOG_SECURITY_THRESHOLD_LEVEL flag. Default value for Secure -->
<!-- log threshold is TRACE. -->
<NameValPair ParamName="LOG_SECURITY_THRESHOLD_LEVEL"
Value="LOGLEVEL_TRACE" />
<!-- LOG_SECURITY_ESCAPE_CHARS is used to configure escape sequence -->
<!-- characters. This can be used to avoid additional information -->
<!-- getting overwritten due to Secure Logging mechanism. Currently -->
<!-- following characters have been identified as escape sequence. -->
<!-- Configuring inappropriate characters may lead to sensitive -->
<!-- information being unmasked. -->
<NameValPair ParamName="LOG_SECURITY_ESCAPE_CHARS" Value="),]" />
<!-- LOG_SECURITY_MASK_LENGTH is used to specify default masking -->
<!-- length if none is specified in FILTER_LIST. -->
<!-- Default value for LOG_SECURITY_MASK_LENGTH is 300. -->
<NameValPair ParamName="LOG_SECURITY_MASK_LENGTH" Value="300" / >
</SimpleList>
<!-- -->
<!-- -->
<!--============================================================ -->
<!--============================================================ -->
<!--Configure the Log Level -->
<!-- -->
<!-- -->
<!--To configure a log level, you specify a name for the -->
<!--configuration (for instance, MyErrorLog1) and -->
<!--the log level that you are configuring. You can create -->
<!--more than one configuration per log level if you want -->
<!--to output to more than one destination. You can output to -->
<!--the system log or to a file, as specified on -->
<!--the LOG_WRITER parameter. The value for the LOG_WRITER -->
<!--parameter may only be SysLogWriter, FileLogWriter or -->
<!--MPFileLogWriter. The MPFileLogWriter is a multi-process safe -->
<!--FileLogWriter. It should be used to log in webcomponents i.e -->
<!--Webgate loaded on multiprocess -->
<!--webservers like Apache and IPlanet(UNIX) -->
<!-- -->
<!--If you do not specify an output destination, the default is -->
<!--SysLogWriter. -->
<!-- -->
<!--If outputting to a file, you also specify a file name and -->
<!--other parameters. Default parameter values are: -->
<!--FILE_NAME: <installdir>/oblix/log/oblog.log -->
<!--BUFFER_SIZE: 32767 (number of bytes) -->
<!--MAX_ROTATION_SIZE: 5242880 (bytes, equivalent to 5MB) -->
<!--MAX_ROTATION_TIME: 86400 (seconds, equivalent to one day) -->
<!-- -->
<!--Configuring the log level does not ensure that the data is -->
<!--actually collected. Data collection for a log is -->
<!--determined by the LOG_THRESHOLD_LEVEL parameter, above, -->
<!--and the LOG_STATUS parameter in the log configuration. -->
<!-- -->
<!--If you do not provide a LOG_STATUS, the default for -->
<!--LOGLEVEL_FATAL, LOGLEVEL_ERROR, and LOGLEVEL_WARNING, -->
<!--is On. -->
<!---->
<!--This file contains several sample configurations that are -->
<!--enclosed in comments. To use them, remove the comments. -->
<!-- -->
<CompoundList xmlns="http://www.oblix.com" ListName="LOG_CONFIG">
<!--Write all FATAL logs to the system logger. -->
<ValNameList xmlns="http://www.oblix.com" ListName="LogFatal2Sys">
<NameValPair ParamName="LOG_LEVEL" Value="LOGLEVEL_FATAL" />
<NameValPair ParamName="LOG_WRITER" Value="SysLogWriter" />
<NameValPair ParamName="LOG_STATUS" Value="On" />
</ValNameList>
<!--Write all logs to the Oracle log file. -->
<ValNameList xmlns="http://www.oblix.com" ListName="LogAll2File">
<NameValPair ParamName="LOG_LEVEL" Value="LOGLEVEL_ALL" />
<NameValPair ParamName="LOG_WRITER" Value="FileLogWriter" />
<NameValPair ParamName="FILE_NAME" Value="oblog.log" />
<!-- Buffer up to 64 KB (expressed in bytes) of log entries before flushing to the file. -->
<NameValPair ParamName="BUFFER_SIZE" Value="65535" />
<!--Rotate the log file once it exceeds 50 MB (expressed in bytes). -->
<NameValPair ParamName="MAX_ROTATION_SIZE" Value="52428800" />
<!--Rotate the log file after 24 hours (expressed in seconds). -->
<NameValPair ParamName="MAX_ROTATION_TIME" Value="86400" />
<NameValPair ParamName="LOG_STATUS" Value="On" />
</ValNameList>
</CompoundList>
<!-- List of values that can be specified in the module config -->
<!-- -->
<!-- On - Uses loglevel set in the loglevel threshold -->
<!-- Off - No information is logged -->
<!-- LOGLEVEL_FATAL - serious error, possibly a program halt. -->
<!-- LOGLEVEL_ERROR - a transient or self-correcting problem. -->
<!-- LOGLEVEL_WARNING - a problem that does not cause an error. -->
<!-- LOGLEVEL_INFO - reports the current state of the component. -->
<!-- LOGLEVEL_DEBUG1 - basic debugging information. -->
<!-- LOGLEVEL_DEBUG2 - advanced debugging information. -->
<!-- LOGLEVEL_DEBUG3 - logs performance-sensitive code. -->
<!-- LOGLEVEL_TRACE - used when you need to trace the code path -->
<!-- execution or capture metrics. Includes all previous levels. -->
<!-- -->
<!-- List of modules that can be specified in the module config -->
<!-- -->
<!-- ALL_MODULES - Applies to all log modules -->
<!-- Specific module name - Applies to specific module -->
<!-- -->
<!-- -->
<!-- <ValNameList -->
<!-- xmlns="http://www.oblix.com" -->
<!-- ListName="MODULE_CONFIG"> -->
<!-- <NameValPair -->
<!-- ParamName="CONNECTIVITY" -->
<!-- Value="LOGLEVEL_TRACE"></NameValPair> -->
<!-- </ValNameList> --><!-- <!--FILTER_LIST is used to maintain list of attributes which need -->
<!-- to be treated as sensitive and hence will be filtered out from -->
<!-- from logs. FILTER_LIST consist of all attribute names along -->
<!-- with corresponding masking lengths.There should be separate -->
<!-- entry in the list for the display name of the attribute -->
<!-- identified as sensitive. All attributes configured are case -->
<!-- sensitive i.e. if we configured sensitive attribute homePhone -->
<!-- as HomePhone then it will not get filtered out from logs. -->
<!-- By default four attributes (password, Password, response and -->
<!-- Response) are configured as sensitive -->
<!-- A sample configuration is shown below -->
<!-- <ValNameList -->
<!-- xmlns="http://www.oblix.com" -->
<!-- ListName="FILTER_LIST"> -->
<!-- <NameValPair -->
<!-- ParamName="password" -->
<!-- Value="40"></NameValPair> -->
<!-- <NameValPair -->
<!-- ParamName="Password" -->
<!-- Value="40"></NameValPair> -->
<!-- <NameValPair -->
<!-- ParamName="response" -->
<!-- Value="40"></NameValPair> -->
<!-- <NameValPair -->
<!-- ParamName="Response" -->
<!-- Value="40"></NameValPair> -->
<!-- <NameValPair -->
<!-- ParamName="homePhone" -->
<!-- Value="40"></NameValPair> -->
<!-- </ValNameList> -->
<ValNameList xmlns="http://www.oblix.com" ListName="FILTER_LIST">
<NameValPair ParamName="password" Value="40" />
<NameValPair ParamName="Password" Value="40" />
<NameValPair ParamName="passwd" Value="40" />
<NameValPair ParamName="Passwd" Value="40" />
<NameValPair ParamName="response" Value="40" />
<NameValPair ParamName="Response" Value="40" />
</ValNameList>
</CompoundList>
9.3 ファイルまたはシステム・ファイルへのログ出力の送信について
ログ出力を送信先へ送信するには、ログ・ライターを構成します。
ログ・ライターはログ出力を次のうちの一方または両方に送信することも、いずれにも送信しないようにすることもできます。
-
ログ・ファイル。
このファイルは、コンポーネントのルート・インストール・ディレクトリの下にあります。
-
コンポーネントに対するホストのシステム・ファイル
複数のコンポーネントが同じホストに存在する場合、すべてのコンポーネントがそのホスト上のシステム・ログ・ファイルにデータを送信します。
特定のレベルのログまたは異なるレベルのログを、複数のタイプのログ・ライターに送信できます。たとえば、致命的データをシステム・ログに送信し、トレース・データをファイルに送信できます。または、致命的データをシステム・ログとファイルの両方に送信できます。
ログ・ハンドラ定義にあるLOG_WRITERパラメータを使用して、ログ構成ファイル内のログ・ライターを定義します。詳細は、「Webゲートの2番目の複合リストのパラメータとログ・ハンドラ」を参照してください。
ログ・ライターについて、表9-3で説明します。
表9-3 ログ・ライター
| ライター | 説明 |
|---|---|
|
|
ログに記録されるコンポーネントをホストするコンピュータのシステム・ログ・ファイルにデータを送信します。通常、システム・ログ・ファイルには、複数のアプリケーションおよびホスト・オペレーティング・システムによるイベント情報が含まれます。 Windowsマシンの場合、これは「マイ コンピュータ」、「管理」、「イベント ビューア」、「アプリケーション」にあるアプリケーション・ログ・ファイルです。 UNIXプラットフォームの場合、システム・ログ・ファイルの名前と場所は、システム管理者のコンピュータとプリファレンスに応じて異なります。ファイルの場所は、コンピュータの管理者に確認してください。 デフォルトのログ構成ファイルは、致命的メッセージ、エラー・メッセージおよび警告メッセージをシステム・ログ・ファイルに送信します。 |
|
|
このライターは、OAMサーバーまたはその他のシングルプロセス・アプリケーションのログ・データをディスク・ファイルに保存する場合にお薦めします。 FileLogWriterは、ログ・ファイルを開き、おおよそのファイル・サイズ制限またはファイル・ローテーション間隔に達するまでディスク書込み用にファイルを開いたままにします。複数のプロセスが同じログ・ファイルに書き込む必要のある状況では、このログ・ライターをお薦めしません。このような状況では、MPFileLogWriterを使用してください。 |
|
|
このライターは、FileLogWriterに似ていますが、データをファイルに書き込むたびにログ・ファイルを開いて閉じる点が異なります。これにより、複数のプロセスが順番にファイルに書き込むことができます。ただし、これによってパフォーマンスが大幅に低下します。 MPFileLogWriterは、マルチプロセスWebサーバー(Apacheなど)またはSolarisバージョンのiPlanet Webサーバーにインストールされているアクセス・クライアントなど、マルチプロセス・アプリケーションに関連するプロセスの一部で、FileLogWriterがロギング・データの記録に失敗する場合にのみ使用することをお薦めします。 |
9.4 Webゲートのログ構成ファイルの構造およびパラメータ
ログ構成ファイルは標準形式に準拠します。パラメータの編集や、ログ・ハンドラ定義と呼ばれる特定のセクションの追加または除去はできますが、ログ構成ファイルの基礎となる形式の変更はできません。
この後の項では、次の項目について説明します。
9.4.1 Webゲートのログ構成XMLファイル・ヘッダーの構造
XMLファイル・ヘッダーは、ログ構成ファイルの先頭にあります。
<?xml version="1.0" encoding="ISO-8859-1" ?>
ヘッダーは次の目的で使用します。
-
ヘッダーは、関連するXMLバージョン(常に1.0)を宣言します。
-
また、エンコーディング形式(常にISO-8559-1)を宣言します。
9.4.2 Webゲートの最初の複合リストの構造
ヘッダーの後に、最初の複合リストが続きます。
最初の複合リストは次のように区切られます。
<CompoundList xmlns="http://www.oblix.com" ListName="logframework.xml.staging"> . . . </CompoundList>
最初の複合リストの構造は次のとおりです。
-
複合リスト開始タグは、
xmlnsパラメータ内のログ構成ファイルの関連XMLネームスペースを示します。 -
また、複合リスト開始タグは、
ListNameパラメータ内の複合リストの名前を指定します。 -
複合リスト終了タグは、ファイルの最後の近くで発生します。
この複合リストは、すべての構成情報を区切ります。
9.4.3 Webゲートの単純なリストのパラメータとロギングしきい値
最初の複合リスト開始タグの後に、単純なリストでロギングのグローバル・デフォルトを設定します。
このリストの開始タグおよび終了タグは次のとおりです。
<SimpleList> . . . </SimpleList>
単純なリストの開始タグと終了タグとの間は、次のように構成します。
表9-4 最初の複合リストのグローバル・パラメータ
| パラメータ | 説明 |
|---|---|
|
|
デフォルトのロギングしきい値を設定します。 デフォルト値: 使用可能な値: 「ログ・レベル」に記載されているログ・レベルを参照してください。 グローバルしきい値により、特定のレベルおよびより一般的なレベルのログを収集し、下位レベルのログが収集されるのを防ぐことができます。このしきい値は、モジュール固有のしきい値でオーバーライドされます。詳細は、「異なるデータのタイプへの異なるしきい値レベルの構成」を参照してください。 |
|
|
セキュア・ロギングのメカニズムを動的に有効化または無効化します。サーバーやコンポーネントを再起動する必要はありません。 デフォルト値: On 使用可能な値: OnまたはOff |
|
|
セキュア・ロギングが有効なログしきい値を示します。 デフォルト値: 使用可能な値: 「ログ・レベル」に記載されているログ・レベルを参照してください。 ノート: |
|
|
セキュア・ロギングのメカニズムによって追加の情報が上書きされるのを防ぐための、エスケープ・シーケンス文字を構成します。ここに示すようにカンマ区切りのリストを使用します。 デフォルト値: ),] 使用可能な値: 文字のみ ノート: デフォルト値を使用することをお薦めします。不適切な文字を構成すると、機密情報がマスキングされない可能性があります。 |
|
|
FILTER_LISTで指定されていない場合に、デフォルトのマスキングの長さを指定します。 デフォルト値: 300 使用可能な値: 正の整数 ノート: FILTER_LISTは、2番目の複合リスト(ログ・ハンドラ)の後に表示されます。詳細は、「機密属性のフィルタ処理」を参照してください。 |
次の例は、oblog_config_wg.xmlファイルの最初の複合リストに表示されるグローバル設定を含む単純なリストを示しています。
<SimpleList>
<NameValPair
ParamName="LOG_THRESHOLD_LEVEL"
Value="LOGLEVEL_WARNING">
</NameValPair>
<NameValPair
ParamName="AUTOSYNC"
Value="True">
</NameValPair>
<NameValPair
ParamName="SECURE_LOGGING"
Value="On">
</NameValPair>
<NameValPair
ParamName="LOG_SECURITY_THRESHOLD_LEVEL"
Value="LOGLEVEL_TRACE">
</NameValPair>
<NameValPair
ParamName="LOG_SECURITY_ESCAPE_CHARS"
Value="),]">
</NameValPair>
<NameValPair
ParamName="LOG_SECURITY_MASK_LENGTH"
Value="300">
</NameValPair>
</SimpleList>9.4.4 Webゲートの2番目の複合リストのパラメータとログ・ハンドラ
グローバル設定を含む単純なリストの後と最初の複合リストの開始タグおよび終了タグの間に、追加の複合リストを指定します。この複合リストには、ログ・ハンドラ定義が含まれます。
このリストの開始タグおよび終了タグは次のとおりです。
<CompoundList xmlns="http://www.oblix.com" ListName="LOG_CONFIG"> . . . </CompoundList>
この複合リスト・タグは、次のように構成されます。
-
複合リスト開始タグ内で、
xmlnsパラメータは関連XMLネームスペースを示します。 -
また、開始タグでは、リストの名前を
ListNameパラメータに指定します。通常、このリストの名前は
LOG_CONFIGです。
ログ・ハンドラの複合リストの開始タグと終了タグとの間に、1つ以上のValNameList要素を指定します。各ValNameList要素には、ログ・ハンドラ定義が含まれます。この要素の各インスタンスの開始と終了は、次のとおりです。
<ValNameList xmlns="http://www.oblix.com" ListName="Unique_Name">
. . .
</ValNameList>
ValNameList要素は次のように構成されます。
-
開始タグは、関連XMLネームスペースを
xmlnsパラメータに設定します。 -
また、開始タグは、ログ・ハンドラの名前を
ListNameパラメータに設定します。
ValNameListの開始タグと終了タグとの間に、ログ・ハンドラを構成します。ログ・ハンドラ定義には、3つの必須NameValPair要素が含まれます。
-
最初の
NameValPair要素は、ログ・ハンドラのロギング・レベルを定義します。この要素には
ParamName="LOG_LEVEL"文が含まれています。その値は、表9-1にある予約名になります(次を参照)。<NameValPair ParamName="LOG_LEVEL" Value="LOGLEVEL_FATAL" />
-
2番目の
NameValPair要素は、ログ出力の宛先を定義します。この要素には
ParamName="LOG_WRITER"文が含まれ、その値は次のように表9-3の予約名です。<NameValPair ParamName="LOG_WRITER" Value="SysLogWriter" />
-
3番目の
NameValPair要素は、ログ・ハンドラのオンとオフを切り替えます。この要素には
ParamName="LOG_STATUS"文が含まれ、次のように、OnまたはOffの値を伴います。<NameValPair ParamName="LOG_STATUS" Value="On" />
最後に、ValNameListの開始タグと閉じタグ内で、FileLogWriterまたはMPFileLogWriterをログ・ライターとして指定すると、次のうちの一部またはすべてを追加するか、いずれも追加しないようにできます。詳細は、表9-7を参照してください。
-
宛先ファイル名
<NameValPair ParamName="FILE_NAME" Value="oblog.log" />
-
バッファ・サイズ
<NameValPair ParamName="BUFFER_SIZE" Value="65535" />
-
新しいログ・ファイルが生成される時期を決定するファイル・サイズ
<NameValPair ParamName="MAX_ROTATION_SIZE" Value="52428800" />
-
新しいログ・ファイルが生成される間隔を決定する時間(秒)
<NameValPair ParamName="MAX_ROTATION_TIME" Value="86400" />
9.4.5 モジュール固有のロギング用Webゲートのリストのパラメータ
ログ・ハンドラを区切る複合リスト終了タグの後および最初の複合リストの終了タグの前に、モジュール固有のロギング・パラメータを追加できます。
詳細は、「異なるデータのタイプへの異なるしきい値レベルの構成」を参照してください。
9.4.6 Webゲートのフィルタ・リストのパラメータ
FILTER_LISTパラメータに関連付けられている名前と値の各ペアは、ログへの書込みの前にチェックする単語やフレーズの名前、およびその単語またはフレーズのマスキングの長さを指定します。ロギング時には、その単語またはフレーズがマスキングされ、ログ・ファイルから削除されます。
つまり、ロギング時には、Access Managerはマスキングされる値が属性、表示名またはそれ以外のもの(プレーン・テキスト)のいずれであるかを認識しません。セキュア・ロギングは、FILTER_LISTに追加された単語またはフレーズを検索し、検出されたそれらの単語やフレーズの後に続くすべてのデータをマスキングすることで実行されます。たとえば、次のような文があるとします。
\csabuild\coreid1014\np_common\db\ldap\util\ldap_util3.cpp:3107 "ldap_parse_result of Simple Bind" ld handle^0x0779FA00 result^0x09FB0088 bind^cn=orcladmin LDAP bind operation status code^0 Additional error message^ freeit^0 parse_rc^0
セキュア・ロギングを有効にしてFILTER_LISTに(属性でも表示名でもない) bindを追加すると、FILTER_LIST内の単語(ここではbind)に続くすべてのデータがマスキングされます。この例の場合、ログの内容は次のように表示されます。
\csabuild\coreid1014\np_common\db\ldap\util\ldap_util3.cpp:3107 "ldap_parse_result of Simple Bind" ld handle^0x0779FA00 result^0x09FB0088 bind^cn=orcladmin LDAP bind********** status code^0 Additional error message^ freeit^0 parse_rc^0
すべての属性は大/小文字が区別されます。たとえば、属性の表示名としてPasswordではなくpasswordと入力した場合、Passwordはフィルタ処理されません。デフォルトでは、password、Password、responseおよびResponseの4つの属性が、フィルタ・リスト内で常に構成されています。
デフォルトのマスキングの長さは40で、これら4つのデフォルト属性に対して個々に指定されています。デフォルト属性のデフォルトのマスキングの長さは、必要に応じて変更できます。フィルタ・リストにその他の属性を追加する場合は、マスキングの長さとして、より大きい値が必要になる可能性があります(たとえば300)。
次の例に、デフォルトのフィルタ・リストを示します。
<ValNameList>
xmlns="http://www.oblix.com"
ListName="FILTER_LIST">
<NameValPair
ParamName="password"
Value="40"></NameValPair>
<NameValPair
ParamName="Password"
Value="40"></NameValPair>
<NameValPair
ParamName="passwd"
Value="40"></NameValPair>
<NameValPair
ParamName="Passwd"
Value="40"></NameValPair>
<NameValPair
ParamName="response"
Value="40"></NameValPair>
<NameValPair
ParamName="Response"
Value="40"></NameValPair>
</SimpleList>
フィルタ・リストに別の属性を追加する場合は、表示名および属性名をディレクトリ・サーバーに含める必要があります。
9.4.7 WebゲートのXML要素の順序
XMLを使用する場合、要素自体が変更されず、最初に囲まれていたタグ内に含まれているかぎり、リスト内で並列の要素を任意の順序で指定できます。
たとえば、次の例のリストは同等です。
<ValNameList xmlns="http://www.example.com" ListName="LogError2Sys"> <NameValPair ParamName="LOG_LEVEL" Value="LOGLEVEL_ERROR" /> <NameValPair ParamName="LOG_WRITER" Value="SysLogWriter" /> <NameValPair ParamName="LOG_STATUS" Value="On" /> </ValNameList>
<ValNameList xmlns="http://www.example.com" ListName="LogError2Sys"> <NameValPair ParamName="LOG_WRITER" Value="SysLogWriter" /> <NameValPair ParamName="LOG_LEVEL" Value="LOGLEVEL_ERROR" /> <NameValPair ParamName="LOG_STATUS" Value="On" /></ValNameList>
同様に、ある特定のタグ内の属性(常にタグの山カッコ内の最初の要素である必要があるタグ名を除く)は、変更されておらず、最初に囲まれていたタグ要素内にあるかぎり、並べ替えることができます。次の例の名前/値リストの開始タグは同等です。
<ValNameList xmlns="http://www.example.com" ListName="LogError2Sys">
<ValNameList ListName="LogError2Sys" xmlns="http://www.example.com">
9.5 ロギング・レベルのアクティブ化および抑制
特定のログ・ハンドラでは、ロギング・レベルのアクティブ・ステータスが様々な要因によって決まります。
表9-5に、これらの要因をリストします。
表9-5 ロギングがアクティブかどうかを決定する要因
| 要因 | 重要度 | 説明 |
|---|---|---|
|
|
プライマリ |
このパラメータは、ロギングのカットオフを設定します。しきい値よりも詳細なログ・レベルは抑制されます。有効なログ・レベルは、表9-1を参照してください。
|
|
|
プライマリ |
このパラメータは、グローバル・ロギングしきい値のモジュール固有のオーバーライドを設定します。 詳細は、「異なるデータのタイプへの異なるしきい値レベルの構成」を参照してください。 |
|
|
セカンダリ |
このパラメータは、ロギングしきい値またはモジュール固有のオーバーライドでオーバーライドされないかぎり、ロギングのオンとオフを切り替えます。 |
|
ログ・ハンドラの物理的な位置 |
セカンダリ |
「ログ・ハンドラの優先順位について」を参照してください。 |
9.5.1 ログ・ハンドラの優先順位について
ログ構成ファイルに単一のログ・レベルに対して最大3つのログ・ハンドラ定義を構成できます。
特定のログ・レベルの出力を、表9-3で説明される3つの各ログ・ライターに送信する場合は、3つの異なるログ・ハンドラが必要です。
異なるLOG_STATUS設定をこれらのログ・ハンドラに設定する場合、ログ構成ファイルの物理的な終わりに最も近いログ・ハンドラ定義の設定が、同一のログ・レベルの他のログ・ハンドラ定義のステータスを設定します。たとえば、「エラー」ログ・レベルの最初の2つのログ・ハンドラに対してLOG_STATUSをOffに設定できますが、構成ファイル内の3番目の最後のログ・ハンドラに対してLOG_STATUSをOnに設定すると、ロギングは3つのハンドラすべてに対して行われます。
LOG_STATUS設定は、そのレベルが現在のLOG_THRESHOLD_LEVELよりもきめ細かい場合には、無意味になります。この場合、しきい値がモジュール固有のしきい値でオーバーライドされないかぎり、ロギングはこのレベルでアクティブ化されません。詳細は、「異なるデータのタイプへの異なるしきい値レベルの構成」を参照してください。
9.6 必須のログ構成ファイル・パラメータ
各ログ・ハンドラ定義には、最低でも5つのパラメータが含まれます。
表9-6に、それらのパラメータを示します。
表9-6 必須のログ構成ファイル・パラメータ
| パラメータ | コメント |
|---|---|
|
|
このパラメータは 現在のリストの関連XMLネームスペースを指定し、ある特定のロギング構成ファイル内のすべてのログ・ハンドラ定義に対して同一です。例:
|
|
|
このパラメータは 新規のログ・ハンドラ定義の作成の際、他のログ・ハンドラと間違えることのない憶えやすい名前を選択してください。例:
|
|
|
これにより、ログ・レベルが指定されます。詳細は、表9-1を参照。 デフォルトのロギング構成ファイルは、「致命的」、「エラー」、「警告」の3つのレベルのロギングをアクティブにします。 |
|
|
このログ・ライターのログ出力の宛先を指定します。詳細は、表9-3を参照。 デフォルトのログ構成ファイルは、出力をシステム・ログとロギングを行っているコンポーネントのログ・データ・ファイルの両方に送信します。 |
|
|
このパラメータは、ログ・ハンドラを |
LOG_WRITERパラメータの値としてFileLogWriterまたはMPFileLogWriterを指定した場合は、表9-7の4つのパラメータが意味を持ちます。
表9-7 ログ・データ・ファイル構成パラメータ
| パラメータ | 説明 | デフォルト |
|---|---|---|
|
|
必須。FileLogWriterまたはMPFileLogWriterのみに使用します。ログ・データが書き込まれるファイルの名前と場所です。 ファイル名に絶対パスを付加して、次のデフォルトの場所以外に格納できます。 component_install_dir\oblix\logs component_install_dirは、システム・イベントをロギングするコンポーネントのルート・インストール・ディレクトリです。 出力をFileLogWriterまたはMPFileLogWriterに送信する複数のログ・ハンドラ定義を作成した場合は、各ケースに一意のファイル名を指定して、複数のハンドラが同じファイルに書込みを試行しないようにします。この注意事項は、SysLogWriterにアクセスしているログ・ハンドラには適用されません。 |
oblog.log |
|
|
オプション。これは、ログ・ファイルに書き込まれるログ・データのバッファのサイズ(バイト単位)です。 バッファ値をゼロ(0)または負の数に設定した場合、デフォルト値が使用されます。バッファせずにログ・ファイルを即座に書き込む場合、5などの小さい値に設定します。システムに障害がある場合、小さいバッファ・サイズを設定することをお薦めします。 |
65535 (64KB) |
|
|
オプション。ログ・ファイルがこのサイズ(バイト単位)に達すると、タイムスタンプがファイル名に追加されます。たとえば、 |
52428800 (512KB) |
|
|
オプション。最大ローテーション・サイズに達したかどうかにかかわらず、ログ・ファイル名が変更される時間間隔(秒単位)です。 ローテーション時間によってファイルがいつローテーションされるかが決定する場合、ログ・ファイルに追加される数値はローテーション間隔の秒数だけ異なります。たとえば、 ノート: このパラメータに設定できる最小値は3600秒です。 |
86400 (1日(秒単位)) |
次の各項では、詳細を説明します。
9.6.1 デフォルトのログ構成ファイルの設定
各コンポーネントとともにインストールされるログ構成ファイルは、ログに記録されるイベントの階層の上位3つのレベル(「致命的」、「エラー」および「警告」)のみアクティブにし、すべてのログ出力をシステム・ログに送信ます。
Windowsコンピュータでは、「マイ コンピュータ」、「管理」、「イベント ビューア」、「アプリケーション」にナビゲートすることで、ロギングしているコンポーネントをホストするコンピュータのシステム・ログを表示できます。ログに記録されるコンポーネントのシステム・イベント・エントリは、オペレーティング・システムおよびAccess Manager以外のアプリケーションに対してレポートされるシステム・イベントに散在します。
SolarisおよびLinux環境の場合、システム・ログの場所はシステム構成ファイルに記録されますが、このシステム構成ファイルの細目はコンピュータごとに異なる場合があります。このシステム・ファイルやシステム・ログの名前と場所については、システム・ログを調べるコンポーネントのホストとなるコンピュータの所有者に相談してください。
次の例に、デフォルトのログ構成ファイルを示します(ここでは、ファイル構造を明らかにするためにコメントを削除しています)。
<?xml version="1.0" encoding="utf-8"?>
<CompoundList
xmlns="http://www.oblix.com
ListName="oblog_config_wg.xml.staging">
<SimpleList>
<NameValPair
ParamName="LOG_THRESHOLD_LEVEL"
Value="LOGLEVEL_WARNING"></NameValPair>
</SimpleList>
<SimpleList>
<NameValPair
ParamName="AUTOSYNC"
Value="True"></NameValPair>
</SimpleList>
<SimpleList>
<NameValPair
ParamName="SECURE_LOGGING"
Value="On"></NameValPair>
</SimpleList>
<SimpleList>
<NameValPair
ParamName="LOG_SECURITY_THRESHOLD_LEVEL"
Value="LOGLEVEL_TRACE"></NameValPair>
</SimpleList>
<SimpleList>
<NameValPair
ParamName="LOG_SECURITY_ESCAPE_CHARS"
Value="),]"></NameValPair>
</SimpleList>
<SimpleList>
<NameValPair
ParamName="LOG_SECURITY_MASK_LENGTH"
Value="300"></NameValPair>
</SimpleList>
<CompoundList
xmlns="http://www.oblix.com"
ListName="LOG_CONFIG">
<ValNameList
xmlns="http://www.oblix.com"
ListName="LogFatal2Sys">
<NameValPair
ParamName="LOG_LEVEL"
Value="LOGLEVEL_FATAL"></NameValPair>
<NameValPair
ParamName="LOG_WRITER"
Value="SysLogWriter"></NameValPair>
<NameValPair
ParamName="LOG_STATUS"
Value="On"></NameValPair>
</ValNameList>
<ValNameList
xmlns="http://www.oblix.com"
ListName="LogAll2File">
<NameValPair
ParamName="LOG_LEVEL"
Value="LOGLEVEL_ALL"></NameValPair>
<NameValPair
ParamName="LOG_WRITER"
Value="FileLogWriter"></NameValPair>
<NameValPair
ParamName="FILE_NAME"
Value="oblog.log"></NameValPair>
<NameValPair
ParamName="BUFFER_SIZE"
Value="65535"></NameValPair>
<NameValPair
ParamName="MAX_ROTATION_SIZE"
Value="52428800"></NameValPair>
<NameValPair
ParamName="MAX_ROTATION_TIME"
Value="86400"></NameValPair>
<NameValPair
ParamName="LOG_STATUS"
Value="On"></NameValPair>
</ValNameList>
</CompoundList>
<ValNameList
xmlns="http://www.oblix.com"
ListName="FILTER_LIST">
<NameValPair
ParamName="password"
Value="40"></NameValPair>
<NameValPair
ParamName="Password"
Value="40"></NameValPair>
<NameValPair
ParamName="passwd"
Value="40"></NameValPair>
<NameValPair
ParamName="Passwd"
Value="40"></NameValPair>
<NameValPair
ParamName="response"
Value="40"></NameValPair>
<NameValPair
ParamName="Response"
Value="40"></NameValPair>
</ValNameList>
</CompoundList>9.6.2 デフォルトのログ構成ファイルの設定の説明
デフォルトの構成ファイルは致命的メッセージ、エラー・メッセージおよび警告メッセージをシステム・ログとoblog.logというログ・データ・ファイルの両方に送信します。
ファイルの上部近くにある単純なリストは、次のパラメータを設定します。
-
これは
LOG_THRESHOLD_LEVELをWarningに設定します。しきい値は警告よりもきめ細かいレベルのロギングを抑制します。このしきい値はオーバーライドできます。詳細は、「異なるデータのタイプへの異なるしきい値レベルの構成」を参照してください。
ネストした複合リストには、4つのログ・ハンドラ定義が含まれます。
-
LogFatal2Sysという名前の最初のログ・ハンドラ定義は、ロギング・レベルをFatalに設定し、LOG_STATUSをOnに設定します。しきい値レベルは警告で、致命的よりもきめ細かいため、この定義は有効になりません。
LOG_WRITERパラメータで指定されたように、ログ出力はシステム・ログに書き込まれます。 -
LogError2Sysログ・ハンドラ定義は、エラー・レベル・メッセージをシステム・ログに送信します。エラーは現在のしきい値レベル(警告)より前にあるため、この定義が有効になります。
-
LogWarning2Sys定義は、警告レベル出力をシステム・ログに送信します。前の2つのログ・ハンドラ定義と同様に、この定義は現在の
LOG_THRESHOLD_LEVELパラメータによってオーバーライドされません。 -
最後のログ・ハンドラ定義である
LogAll2Fileは、すべてのログ・レベルの出力をoblog.logというディスク・ファイルに送信します。LOG_THRESHOLD_LEVELパラメータを警告に設定すると、「致命的」、「エラー」および「警告」レベルの出力のみがこのログ・データ・ファイルに記録されます。LogAll2Fileからの出力はFileLogWriterに送信されるため、ファイル名、バッファ・サイズ、ローテーション・サイズおよびローテーション間隔を制御するパラメータはすべて有効になります。
図9-1は、デフォルトのログ構成ファイルでのログレベルのアクティブ化を示します。
9.7 異なるデータのタイプへの異なるしきい値レベルの構成
問題の診断では、コンポーネントが実行するすべての操作の詳細なログを必要としない場合があります。
たとえば、アイデンティティ・サーバーがそのディレクトリに送信するリクエストの応答時間の遅れを診断する場合、LDAP操作の詳細ログを必要とし、それ以外タイプの操作は詳細でなくても構いません。
リリース10.1.4.2では、Access Managerで一部のコンポーネントの詳細なログを生成し、他のコンポーネントでは簡潔なログを生成するまたはログを生成しないように、モジュール固有または機能固有のしきい値レベルをログ構成ファイルで構成できます。
モジュール固有ロギングしきい値は、oblog_config_wg.xmlファイルのMODULE_CONFIGセクションで構成します。MODULE_CONFIGセクションは、このファイルの単純なリストのセクション内のLOG_THRESHOLD_LEVELで指定するグローバルのデフォルトをオーバーライドします。
この後の項では、次の項目について説明します。
9.7.1 MODULE_CONFIGセクションについて
グローバルしきい値に加えて、構成ファイルには、機能固有またはモジュール固有のログしきい値を定義するValNameListを含めることができます。常に、このリストの名前はMODULE_CONFIGです。
「Webゲートのログ構成ファイルの構造およびパラメータ」の説明に従って、ログ構成ファイルでグローバル・ロギングしきい値を構成します。次に、グローバル設定LOG_THRESHOLD_LEVELの例を示します。
<SimpleList>
<NameValPair ParamName="LOG_THRESHOLD_LEVEL" Value="LOGLEVEL_WARNING" />
. . .
</SimpleList>
ログ構成ファイルで許可されるのはMODULE_CONFIGのインスタンス1つのみで、リストの情報はファイル内に定義されているすべてのログ・ライターに適用されます。リリース10.1.4.2では、デフォルトのログ構成ファイルにはMODULE_CONFIGリストのコマンドのサンプルが含まれます。
MODULE_CONFIGリストの各項目は、次の例に示すように、モジュールのロギング・レベルを設定します。
<ValNameList xmlns="http://www.oblix.com" ListName="MODULE_CONFIG">
<NameValPair ParamName="LDAP" Value="LOGLEVEL_TRACE"></NameValPair> <NameValPair ParamName="DB_RUNTIME" Value="LOGLEVEL_TRACE"></NameValPair></ValNameList>
このセクションの要素を次に示します。
-
ValNameListタグは、モジュール固有ロギングしきい値を区切ります。 -
1つの
NameValPairタグが、特定の各モジュール固有ロギングしきい値を区切ります。 -
ParamNameパラメータは、モジュールまたは機能の名前を設定します。使用可能な値のリストは、表9-8を参照してください。
-
Valueパラメータは、ParamNameパラメータの値として指定したモジュールのロギングしきい値を設定します。表9-1に、
Valueパラメータで使用可能な値をリストします。これらの値に加えて、値をONに設定するとモジュールのロギングを有効にし、値をOFFに設定すると特定のモジュールのロギングを無効にできます。
次の各項では、詳細を説明します。
9.7.1.1 ログ構成ファイルのモジュール固有ロギング・セクションの場所
ログ構成ファイルの終了近く、ログ・ハンドラの複合リストの終了タグの後およびファイル内の最初の複合リストの終了タグの前に、モジュール固有しきい値セクションを追加します。
このセクションには、モジュール固有ロギング・セクションの例が含まれます。詳細は、「機能またはモジュールに対するログ・レベルしきい値の構成」を参照してください。
9.7.1.2 ログを記録できるモジュールのリスト
MODULE_CONFIGリスト内でParamNameパラメータの値を指定できます。
表9-8に、ログに記録できる値のリストの一部を示します。
表9-8 モジュール固有ロギングしきい値に構成できるParamNameの値
| ParamName値 | このパラメータで設定するロギングしきい値 |
|---|---|
|
|
OAMサーバーのポリシーの一部として構成された起動されるアクションのロギングしきい値を設定します。 <ValNameList xmlns="http://www.oblix.com"
ListName="MODULE_CONFIG">
<NameValPair Paramname="AAA_ACTIONS" Value="OFF">
</NameValPair> |
|
|
Access Managerエンジンで実行されたアクティビティのロギングしきい値を設定します。 |
|
|
リソース操作が保護されるかどうかの決定に関連するすべてのOAMサーバー・アクティビティのロギングしきい値を設定します。 |
|
|
アクセス・クライアントまたはWebgateで実行される操作のロギングしきい値を設定します。 |
|
|
アクセス・クライアントで実行される操作のロギングしきい値を設定します。 |
|
|
Access Manager SDKインタフェースで実行された操作のロギングしきい値を設定します。 詳細は、『Oracle Access Managementでのアプリケーションの開発』を参照してください。 |
|
|
OAMサーバーで実行される操作のロギングしきい値を設定します。 |
|
|
Access Manager SDKのロギングしきい値を設定します。 詳細は、『Oracle Access Managementでのアプリケーションの開発』を参照してください。 |
|
|
監査のロギングしきい値を設定します。 詳細は、「管理イベントおよびランタイム・イベントの監査」を参照してください。 |
|
|
ユーザー認証操作のロギングしきい値を設定します。 |
|
|
認証スキーム管理のロギングしきい値を設定します。 |
|
|
認証プラグインで実行された操作のロギングしきい値を設定します。 |
|
|
ユーザー認可操作のロギングしきい値を設定します。 |
|
|
認可スキーム管理のロギングしきい値を設定します。 |
|
|
認可プラグイン操作のロギングしきい値を設定します。 |
|
|
キャッシュ管理およびキャッシュ上の操作のロギングしきい値を設定します。 |
|
|
接続管理のロギングしきい値を設定します。 |
|
|
接続ランタイムのロギングしきい値を設定します。 |
|
|
クライアントとサーバー間の接続性およびメッセージのロギングしきい値を設定します。 |
|
|
データ・ストア・インタフェース・レイヤー構成のロギングしきい値を設定します。 |
|
|
データ・ストア・インタフェース・レイヤーのランタイムのロギングしきい値を設定します。 |
|
|
診断フレームワークのロギングしきい値を設定します。 |
|
|
ディレクトリ内のグループ・マネージャ・データのアクセスをロギングするしきい値を設定します。 |
|
|
グループ・マネージャ操作をロギングするしきい値を設定します。 |
|
|
HTTPリクエスト処理をロギングするしきい値を設定します。 |
|
|
IDXML操作をロギングするしきい値を設定します。 |
|
|
LDAP SDKのロギングしきい値を設定します。たとえば: <ValNameList xmlns="http://www.oblix.com"
ListName="MODULE_CONFIG">
<NameValPair Paramname="LDAP" Value="LOGLEVEL_TRACE">
</NameValPair> |
|
|
ネットワークAPIのロギングしきい値を設定します。 |
|
|
|
|
|
Identityクライアントのロギングしきい値を設定します。 |
|
|
ポリシーおよびポリシー・ドメイン管理のロギングしきい値を設定します。 |
|
|
アイデンティティ・イベントAPIプラグイン操作のロギングしきい値を設定します。 |
|
|
クエリー・ビルダー操作のロギングしきい値を設定します。 |
|
|
セキュリティおよび暗号化ライブラリのロギングしきい値を設定します。 |
|
|
セレクタ操作のロギングしきい値を設定します。 |
|
|
サーバー・インフラストラクチャのロギングしきい値を設定します。 |
|
|
シングル・サインオン・トークン管理。 |
|
|
ユーティリティ・クラスのロギングしきい値を設定します。 |
|
|
Webサーバー・プラグイン・インタフェースのロギングしきい値を設定します。 |
|
|
XMLインフラストラクチャのロギングしきい値を設定します。 |
9.8 機密属性のフィルタリング
セキュア・ロギングをアクティブ化してデフォルトのフィルタ・リストを拡張すると、ログ・ファイルの機密情報をマスキングできます。
フィルタ・リストに属性を追加する場合は、表示名および属性名をディレクトリ・サーバーに含める必要があります。次の手順では、このタスクの実行方法を説明します。この例では、ユーザーの自宅電話番号(表示名Home Phone、属性名homePhone)をフィルタ処理します。実際には、任意の属性をフィルタ処理できます。
ノート:
FILTER_LISTに値を追加するごとに、セキュア・ロギングの使用にかかるランタイム・コストが増加します。
ランタイム・コストを抑えるために、FILTER_LISTの使用を最適化することをお薦めします。たとえば、ParamNameの2つのバリエーション(User PasswordとuserPassword)を追加するかわりに、1つのみを使用できます。ParamNameとしてPasswordを使用すると、User Password、 userPassword、およびPasswordで終わるその他の単語がマスキングされます。また、FILTER_LISTにHome PhoneとhomePhoneの両方を含めるかわりに、Phoneのみを使用できます。
関連項目:
-
ログ構成ファイルをテキスト・エディタで開きます。
Webgate_install_dir\identity|access\oblix\config\oblog_config_wg.xml
-
oblog_config_wg.xmlで、次の操作を行います。
-
セキュア・ロギングがアクティブであることを確認します。たとえば:
<SimpleList> <NameValPair ParamName="SECURE_LOGGING" Value="On"></NameValPair> </SimpleList> -
ファイルの最後にある
FILTER_LISTを探します。たとえば:<ValNameList xmlns="http://www.oblix.com" ListName="FILTER_LIST"> <NameValPair ParamName="password" Value="40" /> <NameValPair ParamName="Password" Value="40" /> <NameValPair ParamName="response" Value="40" /> <NameValPair ParamName="Response" Value="40" /> </ValNameList> -
マスキングする表示名とマスキングの長さの値を追加し、属性とマスキングの長さの値を追加します。たとえば:
<NameValPair ParamName="Home Phone" Value="300" /> <NameValPair ParamName="homePhone" Value="300" />ノート:
テスト用に、
LOG_THRESHOLD_LEVELおよびLOG_SECURITY_THRESHOLD_LEVELをTRACEに設定します。ステップ6aを参照してください。 -
LOG_THRESHOLD_LEVELとLOG_SECURITY_THRESHOLD_LEVELが同じレベルである、または互いに一貫性があることを確認します(表9-4を参照してください)。たとえば:<SimpleList> <NameValPair ParamName="LOG_THRESHOLD_LEVEL" Value="LOGLEVEL_WARNING" /> </SimpleList> ... <SimpleList> <NameValPair ParamName="LOG_SECURITY_THRESHOLD_LEVEL" Value="LOGLEVEL_ WARNING" /> </SimpleList>
-
oblog_config_wg.xmlファイルを保存します。
-
-
ユーザー・パスワードのフィルタ処理: 次のステップを実行し、「Webゲートのフィルタ・リストのパラメータ」を参照してください。
oblog_config_wg.xmlのフィルタ・リストに表示名User Passwordおよび対応する属性を追加し、それぞれのマスキングの長さを設定します。たとえば:
<ValNameList xmlns="http://www.oblix.com" ListName="FILTER_LIST"> ... <NameValPair ParamName="User Password" Value="40" /> <NameValPair ParamName="userPassword" Value="40" /> </ValNameList> -
次の手順で、セキュア・ロギングおよび機密情報のフィルタリングをテストします。
-
oblog_config_wg.xmlファイルで、
LOG_THRESHOLD_LEVELおよびLOG_SECURITY_THRESHOLD_LEVELをTRACEに設定します。<NameValPair ParamName="LOG_THRESHOLD_LEVEL" Value="LOGLEVEL_TRACE" /> ... <NameValPair ParamName="LOG_SECURITY_THRESHOLD_LEVEL" Value="LOGLEVEL_ TRACE" />
-
セキュア・ロギングを構成したコンポーネントに関係するタスクを実行します。たとえば:
リソースへのアクセス
ユーザーのプロファイルで属性の値を表示または変更します。フィルタ処理する属性が
homePhoneの場合はHome Phoneです。 -
次のoblogをチェックし、フィルタ処理した属性値が***********のように文字列でマスキングされていることを確認します。
Webgate_install_dir/access/oblix/log/oblog.log
-
oblog_config_wg.xmlファイルで
LOG_THRESHOLD_LEVELおよびLOG_SECURITY_THRESHOLD_LEVELを企業の目的に合ったレベルにリセットします。 -
必要に応じて、oblog_config_wg.xmlファイルでフィルタ処理する属性のマスキングの長さを調整します。たとえば:
<NameValPair ParamName="Home Phone" Value="340" /> <NameValPair ParamName="homePhone" Value="340"/>
-
-
デプロイ内の、1つ以上のマスキング対象属性を含むコンポーネントごとに、ステップ1から6を繰り返します。
