タダです.
Aurora への接続ユーザーとして管理者ユーザーを使わないように運用していることが多いと思いますが,そんな中で管理者ユーザーで接続された場合ちゃんと検知しておきたいといった要件から検証した内容をこの記事にまとめます.
Aurora のログについて
普段 Aurora MySQL を使っていて接続ユーザーのログは監査ログに残っています.そのため,監査ログを CloudWartch Logs に出力できているのが前提です.
CloudWatch Logs サブスクリプションフィルタ
監査ログは /aws/rds/cluster/cluster-name/audit
で出力されています.このログから検知したいユーザーの接続ログをフィルタリングします.フィルタリングには CloudWatch Logs のサブスクリプションフィルタを使います.
フィルタパターンで管理者ユーザーの接続を絞りたいのですが,例えば admin
ユーザーであればフィルタパターンでは admin CONNECT
などで絞っていきました.加えて rdsadmin
というデフォルトで作成されるユーザーのログも記録されるためこのユーザーのログは除外するために admin CONNECT - rdsadmin
としました.これで必要な接続ログを送ることができました.
まとめ
簡単ですが,Aurora の接続ユーザーをログから検知するためにやった検証をまとめました.