タダです.
以前の記事で S3 に格納した Aurora MySQL の監査ログを Athena で検索するためにテーブルを作り,管理者ユーザーのアクセスを検索したことを記事にしました.今回も関連で Aurora への書き込み操作を監査ログから検索する時に使用したクエリを備忘録としてまとめます.
監査ログから書き込み操作を検索したときのクエリ
書き込み用のインスタンスにはアプリケーションユーザーや内部利用で使用するユーザーなど様々なアクセスがあると思いますが,認識してないユーザーからの書き込みが発生していないかの検索を監査ログから探りたいという目的から試したクエリを紹介します.なお,テーブルは以前の記事で紹介したテーブルで作成した前提で進めます.
以下がそのクエリになります.特別な処理は書いていなく,書き込みのインスタンス名と書き込み操作が自明なユーザーは除外したオペレーションを指定した期間で検索するクエリです.このクエリによりDB ユーザーの追加・変更,非常時のオペレーションなどで直接ログインして手動作業をしていた記録などが洗い出すことができました.
クエリ例
SELECT serverhost, username, database, object FROM テーブル名 where db_identifier = 'WRITERインスタンス名' and username NOT IN ('アプリケーションユーザー等の書き込みが自明なユーザー') and operation = 'WRITE' and date_day between '2024-10-01' and '2024-10-20'
関連情報
Aurora MySQL の監査ログフィールドについては以下を参照しています. docs.aws.amazon.com
まとめ
Aurora MySQL の監査ログの中から特定期間の書き込み操作を検索するクエリを試す機会があったのでそのクエリをまとめました.