12.3.3 監査証跡の参照(SELECT文で監査証跡を参照する場合)
監査証跡を参照するには,ADB_AUDITREAD関数を指定したSELECT文を実行します。
- 重要
-
監査参照権限を持っているHADBユーザだけが,ADB_AUDITREAD関数を指定したSELECT文を実行して,監査証跡を参照できます。
監査証跡を参照するSELECT文の例を次に示します。
- 例題1
-
監査証跡の保存先ディレクトリ(/mnt/audittrail/savearea)下の全監査証跡ファイル中の監査証跡を参照します。
SELECT文の実行例
SELECT * FROM TABLE(ADB_AUDITREAD(MULTISET['/mnt/audittrail/savearea/*.aud'])) "DT"
- [説明]
-
下線部分に,参照する監査証跡が格納されている監査証跡ファイルのパス名を指定します。この例の場合,監査証跡ファイル名に特殊文字の*を指定(*.aud)しているため,/mnt/audittrail/saveareaディレクトリ下の全監査証跡ファイル(ファイル拡張子がaudのファイル)に格納されている監査証跡を参照しています。
- 例題2
-
2017年4月1日~2017年4月30日の間に,HADBサーバにアクセスしたHADBユーザの一覧を参照します。監査証跡ファイルは,監査証跡の保存先ディレクトリ(/mnt/audittrail/savearea)下に保存されています。
SELECT文の実行例
SELECT DISTINCT "USER_NAME" FROM TABLE(ADB_AUDITREAD(MULTISET['/mnt/audittrail/savearea/*.aud'])) "DT" WHERE "EXEC_TIME" BETWEEN TIMESTAMP'2017/04/01 00:00:00.000000' AND TIMESTAMP'2017/04/30 23:59:59.999999'
- [説明]
-
USER_NAME列には,HADBユーザの認可識別子が格納されています。EXEC_TIME列には,HADBユーザがHADBサーバに対する操作を実行した日時(イベントが完了した日時)が格納されています。USER_NAME列およびEXEC_TIME列は,ADB_AUDITREAD関数によって作成される表関数導出表の列名です。表関数導出表の列名については,「12.9.2 監査証跡を検索するときの表関数導出表の列構成」を参照してください。
監査証跡を参照する際のSELECT文の例については,「12.7.5 定期監査の実施」も参照してください。
ADB_AUDITREAD関数の指定規則については,マニュアルHADB SQLリファレンスのADB_AUDITREAD関数を参照してください。
■留意事項
-
ADB_AUDITREAD関数の入力情報にできる監査証跡ファイルは,HADBサーバが出力した監査証跡ファイルか,その監査証跡ファイルをOSのgzipコマンドで圧縮したファイルです。また,複数のHADBサーバを運用している場合に,ほかのHADBサーバが出力した監査証跡ファイルもADB_AUDITREAD関数の入力情報にできます。
-
ADB_AUDITREAD関数には,監査証跡ファイルをgzipコマンドで圧縮したファイルを指定できます。tarコマンドを使用してアーカイブされたgzipファイルは指定できません。
-
ADB_AUDITREAD関数中に指定する監査証跡ファイルのパスに含まれる各ディレクトリに対して,HADB管理者がアクセスできるように読み取り権限と実行権限を設定しておいてください。例えば,監査証跡ファイルが/mnt/audittrail/saveareaディレクトリ下に格納されている場合,/,/mnt,/mnt/audittrail,および/mnt/audittrail/saveareaの各ディレクトリに対して,HADB管理者がアクセスできるように読み取り権限と実行権限を設定しておく必要があります。また,/mnt/audittrail/saveareaディレクトリ下の監査証跡ファイルに対して,HADB管理者が読み込めるように読み取り権限を設定しておいてください。正しく権限を設定していない場合,ADB_AUDITREAD関数を指定したSELECT文がエラーになります。
-
監査証跡の出力先ディレクトリ下の監査証跡ファイル中の監査証跡は参照しない運用を推奨します。監査証跡の参照中に,参照中の監査証跡が格納されている監査証跡ファイルが削除された場合,SQL文の実行結果が想定したものにならないことがあります。監査証跡ファイルは,次の契機に削除されます。
-
監査証跡の出力先ディレクトリ下の監査証跡ファイルを,監査証跡の保存先ディレクトリまたは監査証跡の長期保存先ディレクトリ下に移動させたとき
-
次の条件をすべて満たす場合に,現用の監査証跡ファイルの切り替えが発生したとき
・監査証跡ファイルの世代数の上限を指定している場合
・監査証跡の出力先ディレクトリ下の監査証跡ファイルの数が世代数の上限に達している場合
2つ目の契機については,HADBサーバが監査証跡ファイルを自動的に削除するため,運用で回避できません。そのため,監査証跡の保存先ディレクトリまたは監査証跡の長期保存先ディレクトリ下の監査証跡ファイル中の監査証跡を参照することを推奨します。
監査証跡の出力先ディレクトリ下の監査証跡ファイル中の監査証跡を参照したい場合は,その監査証跡ファイルを監査証跡の保存先ディレクトリに移動したあとに参照するようにしてください。
-
-
現用の監査証跡ファイル中の監査証跡は参照できません。現用の監査証跡ファイル中の監査証跡を参照したい場合は,現用の監査証跡ファイルを切り替えたあとに,その監査証跡ファイルを参照してください。現用の監査証跡ファイルの切り替え手順については,「12.4.2 現用の監査証跡ファイルの切り替え」を参照してください。