統合監査の使い方
誰が何をしたかを記録する(Oracle)
書き方
CREATE AUDIT POLICY 名前 ACTIONS DELETE ON app.orders, UPDATE ON app.orders; CREATE AUDIT POLICY 名前 ACTIONS LOGON; AUDIT POLICY 名前 [BY ユーザー | EXCEPT ユーザー] [WHENEVER [NOT] SUCCESSFUL]; NOAUDIT POLICY 名前; DROP AUDIT POLICY 名前; SELECT * FROM audit_unified_enabled_policies; SELECT event_timestamp, dbusername, userhost, action_name, object_name, return_code FROM unified_audit_trail;
監査ポリシーで「何を記録するか」を決め、AUDIT POLICY で有効にします(作っただけでは記録されません)。記録は UNIFIED_AUDIT_TRAIL に残り、RETURN_CODE が 0 以外は失敗した操作(1017 はパスワードの間違い)です。最初から ORA_SECURECONFIG・ORA_LOGON_FAILURES などのポリシーが有効です。有効なポリシーは消せない(ORA-46361)ので、先に NOAUDIT します。
例
SELECT dbusername, userhost FROM unified_audit_trail WHERE action_name = 'LOGON' AND return_code <> 0;
実際に打って練習する
Oracle DBA コースの Lv57「見張りの記録 統合監査」で覚えます。ブラウザの中のシミュレーターで、本物と同じように打って確かめられます。
すべてのレベルが、プラチナ以上のプランで遊べます。