aws

【B-15】 CloudTrail

[学習フェーズ]

CloudTrailとは?

AWS CloudTrail は、誰が・いつ・どのサービスに・どんな操作をしたかを記録する監査ログサービスです。
AWSアカウント内の操作に対する証跡を取得し、セキュリティ監査や障害調査に不可欠なサービスです。

取得されるログ

項目説明
操作したユーザーIAMユーザー / ロール / ルートアカウント
実行時刻UTCで記録
実行サービスEC2 / S3 / IAM / Lambdaなどほぼすべて
実行内容作成・変更・削除などのAPIコール
ソースIPアクセス元(社内 or 外部など)
リージョン東京リージョンか、他か

用途の例

  • セキュリティ監査(不正アクセスや不要な削除操作の追跡)
  • インシデント調査(誰が何をしたか?の特定)
  • コンプライアンス対応(証跡の保存)
  • サーバーレス環境の分析(Lambda実行履歴など)

[実践フェーズ]

ここでは GUI を用いて、CloudTrailを有効化し、S3バケットにログを保存しましょう。

1.CloudTrailトップから「証跡の作成」をクリック

AWS CloudTrail

2.認証名を入力し、「証跡の作成」をクリック

CloudTrail-create

3.CLoudTrailのログが取得が開始される
S3バケットのURLをクリック

CloudTrail-S3bucket

4.証跡がS3にリージョン・日付別にgz形式で保存されている

CloudTrail-S3

5.バケットの最下層にある「json.gz」ダウンロードし、テキストエディタで開く

{"Records":[{"eventVersion":"1.09","userIdentity":{"type":"AWSService","invokedBy":"cloudtrail.amazonaws.com"},"eventTime":"2024-01-03T06:13:46Z","eventSource":"s3.amazonaws.com","eventName":"GetBucketAcl","awsRegion":"ap-northeast-1","sourceIPAddress":"cloudtrail.amazonaws.com","userAgent":"cloudtrail.amazonaws.com","requestParameters":{"bucketName":"aws-cloudtrail-logs-...

6.別途、CloudTrail>イベント履歴をクリック
AWSアカウントの内のイベントについて確認する。

CLoudTrail-イベント履歴

CloudTrailがどの粒度(細かさ)でログを取得しているか確認しましょう。
S3であればバケットの作成はもちろん、リストを見ただけでもログが出力されているはずです。
また、ログはjson形式で大量に保存されており、人力でログを確認することは困難となります。
Athenaやイベント履歴から確認するようにしましょう。