Oracle 統合監査(Unified Auditing)とは?

Oracle Master Gold

Oracle Databaseの統合監査(Unified Auditing)は、データベース操作を一元的に記録・管理できる新しい監査機構です。本記事では、従来の監査との違い、具体的な使用方法、SCOTTスキーマを使った設定例、そしてCDB環境での注意点まで、実践的に解説します。

💰 【PR】Oracleエンジニアの市場価値、調べてみませんか?

Oracleのスキルは需要が高く、特定の資格や経験を持っていると年収が大幅にアップするケースがあります。まずはIT専門のエージェントで非公開求人をチェックしてみませんか?


✅ 統合監査(Unified Auditing)とは?

統合監査は、Oracle 12c以降で導入された監査機能で、これまでバラバラだった監査情報(標準監査、FGA、SYS監査など)を1つの監査ストアに統合します。

特徴説明
管理対象LOGON、SELECT、DML、DDLなどあらゆる操作
ログ格納先AUDSYSスキーマ内(SYSログではない)
閲覧ビューUNIFIED_AUDIT_TRAIL
利点ログ集約・高速処理・コンポーネント監査対応

✅ SCOTTスキーマの準備

統合監査の対象としてよく利用される「SCOTT」スキーマは、Oracleインストール後に手動で作成する必要があります。

● インストール手順

以下のスクリプトを実行するとSCOTTユーザーとサンプルデータが作成されます。

-- SYSまたはSYSTEMユーザーで実行
@?/rdbms/admin/utlsampl.sql

? は Oracleホームディレクトリを意味します。実行前にORACLE_HOMEが設定されていることを確認してください。

作成後、次のような表が作成されます:EMP, DEPT, BONUS, SALGRADE


✅ SCOTTユーザーのログイン監査ポリシーを作成する

● ① 統合監査ポリシーの作成

CREATE AUDIT POLICY logon_audit_policy
ACTIONS LOGON;

● ② SCOTTユーザーにポリシーを適用

AUDIT POLICY logon_audit_policy
BY scott;

✅ 監査ログの確認方法

SCOTTユーザーのログイン履歴は、以下のSQLで確認できます。

SELECT
EVENT_TIMESTAMP,
DBUSERNAME,
ACTION_NAME,
UNIFIED_AUDIT_POLICIES
FROM
UNIFIED_AUDIT_TRAIL
WHERE
DBUSERNAME = 'SCOTT';

✅ 【図解】統合監査の流れ(テキスト図)

+------------------+       +---------------------------+
| SCOTTユーザー操作 |=====>| 監査ポリシーで検知(LOGON等)|
+------------------+ +---------------------------+
||
\/
+------------------------------+
| UNIFIED_AUDIT_TRAIL ビュー |
+------------------------------+
||
\/
DBAがSQLでログ確認・分析可能

✅ CDB環境での統合監査の注意点

OracleのCDB構成では、監査ポリシーやログにも注意すべきポイントがあります。

💰 【PR】Oracleエンジニアの市場価値、調べてみませんか?

Oracleのスキルは需要が高く、特定の資格や経験を持っていると年収が大幅にアップするケースがあります。まずはIT専門のエージェントで非公開求人をチェックしてみませんか?

● ① 監査ポリシーはPDB単位で定義

CDB$ROOTで作成した監査ポリシーは他のPDBには影響しません。SCOTTユーザーがPDB内に存在する場合は、PDBに接続してからポリシーを作成してください。

-- 対象のPDBに切り替え
ALTER SESSION SET CONTAINER = PDB1;

-- PDB1における監査ポリシーの作成と適用
CREATE AUDIT POLICY logon_audit_policy ACTIONS LOGON;
AUDIT POLICY logon_audit_policy BY scott;

● ② ログビューもPDBごと

ログ確認も接続中のPDBに限定されるため、ログを確認する際は適切なコンテナに切り替える必要があります。

ALTER SESSION SET CONTAINER = PDB1;
SELECT * FROM UNIFIED_AUDIT_TRAIL WHERE DBUSERNAME = 'SCOTT';

✅ 現在の統合監査状態を確認する

SELECT VALUE FROM V$OPTION WHERE PARAMETER = 'Unified Auditing';
  • TRUE:統合監査が有効
  • FALSE:統合監査が無効(従来の監査モード)

✅ 統合監査の無効化(参考)

統合監査を無効にするには、再リンクが必要です(管理者向け操作)。

cd $ORACLE_HOME/rdbms/lib
make -f ins_rdbms.mk unaiaud_off ioracle

※再リンク後はインスタンス再起動が必要です。


✅ まとめ

項目内容
統合監査の特徴一元化された高速な監査ログ管理方式
SCOTTを使った設定例LOGON操作をポリシーで監査対象に追加
CDB環境の注意点監査ポリシー・ログはPDB単位で分離管理
ログ確認方法UNIFIED_AUDIT_TRAILビューを参照

✅ 補足:SCOTTスキーマの表構成(抜粋)

表名概要
EMP社員マスタ
DEPT部署マスタ
BONUSボーナス情報
SALGRADE給与等級表


[参考]
4 CDBの作成および構成

💰 【PR】Oracleエンジニアの市場価値、調べてみませんか?

Oracleのスキルは需要が高く、特定の資格や経験を持っていると年収が大幅にアップするケースがあります。まずはIT専門のエージェントで非公開求人をチェックしてみませんか?

コメント

タイトルとURLをコピーしました