PolarDB for Oracle は、政府、財務、またはISOの認証に準拠するために必要な監査ログを生成できるpgAudit拡張機能をサポートしています。 監査ログは、クラスターの障害や操作を分析してデータクエリに関する情報を取得するのに役立ちます。
前提条件
pgAudit拡張機能は、次のエンジンを実行するPolarDB for PostgreSQL (Compatible with Oracle) クラスターでサポートされています。
PolarDB for PostgreSQL (Oracle互換) 2.0 (バージョン2.0.14.1.0以降)
PolarDB for PostgreSQL (Oracle互換) 1.0 (バージョン1.1.25以降)
次のステートメントを実行して、PolarDB for PostgreSQL (Compatible with Oracle) クラスターのリビジョンバージョンを表示できます。
SHOW polar_version;使用上の注意
生成された監査ログを表示するには、SQL Explorer機能を有効にする必要があります。
pgAudit拡張機能は、既存の監査ログのみをフィルタリングします。pgAudit拡張に関連するパラメーターを設定するには、特権アカウントが必要です。
pgAudit拡張機能を使用した監査操作
Install the extension
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データベースのユーザーが実行した操作を監査し、test_auditという名前のテーブルを作成し、そのテーブルに対するすべての権限をユーザーに付与します。
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ドキュメント」をご参照ください。