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 Explorer で表示できます。
拡張機能パラメーターを設定するには、特権アカウントが必要です。
使用ガイド
拡張機能のインストール
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 ドキュメント」をご参照ください。