pgauditの有効化
- RDSに接続する
下記コマンドを実行する
psql -U [ユーザ名] -h [RDSのエンドポイント] -d [DB名]
- pgauditが利用するDBロールを作成する
下記コマンドを実行する
=> CREATE ROLE rds_pgaudit;
- RDSのパラメータグループを変更する
AWS管理コンソールから RDS > パラメータグループ > 設定するインスタンスのパラメータグループ で変更する
下記は 必須
|パラメータ名|値|
|:---|:---|:---|
|pgaudit.role|rds_pgaudit|
|shared_preload_libraries|pgaudit|
下記は 任意
パラメータ名 | 許可される値 | 説明 |
---|---|---|
pgaudit.log_level | debug5, debug4, debug3, debug2, debug1, info, notice, warning, log(デフォルト) | ログレベル |
pgaudit.log | ddl, function, misc, read, role, write, none(デフォルト), all, -ddl, -function, -misc, -read, -role, -write | 監査ログの種類 |
- RDSを再起動して、変更したパラメータを反映する
- RDSに再接続する
下記コマンドを実行する
psql -U [ユーザ名] -h [RDSのエンドポイント] -d [DB名]
- 再起動後、pgauditがロードされていることを確認する
下記の内容であればOK
=> SHOW shared_preload_libraries;
shared_preload_libraries
--------------------------
rdsutils,pgaudit
(1 row)
- pgauditの拡張機能を有効化する。
下記コマンドを実行する
=> CREATE EXTENSION pgaudit;
- pgauditに作成したロールがアタッチされているか確認する。
下記の内容であればOK
=> SHOW pgaudit.role;
pgaudit.role
--------------
rds_pgaudit
CloudWatchLogsへのログ出力
- ログのエクスポートで Postgresql log にチェックを入れる
AWS管理コンソールから DBインスタンスの[ログのエクスポート]の設定を変更する

- ログが CloudWatchLogs に出力されていることを確認する
AWS管理コンソールから CloudWatch > ロググループ で確認する
出力先ロググループ名 | /aws/Instance/{DBインスタンス名}/postgresql |
---|
