Netassist Blog

AWS S3 オブジェクトレベルのログ

こんにちは s3 バケットの操作ログ設定をしたいと思います。デフォルト設定では、ログの設定は行われていません。

そのため、CloudTrail の 証跡設定を行っていきます。

属性は任意で…

ログのイベントはデータイベントにします。

データイベントの内容を必要に応じて設定

完了したらS3バケット側の設定を確認します。

問題がなければバケットにファイルをアップロードします。

CoudTrailで設定したログの出力先へログが生成されていきます。cloudwatchlogs の設定を行った場合はそちらにも出力されます。

$ cat test | jq -r '"\(.eventTime) \(.awsRegion) \(.eventSource) \(.eventName) \(.requestParameters.key)"'
2021-07-08T03:08:06Z ap-northeast-1 s3.amazonaws.com PutObject aaaa.html

※cloudwatch logs の内容を jq コマンドで中身を雑に整形

cloudwatchlogs の設定を行うことでアラーム設定も可能になります。懸念としてはバケットに対する接続が多い環境ではログがかなり膨大になります。

S3のログ記録オプションは公式からの案内もあるので確認しておきましよう

https://docs.aws.amazon.com/ja_jp/AmazonS3/latest/userguide/logging-with-S3.html

ありがとうございました