#### ログ

ログサービスは、OpenSSO の管理に関連する状態メッセージやエラーメッセージを提供します。管理者は、ログファイルのサイズや場所などの値を設定できます。OpenSSO は、フラットテキストファイルかリレーショナルデータベースにイベントを記録できます。ログサービス属性はグローバル属性です。属性は次のとおりです。

- 「最大ログサイズ」

- 「履歴ファイルの数」

- 「ログファイルの場所」

- 「ログタイプ」

- 「データベースユーザー名」

- 「データベースユーザーパスワード」

- 「データベースユーザーパスワード (確認)」

- 「データベースドライバ名」

- 「設定可能なログフィールド」

- 「ログ検証頻度」

- 「ログ署名時間」

- 「セキュリティー保護されたログ」

- 「レコードの最大数」

- 「アーカイブあたりのファイル数」

- 「バッファーサイズ」

- 「DB 失敗メモリーバッファーサイズ」

- 「バッファー時間」

- 「時間バッファリング」

##### 最大ログサイズ

この属性は、OpenSSO ログファイルの最大サイズ (バイト単位) の値を指定します。デフォルト値は 1000000 です。

##### 履歴ファイルの数

この属性は、履歴解析のために保持するバックアップログファイルの数に等しい値を持ちます。ローカルシステムのパーティションサイズと利用可能なディスク容量に応じて、任意の整数値を入力できます。デフォルト値は 3 です。

このファイル数は FILE ログタイプにのみ適用されます。ログタイプが DB の場合、履歴ファイルは存在せず、OpenSSO によって明示的に設定されるファイルサイズ制限も存在しません。

注 – 値として 0 を入力すると値 1 と同様に解釈されます。つまり、0 を指定すると履歴ログファイルが 1 つ作成されます。

##### ログファイルの場所

ファイルベースのログ機能には、ログファイルを格納する場所が必要です。デフォルトの場所は次に示すとおりです。

`CONFIG_DIR_SERVER_URI/logs`

`CONFIG_DIR_SERVER_URI/logs` は、ベース設定ディレクトリおよび OpenSSO のサーバーの URI を表すタグです。ログサービスは、インスタンスのログを保存する適切なディレクトリを実行時に決定します。この属性の値には明示的なパスを設定できますが、ベースパスにはその設定ディレクトリを設定するようにしてください。

デフォルト以外のディレクトリを指定した場合、そのディレクトリが存在しなければ、OpenSSO によってそのディレクトリが作成されます。したがって、「0700」などの適切なアクセス権をそのディレクトリに対して設定する必要があります。

DB (データベース) ログ (Oracle または MySQL など) のログの場所を設定する場合、ログの場所は大文字と小文字が区別されます。たとえば、Oracle データベースにログを書き込む場合、ログの場所は次のようになります。大文字と小文字は区別されますので、注意してください。

`jdbc:oracle:thin:@machine.domain:port:DBName`

DB にログを書き込むようにするには、JDBC ドライバファイルを Web コンテナの JVM クラスパスに追加してください。手動で JDBC ドライバファイルを `amadmin` スクリプトのクラスパスに追加する必要があります。そうしないと、`amadmin` ログでは JDBC ドライバをロードできません。

通常、ログ属性に対する変更内容は、保存が完了すると有効になります。その場合、サーバーを再起動する必要はありません。ただし、セキュリティー保護されたログに切り替える場合には、サーバーを再起動する必要があります。

##### ログ状態

ログが有効 (ACTIVE) か無効 (INACTIVE) かを指定します。値はインストール時に ACTIVE に設定されます。

##### ログレコードでホスト名を解決する

false に設定すると、ログレコードの HostName フィールドを生成するためのホスト検索は実行されません。

##### ログタイプ

フラットファイルログには「ファイル」を、データベースログには「DB」を指定できます。

「データベースユーザー名」または「データベースユーザーパスワード」の値が無効である場合、それは OpenSSO の処理に深刻な影響を及ぼします。OpenSSO またはコンソールが不安定になった場合は、「ログ状態」属性を INACTIVE に設定します。

プロパティーの設定が完了したら、サーバーを再起動します。そうすると、コンソールにログインできるようになるので、問題のログ属性をリセットします。その後、「ログ状態」プロパティーを ACTIVE に変更し、サーバーを再起動します。

##### データベースユーザー名

この属性は、ログタイプ属性が DB に設定されている場合に、データベースに接続するユーザーの名前を指定します。

##### データベースユーザーパスワード

この属性は、ログタイプ属性が DB に設定されている場合に、データベースユーザーのパスワードを指定します。

##### データベースユーザーパスワード (確認)

データベースパスワードを確認します。

##### データベースドライバ名

この属性を使用すると、ログ実装クラスに使用するドライバを指定できます。

##### 設定可能なログフィールド

記録されるフィールドのリストです。デフォルトでは、すべてのフィールドがログに記録されます。フィールドは次のとおりです。

- CONTEXTID

- DOMAIN

- HOSTNAME

- IPADDRESS

- LOGGED BY

- LOGLEVEL

- LOGINID

- MESSAGEID

- MODULENAME

少なくとも、CONTEXTID、DOMAIN、HOSTNAME、LOGINID、および MESSAGEID だけは、ログに記録することをお勧めします。

##### ログ検証頻度

この属性は、サーバーがログを検証して改ざんを検出する頻度 (秒単位) を設定します。デフォルトの時間は 3600 秒です。このパラメータは、セキュリティー保護されたログにのみ適用されます。

##### ログ署名時間

このパラメータは、ログに署名する頻度 (秒単位) を設定します。デフォルトの時間は 900 秒です。このパラメータは、セキュリティー保護されたログにのみ適用されます。

##### セキュリティー保護されたログ

この属性は、セキュリティー保護されたログを有効または無効にします。デフォルトでは、セキュリティー保護されたログはオフです。セキュリティー保護されたログによって、セキュリティーログの不正な変更や改ざんを検出できます。

注 – セキュリティー保護されたログは、フラットファイルでのみ使用できます。このオプションは、データベース (DB) ログでは機能しません。

##### セキュリティー保護されたログの署名アルゴリズム

この属性は、RSA および DSA (デジタル署名アルゴリズム) を定義します。これらは、署名に秘密鍵を使用し、検証に公開鍵を使用します。次の中から選択できます。

- MD2 w/RSA

- MD5 w/RSA

- SHA1 w/DSA

- SHA1 w/RSA

MD2、MD5 および RSA は一方向のハッシュです。たとえば、署名アルゴリズム「MD2 w/RSA」を選択すると、セキュリティー保護されたログ機能により、MD2 を使用してメッセージのグループが生成され、RSA 秘密鍵を使用してその値が暗号化されます。この暗号化された値が元のログレコードの署名であり、最新の署名の対象レコードのうち最後のものに付加されます。検証の際、署名は RSA 秘密鍵によって復号化され、復号化された値とログレコードのグループが比較されます。このとき、セキュリティー保護されたログ機能は、ログレコードが 1 つでも変更されていればその変更を検出します。

##### ログ証明書ストアの場所

セキュリティー保護されたログが有効になっている場合、ログサービスはこの属性で指定された場所でログの証明書を探します。実際のディレクトリパスは実行時に決定されます。この値には明示的なパスを設定できますが、ベースパスは OpenSSO インスタンスがアクセスできるパスにしてください。

##### レコードの最大数

この属性は、読み取りクエリーと一致するレコードの数に関係なく、Java LogReader インタフェースが返すレコードの最大数を設定します。デフォルトでは 500 に設定されています。この属性は、LogQuery クラスを使用してログ API を呼び出した場合、上書き可能です。

##### アーカイブあたりのファイル数

この属性は、セキュリティー保護されたログにのみ適用可能です。この属性は、セキュリティー保護された後続のログに対して、ログファイルとキーストアをいつアーカイブする必要があるか、およびセキュリティー保護されたキーストアをいつ再生成する必要があるかを指定します。デフォルトでは、各ログで 5 ファイル処理します。

##### バッファーサイズ

この属性は、メモリー内にバッファリングするログレコードの最大数を指定します。この数を超えると、ログサービスはそれらのレコードをログリポジトリに書き込もうとします。デフォルトは、1 レコードです。

##### DB 失敗メモリーバッファーサイズ

この属性は、データベース (DB) ログに失敗した場合にメモリーに保持されるログレコードの最大数を指定します。この属性は DB ログが指定されている場合にのみ適用されます。OpenSSO ログサービスと DB との接続が切断された場合、指定された件数までのレコードがバッファーに保存されます。この属性は、デフォルトでは「バッファーサイズ」属性に定義された値の 2 倍の値に設定されます。

##### バッファー時間

この属性は、ログレコードがメモリー内のバッファーに保存される時間を指定します。この時間を超えると、メモリー内のログレコードはログサービスに送られて記録されます。この属性は、「時間バッファリングを有効」がオンの場合に適用されます。デフォルト値は 3600 秒です。

##### 時間バッファリング

「オン」を選択すると、OpenSSO はログレコードをメモリー内のバッファーに格納する時間を制限します。制限時間は、「バッファー時間」属性で設定します。

##### ログレベル

この属性を使用して、特定のログファイルに含める情報の詳細レベルを選択して設定します。OpenSSO サービスでは、INFO レベルでログを記録します。SAML サービスおよびアイデンティティー連携サービスも、より詳細なレベル (FINE、FINER、FINEST) でログを記録します。また、ログを無効にするための OFF レベルと、すべてのメッセージをログに記録するための ALL レベルもあります。