AWS初心者学習⑪ ~CloudTrailについて~

今回は、CloudTrailについて書いて行きたいと思います。
前回書いたCloudWatchと似ているので、違いをちゃんと認識しておく必要があります。両方とも監視目的で使われることが多い機能ですが、この2つは監視対象が異なります。ざっくり比較すると、CloudWatchは、「利用者が作成したサービス、アプリ、インフラ」が対象です。一方、CloudTrailはAWSを利用するユーザーを対象にします。

では、今回もAWSの公式サイトを参考にまとめていきたいと思います。

CloudTrailについて

AWS CloudTrailは、AWSアカウントのガバナンス、コンプライアンス、および運用とリスクの監査を行えるように支援するAWSのサービスです。ユーザー、ロール、またはAWSのサービスによって実行されたアクションは、CloudTrailにイベントとして登録されます。
要するに、AWS上でどのユーザーが、何を行ったのかというログを取れるってことですね!

CloudTrailイベント

CloudTrailイベントは、AWSアカウントのアクティビティのレコードです。このアクティビティは、CloudTrailによってモニタリングされたユーザー、ロール、またはサービスによって実行されるアクションとすることができます。AWSには以下、2種類のイベントが存在します。

管理イベント

管理イベントでは、AWSアカウントのリソースで実行される管理オペレーションについての洞察が得られます。これらのイベントは、コントロールプレーンオペレーションとも呼ばれます。管理イベントには、以下のようなものが存在します。

・セキュリティグループの設定
・デバイスの登録
・データをルーティングするルールの設定
・ログ記録設定

他にも、ログインイベントの記録などもあります。

データイベント

データイベントでは、リソース内で実行されたリソールオペレーションについての洞察が得られます。これらのイベントは、データプレーンオペレーションとも呼ばれます。

Amazon S3オブジェクトレベルのAPIアクティビティ
AWS Lambda関数の実行アクティビティ

データイベントは、デフォルトでは無効になっています。

CloudTrailのリージョン設定の種類

全てのリージョンに適用される証跡

すべてのリージョンに適用される証跡を作成すると、CloudTrailは、各リジョーンでイベントを記録し、指定したS3パケットにCloudTrailイベントログファイルを配信します。証跡作成後、新たに追加されたリージョンに対しても自動的に適用されます。

1つのリージョンに適用される証跡

1つのリージョンに適用される証跡を作成する時に、CloudTrailはそのリージョンのみでのイベントを記録します。

※「CloudTrailで設定できる証跡の種類」、「1つのリージョンに適用される証跡」両方ともログは、S3バケットに配信されます。

CloudTrailの運用イメージ

CloudTrailは、前回記載したCloudWatchと連携させることで不正使用などをいち早く検知できます。

以下、イメージです。
f:id:Tk24:20191215183456p:plain

  1. AWSユーザーAがEC2インスタンスに対して不正な操作(削除など)を実行
  2. CloudTrailが、AWSユーザーAの不正な操作を検知
  3. CloudTrailからCloudWatchへ、EC2インスタンスが不正な操作をされたことについて連携
  4. CloudTrailからCloudWatchへ連携されたことを、トリガーlambdaを実行
  5. AWS管理者に連絡するため、lambdaからAWS SNSを実行す 
  6. AWS管理者に対して、SNSからメールが送られる。

以上です。 次回からは、AWSのストレージについて書く予定です。