2.18.6 監査証跡の参照
監査証跡は,監査証跡ファイルにバイナリ形式で出力されます。そのため,OS上でファイルを開いて参照することはできません。監査証跡を参照する場合,次の2つの方法があります。
-
ADB_AUDITREAD関数を指定したSELECT文を実行する
ADB_AUDITREAD関数とは,監査証跡ファイル中の監査証跡を表形式のデータ集合(表関数導出表)に変換する関数です。ADB_AUDITREAD関数を指定したSELECT文を実行すると,監査証跡を参照できます。
-
adbconvertaudittrailfileコマンドで監査証跡を変換する
監査証跡ファイルに出力された監査証跡をadbconvertaudittrailfileコマンドで変換すると,他製品であるJP1/Auditで監査証跡を参照できます。監査証跡の変換については,「2.18.9 監査証跡の変換(JP1/Audit Management - Managerとの連携)」を参照してください。
ここでは,ADB_AUDITREAD関数を指定したSELECT文を実行して,監査証跡を参照する方法について説明します。
ADB_AUDITREAD関数中に,調査対象の監査証跡が格納されている監査証跡ファイルのパスを指定すると,HADBサーバはその監査証跡ファイル中の監査証跡を読み込み,表形式のデータ集合に変換します。
ADB_AUDITREAD関数による監査証跡ファイル中の監査証跡の読み込みの例を次の図に示します。
- [説明]
-
下記のSELECT文を実行した場合,下線部分に指定した監査証跡ファイル中の監査証跡が読み込まれて,表形式のデータ集合に変換されます。
SELECT * FROM TABLE(ADB_AUDITREAD(MULTISET['/audit/*.aud'])) "DT"
- 重要
-
ADB_AUDITREAD関数中に監査証跡ファイルのパス(/audit/*.aud)を指定しています。この例では,特殊文字*を指定しています。この例のように指定すると,/auditディレクトリ下のすべての監査証跡ファイルが,ADB_AUDITREAD関数の読み込み対象になります。
ADB_AUDITREAD関数の詳細については,マニュアルHADB SQLリファレンスのADB_AUDITREAD関数を参照してください。
ADB_AUDITREAD関数によって変換された表形式のデータ集合の各列の列名やデータ型は,HADBサーバによって決められています。各列の列名やデータ型,および格納される情報については,「12.9.2 監査証跡を検索するときの表関数導出表の列構成」を参照してください。
- ■監査証跡の検索例
-
アクセス履歴を調査したい期間などの検索条件を,SELECT文の探索条件に指定して,監査証跡を検索することができます。監査証跡の検索例を次に示します。
- (例)
-
2017年4月1日~2017年4月30日の間に,HADBサーバにアクセスしたHADBユーザを検索します。
SELECT DISTINCT "USER_NAME" ...1 FROM TABLE(ADB_AUDITREAD(MULTISET['/audit/*.aud'])) "DT" WHERE "EXEC_TIME" BETWEEN TIMESTAMP'2017/04/01 00:00:00.000000' ...2 AND TIMESTAMP'2017/04/30 23:59:59.999999'
検索結果の例
USER_NAME --------- ADBUSER02 ADBUSER06 ADBUSER07
[説明]
-
ADB_AUDITREAD関数によって変換された表形式のデータ集合のUSER_NAME列には,HADBサーバにアクセスしたHADBユーザの認可識別子が格納されています。
-
EXEC_TIME列には,HADBユーザが操作を実行した時刻(イベント完了時刻)が格納されています。
-
- 重要
-
監査参照権限を持っているHADBユーザだけが,監査証跡を参照できます(ADB_AUDITREAD関数を指定したSELECT文を実行できます)。