| Oracle® Fusion Middleware Oracle Adaptive Access Managerの管理 11gリリース2 (11.1.2.3.0) E67427-01 |
|
![]() 前 |
![]() 次 |
ロギングを有効化すると、問題のトラブルシューティングやルールのテストに役立ちます。ルール・ロギングでは、VR_RULE_LOGS表に行が書き込まれます。
この付録では、OAAMでルール・ロギングを構成する方法について説明します。次のセクションがあります。
ルール・ロギングによって必須のルール処理情報が記録され、管理者がユーザー・セッションの必須情報を監視できるようになります。ルール・ログ詳細は、多様なポリシーとルールを異なるチェックポイントで実行するときにVR_RULE_LOGS表に取得されます。「セッション詳細」ページに表示される情報は、ルールの実行時に書き込まれるルール・ログに基づきます。
フィンガープリント・ルール・ロギングでは、実行されたポリシーおよびルールが記録されます。フィンガープリント・ベースのログは、ルール・ログを短くしたものです。アラート・ソースやルールごとの時間などは含まれません。フィンガープリント・ベースのロギングは、データの増大を極力避け、ロギング・オーバーヘッドも最小限に抑える目的で行います。フィンガープリントは、トリガーされた一連のルールのダイジェストです。一連のルールがトリガーされると、トリガーされたルールのダイジェストが作成され、データベースに保持されます。次回この同じ一連のルールがトリガーされると、このダイジェストが再使用されて保持されるため、新しいセッションで実行時に同じダイジェストが使用されます。フィンガープリント・ロギングが実行されると、ルールおよびポリシーの実行に必要な時間は取得されず、「セッション詳細」ページに「-1」または「N/A」と表示されます。フィンガープリント・ロギングはデフォルトで有効化されています。
詳細ルール・ロギングでは、実行されたルールおよびルールまたはポリシーの実行にかかった時間の長さが取得されます。実行時間はパフォーマンス統計で使用されます。詳細ルール・ログは、実行時間が構成されているしきい値を超えた場合にのみ作成されます。本番マシンでは、ロギングの量が増えるとパフォーマンスに悪い影響を与える可能性があるため、詳細ロギングを有効にする前に、時間の長さを管理する必要があります。実行時間の長いルール(ランタイム)に関する詳細が記録されると、ロギングのオーバーヘッドは減少します。
実行時に異常なほどの時間が必要な場合は、ルールの実行に非常に時間がかかる理由について詳細な分析を実行できるように、詳細ルール・ロギングを実行する必要がある場合があります。フィンガープリント・ロギングでは、所要時間の情報は取得されません。所要時間は、実行時間が遅いことをトラブルシューティングする際の重要な要因です。詳細ロギングでは、デフォルトでは、トリガーされたルールのログ・タイミングのみが記録されます。トリガーされないルールも取得するように指定しないかぎり、トリガーされないルールは記録されません。トリガーされないルールは、フィンガープリント・ルール・ロギングで取得されます。「セッション詳細」ページには、フィンガープリント・ロギング・データの読取りを構成しないかぎり、トリガーされないルールは表示されません。
VR_RULE_LOGS表を使用して管理者がルールのステータスを表示できます。この情報はルールのトラブルシューティングに使用できます。
このようなステータス列についてここで説明します。
0 = notfired
ルールがテストされたが、条件が満たされないため、ルールがトリガーされませんでした。
notfiredステータスではルール・ログが常に作成されるとはかぎりません。notfiredステータスの表示または非表示を制御するプロパティがあります。
vcrypt.tracker.rules.trace.notTriggeredがfalseに設定されると、notfired ステータスのルール・ログはまったく作成されません。
プロパティvcrypt.tracker.rules.trace.notTriggered.logMillisにはしきい値(ミリ秒)が含まれます。ルールの実行時間がこのしきい値より数ミリ秒短いと、ルール・ログは作成されません。
notfiredステータスのルールを常にロギングする場合は、vcrypt.tracker.rules.trace.notTriggeredをtrue、vcrypt.tracker.rules.trace.notTriggered.logMillisを0に設定します。
notfiredステータスのルールをまったくロギングしない場合は、vcrypt.tracker.rules.trace.notTriggeredをfalseに設定します。
条件をテストするために実行が一定時間を超えるnotfiredステータスのルールのみをロギングする場合は、vcrypt.tracker.rules.trace.notTriggeredをtrueに設定し、vcrypt.tracker.rules.trace.notTriggered.logMillisを必要なしきい値(ミリ秒)に設定します。
1 = fired
ルールがテストされ、条件が満たされたため、ルールがトリガーされました。
2 = override
現在、このステータスは使用されません。
3 = error
このルールのテスト中に内部エラーが発生しました。詳細はログをチェックしてください。
ステータス4-8
これらの列は事前条件に対応します。デバイス、市町村、都道府県、国またはグループを除外するように事前条件が設定されたために、ルールがテストされなかった場合、ルール・ログには事前条件と一致するステータスが示されます。
4 = deviceScoreExclude
5 = cityScoreExclude
6 = stateScoreExclude
7 = countryScoreExclude
8 = groupExclude
99 = unknown
このステータスのルール・ログは生成されるべきではありません。
表J-1に、ルール・ロギングの構成プロパティを示します。
表J-1 ルール・ロギングのプロパティ
| プロパティ | 説明 |
|---|---|
|
vcrypt.tracker.rules.trace.policySet |
True/False ルール・ロギングを有効化します。 |
|
vcrypt.tracker.rules.trace.policySet.checkpoint |
True/False ルール・ロギングを有効化します。ルールを記録するチェックポイントを指定できます。変数checkpointは、チェックポイントに対応します。 特定のチェックポイントでロギング構成が明示的に設定されている場合、ルール・エンジンではその値が使用されますが、それ以外の場合は、vcrypt.tracker.rules.trace.policySetの値が使用されます。 |
|
vcrypt.tracker.rules.trace.policySet.min.ms |
1000 (ミリ秒) ルール・ロギングを実行するタイミングを指定します。ルール・ロギングを有効化するには、このプロパティを構成する必要があります。このプロパティは、実行時間の総所要時間がこの値を上回った場合にのみロギングが実行されるように構成できます。このプロパティを設定すると、総所要時間が1000msを上回る場合にのみ、すべてのランタイム・プロセスを記録します。 -1 前述のプロパティ値では「セッション詳細」ページにルールのログが表示されない場合は、この値を-1に変更します。 |
|
vcrypt.tracker.rules.trace.notTriggered |
False
|
|
vcrypt.tracker.rules.trace.notTriggered.logMillis |
記録するルールを絞り込みます。 トリガーされないルールのルール実行が指定した値を上回る場合に、トリガーされないルールが記録されます。 |
|
vcrypt.tracker.rulelog.detailed.minMillis |
2000 詳細ロギングに必要な最小時間を決定します。実行時間がしきい値を超える場合にのみ詳細ルール・ログが作成されるようにルール・ロギングを構成できます。この方法で実行時間の長いルール(ランタイム)に関する詳細が記録されるため、詳細ロギングのオーバーヘッドは減少します。 ルールのロギングのしきい値を制御します。詳細なロギングは実行時間に依存するため、アラートの実行時間が2000ミリ秒未満である場合、デフォルトでは「セッションの詳細」ページにトリガー・ソースは表示されません。 |
|
vcrypt.tracker.rulelog.fingerprint.enabled |
True/False フィンガープリント・ロギングを有効化します。 |
|
vcrypt.tracker.rulelog.exectime.maxlimit |
フィンガープリント・ロギングと詳細ロギングのどちらを実行するかを決定します。この値を超えた場合、詳細ロギングが実行されます。このプロパティが-1に設定されている場合は、両方が実行されます。 |
|
vcrypt.tracker.rules.trace.disableReadingFingerprint |
False フィンガープリント・ルール・ロギングのデータの読取りを有効化します。「セッション詳細」には、トリガーされないルールおよび実行時間のないルールが表示されます。フィンガープリント・レコードには、実行時間にN/Aが表示されます。 |
|
vcrypt.tracker.rules.trace.disableReadingRuleLogTables |
False ルール・ログ表の読取りを有効化します。実行時間のあるルールの詳細が「セッション詳細」に表示されます。実行されたルールはすべて表示されるが、フィンガープリント・ルール・ロギングの読取りからの実行されないルールの確認が必要な場合は、データベース・ルールのログ読取りを無効化します。ただし、これにより、実行時間は表示されません。 |
|
vcrypt.tracker.rulelog.exectime.maxlimit |
フィンガープリント・ロギングと詳細ロギングのどちらを実行するかを決定する場合にプロパティを設定します。 この値を超えた場合、詳細ロギングが実行されます。 |
|
vcrypt.tracker.rulelog.exectime.maxlimit |
両方の使用を決定するにあたり、指定したすべてのプロパティを考慮する場合に設定します。 |
|
vcrypt.tracker.rulelog.logBoth |
両方のロギング・メカニズム(詳細およびフィンガープリント)を使用してロギングを実行するように指定します。 この値は、 |
|
vcrypt.tracker.rulelog.exectime.maxlimit |
フィンガープリント・ルール・ロギングを開始するまでの猶予となる時間しきい値を変更するには、このプロパティをミリ秒単位で設定します。 |
プロパティ・エディタを使用して、ルール・ロギングを有効化します。手順は次のとおりです。
OAAM管理コンソールにログインします。
ナビゲーション・ペインで、「環境」ノードの下の「プロパティ」をダブルクリックします。プロパティ検索ページが表示されます。
「名前」フィールドに「vcrypt.tracker.rules.trace.policySet」と入力し、「検索」をクリックします。
「検索結果」セクションに、このプロパティが表示されます。
「検索結果」セクションで、このプロパティをクリックして選択します。
vcrypt.tracker.rules.trace.policySetの詳細セクションで、「値」フィールドにtrueと入力します。
「保存」をクリックします。
確認ダイアログが表示されます。
「OK」をクリックしてダイアログ・ボックスを閉じます。
プロパティが存在しない場合は、プロパティ検索ページで「新規プロパティ」ボタンまたは「新規プロパティの作成」アイコンをクリックします。
「新規プロパティ」ダイアログが表示されます。
「新規プロパティ」ダイアログで、プロパティの名前および値を入力します。
「作成」をクリックします。
プロパティ・エディタを使用して、特定のチェックポイントのルール・ロギングを有効化します。手順は次のとおりです。
OAAM管理コンソールにログインします。
ナビゲーション・ペインで、「環境」ノードの下の「プロパティ」をダブルクリックします。プロパティ検索ページが表示されます。
プロパティ検索ページで、「新規プロパティ」ボタンまたは「新規プロパティの作成」アイコンをクリックします。
「新規プロパティ」ダイアログが表示されます。
「新規プロパティ」ダイアログで、「名前」フィールドにvcrypt.tracker.rules.trace.policySet.checkpointと入力します。
「値」フィールドに「true」と入力し、「作成」をクリックします。
プロパティの組合せによるチェックポイントのルール・ロギングの制御方法を説明するためのマトリクスを次に示します。認証後チェックポイントを使用して、ルール・ロギングのフローを説明します。
フローは次のとおりです。
ルール・エンジンにより、vcrypt.tracker.rules.trace.policySet.postauthの構成がチェックされます。
vcrypt.tracker.rules.trace.policySet.postauthの構成が存在しない場合は、vcrypt.tracker.rules.trace.policySetの構成値がチェックされます。
特定のチェックポイントでロギング構成が明示的に設定されている場合、ルール・エンジンではその値が使用されます。それ以外の場合は、vcrypt.tracker.rules.trace.policySetの値が使用されます。
次の表に、特定のチェックポイントで値の組合せによってロギングを制御する方法を例示します。
| vcrypt.tracker.rules.trace.policySet.postauth | vcrypt.tracker.rules.trace.policySet | チェックポイントのルール・ロギングが有効か |
|---|---|---|
| true | false | はい |
| true | true | はい |
| true | 未設定 | はい |
| false | false | いいえ |
| false | true | いいえ |
| false | 未設定 | いいえ |
| 未設定 | false | いいえ |
| 未設定 | true | はい |
| 未設定 | 未設定 | はい |
トリガーされないルールを記録するためにルール・ロギングを構成するには、プロパティ・エディタを使用して次のプロパティを設定します。
vcrypt.tracker.rules.trace.notTriggered=[true|false] vcrypt.tracker.rules.trace.notTriggered.logMillis=[millis]
vcrypt.tracker.rules.trace.notTriggeredの値を通じて、ログにルールを追加できます。trueに設定すると、トリガーされないルールも、トリガーされたルールとともに記録されます。
vcrypt.tracker.rules.trace.notTriggered.logMillisの値を通じて、ロギング対象とするルールを絞り込むことができます。
トリガーされないルールのルール実行がvcrypt.tracker.rules.trace.notTriggered.logMillisの値を上回った場合にのみ、ルール・エンジンによってトリガーされないルールが記録されます。
次の表に、トリガーされないルールのルール・ロギングを制御するプロパティ値を示します。
| vcrypt.tracker.rules.trace.notTriggered | vcrypt.tracker.rules.trace.notTriggered.logMillis | 結果 |
|---|---|---|
| true | n | nミリ秒を超えるトリガーされないルールを記録します。nを負の値に設定すると、すべてのルールが記録されます。 |
| false | n | トリガーされないルールは記録されません。 |
実行時間の長いルール(ランタイム)の詳細が記録されるように、詳細ロギングの最小必要時間を構成します。詳細ルール・ログは、実行時間がしきい値を超えた場合にのみ作成されます。
ナビゲーション・ツリーで、「環境」の下にある「プロパティ」をダブルクリックします。
「名前」フィールドに「vcrypt.tracker.rulelog.detailed.minMillis」と入力し、「検索」をクリックします。
「結果」表で、「vcrypt.tracker.rulelog.detailed.minMillis」を選択します。
「詳細vcrypt.tracker.rulelog.detailed.minMillis」セクションで、「値」フィールドの値を編集します。
「保存」をクリックします。
確認ダイアログが表示されます。
「OK」をクリックしてダイアログ・ボックスを閉じます。
ポリシーの所要時間が指定したnミリ秒を上回ると、Oracle Adaptive Access Managerによって詳細ルール・ロギングが開始されます。
フィンガープリント・ルール・ロギングを有効化または無効化するには、プロパティ・エディタを使用して次のプロパティを変更します。
vcrypt.tracker.rulelog.fingerprint.enabled=true
11.1.2.2より前では、「セッション詳細」ページでは、フィンガープリント・ロギングの情報を先に使用し、次に、データベース表の情報を使用していました。データベース表で情報が使用できるようになるとすぐに、「セッション詳細」ページにはデータベース表の情報のみが表示されました。そのため、トリガーされたルールのみが表示されていました。フィンガープリント・ロギングのみが実行された場合(データベース・ロギングは無効化)、「セッション詳細」ページには、データベース表のデータおよびルールの実行時間は表示されませんでした。
11.1.2.2では、「セッション詳細」ページは、データベース表およびフィンガープリント・ルール・ロギング情報を使用して、トリガーされたおよびトリガーされないルールと実行時間のないルールを表示できます。これらのルールを表示できるようにOAAMを構成するには、次のプロパティをfalseに設定します。
vcrypt.tracker.rules.trace.disableReadingFingerprint vcrypt.tracker.rules.trace.disableReadingRuleLogTables
vcrypt.tracker.rules.trace.disableReadingFingerprintプロパティは、フィンガープリント・ルール・ロギングのデータの読取りを有効化します。「セッション詳細」には、トリガーされないルールおよび実行時間のないルールが表示されます。フィンガープリント・レコードには、実行時間にN/Aが表示されます。
vcrypt.tracker.rules.trace.disableReadingRuleLogTablesプロパティは、ルール・ログ表の読取りを有効化します。実行時間のあるルールの詳細が「セッション詳細」に表示されます。実行されたルールではなく、フィンガープリント・ルール・ロギングの読取りから実行されないルールを表示する必要がある場合は、データベース・ルール・ログの読取りを無効化します。ただし、データベース・ルール・ログの読取りを無効化すると、実行時間は表示されません。
どちらのプロパティもfalse (デフォルト)の場合は、どちらか一方の情報を使用するのではなく、両方の結果がマージされるため、使用可能すべてのデータベースおよびフィンガープリント・ロギング・データ(試行されたがトリガーされなかったポリシー)からの詳細データの全表示を確認できます。
OAAMのアーカイブおよびパージ・スクリプトによって、30日を経過したすべてのルール・ログ・データがアーカイブおよびパージされます(この値は、カスタマ・ケア要件に基づいて設定する必要があります)。レポート・データベースを使用する場合、ルール・ロギング・データの保存は30日未満にする必要があります。