PolarDB for PostgreSQL (Oracle 互換) は、監査ログを生成するための pgAudit 拡張機能をサポートしています。これらのログは、多くの場合、政府、金融、または ISO 認証に必要です。監査ログを使用して、データベースのエラーの分析、ユーザーの動作の追跡、データ操作のモニターを行うことができます。
適用範囲
次のバージョンの PolarDB for PostgreSQL (Oracle 互換) がサポートされています:
Oracle 互換 2.0 (マイナーエンジンバージョン 2.0.14.5.1.0 以降)
Oracle 互換 1.0 (マイナーエンジンバージョン 2.0.11.9.25.0 以降)
コンソールで、または SHOW polardb_version; 文を実行して、マイナーエンジンバージョンを表示できます。 クラスターがマイナーエンジンバージョンの要件を満たしていない場合は、マイナーエンジンバージョンをスペックアップできます。
注意事項
SQL エクスプローラー機能を使用して監査ログを表示できます。
拡張機能のパラメーターを設定するには、特権アカウントが必要です。
使用ガイド
拡張機能のインストール
CREATE EXTENSION pgaudit;読み取り操作の監査
次のコマンドを実行して、pgaudit_testdb データベースのすべての読み取り操作を監査します。
ALTER DATABASE pgaudit_testdb SET pgaudit.log = 'READ';コマンドを実行すると、pgaudit_testdb データベース内の SELECT などのすべての読み取り操作が監査されます。 INSERT や UPDATE などの書き込み操作は監査されません。
読み取りおよび書き込み操作の監査
次のコマンドを実行して、pgaudit_testdb データベースのすべての読み取りおよび書き込み操作を監査します。
ALTER DATABASE pgaudit_testdb SET pgaudit.log = 'READ,WRITE';コマンドを実行すると、pgaudit_testdb データベース内の SELECT、INSERT、UPDATE などのすべての読み取りおよび書き込み操作が監査されます。
監査設定の無効化
ALTER DATABASE pgaudit_testdb SET pgaudit.log = 'NONE';指定されたオブジェクトの関連操作の監査
次のコマンドを実行して、pgaudit_testdb データベースにユーザーとテーブルを作成し、そのテーブルに対するすべての権限をそのユーザーに付与します。
CREATE USER audit_role;
ALTER DATABASE pgaudit_testdb SET pgaudit.role = 'audit_role';
CREATE TABLE test_audit (id INT);
GRANT ALL ON test_audit TO audit_role;構成が完了すると、pgaudit_testdb データベースの test_audit テーブルに対する操作のみが監査されます。 他のテーブルに対する操作は監査されません。
プラグインのアンインストール
DROP EXTENSION pgaudit;関連リファレンス
pgAudit の詳細については、「公式 pgAudit ドキュメント」をご参照ください。