PolarDB for PostgreSQLは、政府、財務、またはISOの認証に準拠するために必要な監査ログを生成できるpgAudit拡張機能をサポートしています。 監査ログは、クラスターの障害や操作を分析してデータクエリに関する情報を取得するのに役立ちます。
使用上の注意
生成された監査ログを表示するには、SQL Explorer機能を有効にする必要があります。
pgAudit
拡張機能は、既存の監査ログのみをフィルタリングします。pgAudit拡張に関連するパラメーターを設定するには、特権アカウントが必要です。
pgAudit拡張機能を使用した監査操作
Install the 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という名前のテーブルを作成し、そのテーブルに対するすべての権限をユーザーに付与します。
ユーザーを作成するaudit_role;
ALTER DATABASE pgaudit_testdb SET pgaudit.role = 'audit_role';
CREATE TABLE test_audit (id INT);
すべてをtest_auditでaudit_roleに承認します。
上記のステートメントが実行されると、pgaudit_testdb
データベースのtest_audit
テーブルに対するすべての操作のみが監査されます。
拡張機能のアンインストール
ドロップ延長pgaudit;
参考資料
詳細については、「pgAuditドキュメント」をご参照ください。