学習メモ。
CloudTrail とは
- AWS上でおこなわれるAPIアクションがすべて記録される。
- 監査に利用できる。
- アカウント作成時にデフォルトで有効になり、イベント履歴は90日間有効。
- 90日以上記録を保持する場合は「証跡の作成」が必要。
- 必要に応じてCloudTrail Insightsを有効化して、異常なアクティビティを特定することも可能。
AWS CloudTrail のイベント履歴を見てみる
AWS CloudTrail の開始方法のチュートリアルの「ステップ 1: イベント履歴で AWS アカウントのアクティビティを確認する」を参考にCloudTrailを見てみる。
前提条件
CloudTrailを使用するためのアクセス権が必要。
イベント履歴でAWSアカウントのアクティビティを確認する
CloudTrailはAWSアカウント作成時に自動で有効になっているので、CloudTrailにアクセスすればダッシュボードからすでにイベント履歴が閲覧可能。過去90日間に発生したイベントが見えている。
各リージョンサービスのイベントであれば、各リージョンのCloudTrailイベント履歴から履歴が確認できるが、IAM、S3などのグローバルイベントはバージニア北部リージョンのCloudTrailからでないと確認できない。
最近のイベントとしてConsoleLogin
イベントが確認できる、とチュートリアルに記載があるが、今回東京リージョンのCloudTrailイベント履歴から確認できなかった。
なぜ東京リージョンで ConsoleLogin が見えないのか?
サインインイベントがリージョンのイベントと見なされるか、グローバルイベントと見なされるかは、ユーザーがサインインするコンソールおよびユーザーのサインインURLの構造によって決まることになっている模様。
たとえば、https://alias.signin.aws.amazon.com/console というローカル化されているコンソールのホームページにサインインする場合、リージョンのサインインエンドポイント (https://us-east-2.signin.aws.amazon.com など) に自動的にリダイレクトされ、イベントはそのリージョンのログに記録される。
https://alias.signin.aws.amazon.com/console?region=ap-southeast-1 などの URL を使用して、特定のリージョンサインインエンドポイントを手動でリクエストすることもできるそう。
試しに https://<私のAWSアカウントのエイリアス名>.signin.aws.amazon.com/console
というURLをブラウザのアドレスバーの入力してEnterすると、
us-west-1
にリダイレクトされた。
このイベントは北カリフォルニア(us-west-1
)で記録されていた。
コンソールサインインイベントは必ずしもグローバルイベントとしてバージニア北部に記録されるわけではないことが分かった。
イベント履歴のフィルタはデフォルトで「読み取り専用:false」になっているが、ここの×をクリックしてフィルタを消すことで、すべてのイベント履歴を見られる。イベント名やリソースIDでフィルタすることもできる。
(今これを見ていつぞやのハンズオンでIPAMが残っていたのに気づいた。わお)
「イベントをダウンロード」から、CloudTrailのイベントをダウンロードすることもできる。
おわりに
証跡の作成なしでもここまでいろいろ確認できました。ConsoleLoginイベントを検知するアラートなども後々実施したいです。次回は証跡の作成を実施してみます。
参考