CloudTrail 概念 - AWS CloudTrail

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

CloudTrail 概念

このセクションでは、CloudTrail に関連する概念について簡単に説明します。

CloudTrail イベントとは何ですか?

CloudTrail のイベントは、AWS アカウントのアクティビティのレコードです。このアクティビティは、CloudTrail によってモニタリングされたユーザー、ロール、またはサービスによって実行されるアクションとすることができます。CloudTrail イベントは、AWS マネジメントコンソール、AWS SDK、コマンドラインツール、およびその他の AWS サービスを通じて行われた API アカウントアクティビティおよび API 以外のアカウントアクティビティの両方の履歴を提供します。CloudTrail には、3 種類の記録可能なイベント (管理イベント、データイベント、CloudTrail インサイトイベント) があります。デフォルトでは、証跡は管理イベントをログに記録しますが、データイベントやインサイトイベントは記録しません。

すべてのイベントタイプで、同じ CloudTrail JSON ログ形式が使用されます。

注記

CloudTrail では、すべての AWS サービスとすべてのイベントが記録されるわけではありません。特定のサービスで記録されている API の詳細情報については、『』の「そのサービスのドキュメントを参照してください」CloudTrail のサポート対象サービスと統合

管理イベントとは

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

  • セキュリティグループの設定 (例:IAM)AttachRolePolicyAPI オペレーション)。

  • デバイスの登録 (例:Amazon EC2 など)CreateDefaultVpcAPI オペレーション)。

  • データをルーティングするルールの設定 (例:Amazon EC2 など)CreateSubnetAPI オペレーション)。

  • ログ記録の設定 (例:AWS CloudTrail の使用)CreateTrailAPI オペレーション)。

管理イベントは、アカウントで発生する非 API イベントを含む場合もあります。たとえば、ユーザーがアカウントにサインインすると、CloudTrail はConsoleLoginevent. 詳細については、「CloudTrail によってキャプチャされる API 以外のイベント」を参照してください。CloudTrail が AWS のサービスについてログに記録する管理イベントの一覧については、「」を参照してください。CloudTrail のサポート対象サービスと統合

データイベントとは

データイベントでは、リソース上またはリソース内で実行されたリソースオペレーションについての情報が得られます。これらのイベントは、データプレーンオペレーションとも呼ばれます。データイベントは、多くの場合、高ボリュームのアクティビティです。以下のデータ型が記録されます。

  • Amazon S3 オブジェクトレベルの API アクティビティ (例:GetObjectDeleteObject, およびPutObjectAPI オペレーション)。

  • AWS Lambda 関数の実行アクティビティ (InvokeAPI)。

  • テーブルでの Amazon DynamoDB オブジェクトレベルの API アクティビティ (例:PutItemDeleteItem, およびUpdateItemAPI オペレーション)。

  • AWS Outposts での Amazon S3 オブジェクトレベルの API アクティビティ。

  • Amazon Managed Blockchain JSON-RPC 呼び出しは、eth_getBalanceまたはeth_getBlockByNumber

  • S3 Object Lambda アクセスポイントでの API アクティビティ(CompleteMultipartUploadおよびGetObject

証跡の作成時、デフォルトでは、データイベントは記録されません。CloudTrail データイベントを記録するには、証跡にアクティビティを収集する、サポート対象のリソースまたはリソースタイプを明示的に追加する必要があります。詳細については、「証跡の作成」および「データイベント」を参照してください。

データイベントのログ記録には追加料金が適用されます。CloudTrail 料金については、「」を参照してください。AWS CloudTrail 料金表

インサイトイベントとは

CloudTrail インサイトイベントでは、AWS アカウントの異常なアクティビティがキャプチャされます。インサイトイベントを有効にして CloudTrail が異常なアクティビティを検出した場合、インサイトイベントは証跡の宛先 S3 バケット内の別のフォルダまたはプレフィックスに記録されます。CloudTrail コンソールでインサイトイベントを表示すると、インサイトのタイプとインシデント期間も確認できます。インサイトイベントは、関連する API、インシデント時間、統計情報などの関連情報を提供し、異常なアクティビティについて理解して対処できるようにします。CloudTrail 証跡でキャプチャされた他のタイプのイベントとは異なり、インサイトイベントは、アカウントの典型的な使用パターンと大きく異なるアカウントの API 使用状況の変化を CloudTrail が検出した場合にだけログに記録されます。インサイトイベントを生成する可能性のあるアクティビティの例を次に示します。

  • 通常、アカウントは Amazon S3 を 20 個以下に記録します。deleteBucket1 分あたり API コールが 1 分あたり 1 ですが、アカウントは 100 のログ記録を開始します。deleteBucket1 分あたりの API 呼び出しです。異常なアクティビティの開始時にインサイトイベントが記録され、異常なアクティビティの終了を示すために別のインサイトイベントが記録されます。

  • 通常、アカウントは Amazon EC2 のコールを 1 分あたり 20 個を記録します。AuthorizeSecurityGroupIngressAPI のコールをまったく記録し始めていますが、アカウントはAuthorizeSecurityGroupIngress。異常なアクティビティの開始時にインサイトイベントが記録され、10 分後、以上にアクティビティが終了すると、異常なアクティビティの終了を示すために別のインサイトイベントが記録されます。

これらの例は、説明のみを目的としています。結果はユースケースによって異なる場合があります。

証跡の作成時、デフォルトでは、インサイトイベントは無効になっています。CloudTrail インサイトイベントを記録するには、新規または既存の証跡でインサイトイベントコレクションを明示的に有効にする必要があります。詳細については、「証跡の作成」および「証跡のインサイトイベントの記録」を参照してください。

CloudTrail インサイトイベントの記録には追加料金が適用されます。CloudTrail 料金については、「」を参照してください。AWS CloudTrail 料金表

CloudTrail イベント履歴とは何ですか?

CloudTrail イベント履歴は、過去 90 日間の CloudTrail イベントの表示、検索、およびダウンロードが可能な記録を提供します。この履歴を使用して、AWS マネジメントコンソール、AWS SDK、コマンドラインツール、およびその他の AWS のサービスから AWS アカウントで実行されたアクションの可視性を得ることができます。CloudTrail コンソールでイベント履歴の表示をカスタマイズするには、表示する列を選択します。詳細については、「CloudTrail イベント履歴でのイベントの表示」を参照してください。

トレイルとは何ですか?

証跡は、Amazon S3 バケット、CloudWatch Logs、および CloudWatch Events に対して CloudTrail イベントを提供できるようにする設定です。証跡を使用して、配信する CloudTrail イベントのフィルタリング、AWS KMS キーを使用した CloudTrail イベントログファイルの暗号化、ログファイル配信のための Amazon SNS 通知の設定を行うことができます。証跡の作成と管理の詳細については、「AWS アカウントに関する証跡の作成」を参照してください。

組織証跡とは何ですか?

組織の証跡は、管理アカウントおよび AWS Organizations すべてのメンバーアカウント内の CloudTrail イベントを、同じ Amazon S3 バケット、CloudWatch Logs、および CloudWatch Events に配信できるようにする設定です。組織の証跡を作成すると、組織のための統一されたイベントログ記録戦略を定義するのに役立ちます。

組織の証跡を作成すると、自分の組織に属するすべての AWS アカウントに、指定した名前の証跡が作成されます。メンバーアカウントで CloudTrail アクセス許可を持つユーザーは、AWS アカウントから AWS CloudTrail コンソールにログインしたとき、または AWS CLI コマンド (証跡 ARN を含む) を表示することができます (ただし、describe-trails(ただし、AWS CLI を使用する場合、メンバーアカウントは名前ではなく、組織証跡に ARN を使用する必要があります)。ただし、メンバーアカウントのユーザーには、組織の証跡の削除、ログ記録のオン/オフの切り替え、記録するイベントの種類の変更、または組織の証跡の変更を行うための十分なアクセス許可がありません。AWS Organizations の詳細については、「」を参照してください。Organizations 用語と概念。組織の証跡を作成して作業する方法の詳細については、「組織の証跡を作成します」を参照してください。

CloudTrail を管理するには、どうすればよいでしょうか?

CloudTrail コンソール

CloudTrail サービスは、AWS CloudTrail コンソールを使用して管理することができます。コンソールには、次のように多くの CloudTrail タスクを実行するためのユーザーインターフェイスがあります。

  • AWS アカウントの最近のイベントとイベント履歴の表示。

  • イベントの過去 90 日のフィルタリングされたファイルまたは完全なファイルのダウンロード。

  • CloudTrail 証跡の作成と編集。

  • 以下を含む、CloudTrail の設定。

    • Amazon S3 バケットを選択する。

    • プレフィックスの設定。

    • CloudWatch Logs への配信の設定。

    • AWS KMS キーの暗号化の使用。

    • ログファイル配信のための Amazon SNS 通知の有効化。

    • 証跡タグを追加および管理します。

2019 年 4 月 12 日以降、証跡は、イベントをログに記録する AWS リージョンでのみ表示することができます。すべての AWS リージョンのイベントをログに記録する証跡を作成すると、すべての AWS リージョンのコンソールに表示されます。単一の AWS リージョン内のイベントのみをログ記録する証跡を作成した場合は、その AWS リージョン内でのみ、それを表示および管理できます。

AWS マネジメントコンソールの詳細については、「」を参照してください。AWS マネジメントコンソール

CloudTrail CLI

AWS コマンドラインインターフェイスは、コマンドラインで CloudTrail を操作できる統合ツールです。詳細については、AWS コマンドラインインターフェイスのユーザーガイドを参照してください。CloudTrail CLI コマンドの全一覧については、「」を参照してください。使用できるコマンド

CloudTrail API の使用

コンソールと CLI に加えて、CloudTrail RESTful API も使用できます。API を使用すれば、CloudTrail を直接プログラムすることができます。詳細については、『』を参照してください。AWS CloudTrail API リファレンス

AWS SDK

CloudTrail API を使用する代わりに、いずれかの AWS SDK を使用することもできます。各 SDK は、各種のプログラミング言語とプラットフォームに対応したライブラリやサンプルコードで構成されています。SDK は、CloudTrail へのプログラムによるアクセス権限を作成する際に便利です。たとえば、SDK では、暗号を使用してリクエストに署名したり、エラーを管理したり、リクエストを自動的に再試行したりできます。詳細については、『』を参照してください。アマゾン ウェブ サービスのツールページで.

軌跡にタグを使用する理由

タグは、CloudTrail 証跡、CloudTrail ログファイルの保存に使用される Amazon S3 バケット、AWS 組織の組織および組織単位など、AWS リソースに割り当てることができるユーザー定義のキーおよびオプションの値です。証跡および Amazon S3 バケットに同じタグを追加することで、証跡のログファイルを保存できます。これにより、AWS リソースグループ。タグ付け戦略を実装して、リソースを一貫して効果的に、そして簡単に検索して管理できます。詳細については、「AWS タグ付け戦略」を参照してください。

CloudTrail へのアクセスをどのように制御しますか?

AWS Identity and Access Management は、Amazon Web Services (AWS) のお客様が、ユーザーとユーザーのアクセス許可を管理できるようにするためのウェブサービスです。IAM を使用すれば、AWS CloudTrail にアクセスする必要があるすべてのユーザーに、個別のユーザーを作成できます。ご自身にも IAM ユーザーを作成することにより、IAM ユーザーに管理者特権を与え、それらの IAM ユーザーをお客様の全作業で使用することができます。お客様のアカウントにアクセスする人に対して個別 IAM ユーザーを作成することにより、お客様それぞれに一意の認証情報を設定することができます。各 IAM ユーザーにそれぞれ異なるアクセス権限を付与することもできます。必要な場合には、いつでも IAM ユーザーのアクセス権限を変更、または無効にすることができます。詳細については、「CloudTrail のユーザーアクセス権限のコントロール」を参照してください。

管理イベントとデータイベントを記録するには、どうすればよいでしょうか?

デフォルトでは、証跡は AWS アカウントのすべての管理イベントをログに記録し、データイベントは記録しません。データイベントをログ記録するには、証跡を作成または更新します。証跡設定に一致するイベントだけが、Amazon S3 バケットに加え、オプションで Amazon CloudWatch Logs ロググループに配信されます。イベントが証跡の設定と一致しない場合、イベントはログに記録されません。詳細については、「CloudTrail ログファイルの操作」を参照してください。

CloudTrail インサイトイベントをどのように記録しますか?

AWS CloudTrail Insights は、CloudTrail 管理イベントを継続的に分析することで、AWS ユーザーが異常な量の API コールを特定し、それに応答するのに役立ちます。インサイトイベントは、異常なレベルの write 管理 API アクティビティの記録です。インサイトイベントの詳細ページには、異常なアクティビティのグラフとしてイベントが示され、異常なアクティビティの開始時間および終了時間と、アクティビティが異常かどうかを判断するために使用されるベースラインが表示されます。デフォルトでは、証跡は CloudTrail インサイトイベントを記録しません。コンソールでは、証跡を作成または更新するときにインサイトイベントをログに記録するように選択できます。CloudTrail API を使用する場合、インサイトイベントをログに記録するには、PutInsightSelectorsAPI. CloudTrail インサイトイベントの記録には追加料金が適用されます。詳細については、「」を参照してください。証跡のインサイトイベントの記録およびAWS CloudTrail 料金表

CloudTrail を使用したモニタリングはどのように実行しますか?

CloudWatch Logs、CloudWatch イベント、および CloudTrail

Amazon CloudWatch は、メトリクスを収集して追跡し、Amazon Web Services (AWS) リソースと、AWS で実行されているアプリケーションをモニタリングするウェブサービスです。Amazon CloudWatch Logs 記録は、ログデータのモニタリングに使用できる CloudWatch の機能です。CloudWatch Logs と統合すれば、AWS アカウント内の API アクティビティを含んだイベントを、CloudWatch Logs ロググループに送信できます。CloudWatch Logs に送信された CloudTrail イベントと、ユーザーが定義したメトリクスフィルタに基づいて、アラームをトリガーすることもできます。メトリックスフィルタによって抽出されたログストリームイベントに基づいて、通知を送信したり、モニタリング対象のリソースに変更を加えるように CloudWatch アラームを設定することもできます。また、CloudWatch Logs を使用して CloudTrail イベントを追跡しながら、オペレーティングシステム、アプリケーション、またはその他の AWS サービスから CloudWatch Logs に送信されたイベントを追跡することもできます。詳細については、「Amazon CloudWatch Logs を使用した CloudTrail ログファイルのモニタリング」を参照してください。

Amazon CloudWatch Events は、AWS リソースの変更を示すシステムイベントのほぼリアルタイムのストリームを提供する AWS サービスです。CloudWatch イベントでは、CloudTrail によって記録されたすべてのイベントでトリガーされるルールを作成できます。詳細については、「」を参照してください。AWS CloudTrail を使用して AWS API コールでトリガーする CloudWatch イベントルールの作成

インサイトイベントは CloudWatch と統合されています。証跡で登録しているイベント (インサイトイベントを含む) を、CloudWatch Events や CloudWatch Logs に配信できます。CloudWatch コンソールまたは API で CloudWatch イベントを設定するには、AWS Insight via CloudTrailイベントタイプのルールの作成CloudWatch コンソールの CloudWatch Logch コンソールで、

CloudTrail によってログに記録されたデータを CloudWatch Logs または CloudWatch イベントに送信するには、少なくとも 1 つの証跡が必要です。証跡の作成方法の詳細については、「証跡の作成」を参照してください。

CloudTrail は地域およびグローバルにどのように動作しますか?

証跡は 1 つのリージョンに適用することもできますし、すべてのリージョンに適用することもできます。ベストプラクティスとしては、使用する AWS パーティション内のすべてのリージョンに適用される証跡を作成してください。これは、CloudTrail コンソールで証跡を作成する場合のデフォルトの設定です。

注記

証跡の有効化証跡を作成し、CloudTrail イベントログファイルの Amazon S3 バケットへの配信を開始することを意味します。CloudTrail コンソールでは、証跡を作成する際にログ記録が自動的に有効になります。

証跡をすべてのリージョンに適用することの利点

すべての AWS リージョンに適用される証跡には、次のような利点があります。

  • 証跡の設定が、すべての AWS リージョンに一貫性を持って適用されます。

  • すべての AWS リージョンの CloudTrail イベントを、1 つの Amazon S3 バケットで受信できます。またオプションで、CloudWatch Logs 記録グループにも配信できます。

  • すべての AWS リージョンの証跡設定を 1 つの場所から管理できます。

  • 新しい AWS リージョンからのイベントをすぐに受信できます。新しい AWS リージョンが起動された場合、CloudTrail は元の証跡と同じ設定を使用して、新しいリージョンにリージョンのすべての証跡のコピーを自動的に作成します。

  • 異常なアクティビティを監視するために、にあまり使用しない証跡を AWS リージョンに作成する必要はありません。すべての AWS リージョン内のすべてのアクティビティは、すべての AWS リージョンに適用される証跡でログに記録されます。

証跡をすべてのリージョンに適用した場合に起こること

証跡をすべての AWS リージョンに適用した場合、CloudTrail はユーザーが特定のリージョンで作成した証跡を使用して、アカウント内のその他のすべてのリージョンに、同じ設定の証跡を作成します。

その結果、次のことが起こります。

  • CloudTrail は、すべての AWS リージョンのアカウントアクティビティのログファイルを、ユーザーが指定した 1 つの Amazon S3 バケットに配信します。オプションで指定された場合は、CloudWatch Logs ロググループにも配信します。

  • 証跡用の Amazon SNS トピックを設定した場合は、すべての AWS リージョンのログファイル配信に関する SNS 通知が、1 つの SNS トピックに送信されます。

  • ログファイルの整合性検証を有効にした場合は、すべての AWS リージョンで証跡で有効になります。詳細については、CloudTrail ログファイルの整合性の検証 を参照してください。

1 リージョンに対する複数の証跡

開発者、セキュリティ担当者、IT 監査者など、関連するユーザーグループが複数ある場合は、1 つのリージョンに対して複数の証跡を作成できます。これにより、各グループがログファイルの独自のコピーを受け取れるようになります。

CloudTrail では、リージョンごとに 5 つの証跡がサポートされます。すべての AWS リージョンに適用される証跡は、すべてのリージョンで 1 つの証跡としてカウントされます。

次に示すのは、1 つのリージョンに 5 つの証跡を使用する場合の例です。

  • 米国西部 (北カリフォルニア) リージョンに、そのリージョンだけに適用される証跡を 2 つ作成する。

  • 米国西部 (北カリフォルニア) リージョンに、すべての AWS リージョンに適用される証跡を 2 つ作成する。

  • すべての AWS リージョンに適用される証跡を、アジアパシフィック (シドニー) リージョンに作成する。この証跡は、米国西部 (北カリフォルニア) リージョンにも存在します。

証跡は、存在する AWS リージョンに表示されます。すべての AWS リージョンでイベントをログに記録する証跡は、すべてのリージョンに表示されます。AWS リージョンの証跡のリストは、[] の証跡CloudTrail コンソールの CloudTrail ページにアクセスします。詳細については、「証跡の更新」を参照してください。CloudTrail 料金については、「」を参照してください。AWS CloudTrail 料金表

AWS Security Token Service (AWS STS) と CloudTrail ログ

AWS STS は、グローバルエンドポイントを持つとともに、リージョン固有のエンドポイントもサポートしているサービスです。エンドポイントとは、ウェブサービスリクエストのエントリポイントとなる URL のことす。例:https://cloudtrail.us-west-2.amazonaws.comは、AWS CloudTrail サービスの米国西部 (オレゴン) リージョンエントリーポイントです。リージョンのエンドポイントは、アプリケーションのレイテンシーを低減するのに役立ちます。

AWS STS リージョン固有エンドポイントを使用する場合、そのリージョンの証跡は、そのリージョンで発生した AWS STS イベントのみを配信します。たとえば、エンドポイントを使用している場合sts.us-west-2.amazonaws.comus-west-2 の証跡は、us-west-2 から発生した AWS STS イベントのみを配信します。AWS STS リージョンのエンドポイントの詳細については、「」を参照してください。AWS リージョンでの AWS STS のアクティブ化と非アクティブ化()IAM ユーザーガイド

AWS リージョンのエンドポイントの詳細なリストについては、「」を参照してください。AWS リージョンとエンドポイント()AWS 全般のリファレンス。グローバル AWS STS エンドポイントからのイベントの詳細については、「」を参照してください。グローバルサービスイベントについて

グローバルサービスイベントについて

ほとんどのサービスの場合、イベントはアクションが発生したリージョンで記録されます。AWS Identity and Access Management (IAM)、AWS STS、Amazon CloudFront などのグローバルサービスの場合、イベントはグローバルサービスが含まれた任意の証跡に配信されます。

ほとんどのグローバルサービスでは、イベントは米国東部 (バージニア北部) リージョンであるとログに記録されますが、一部のグローバルサービスイベントは米国東部 (オハイオ州) リージョンや米国西部 (オレゴン) リージョンなど、他のリージョンであるとログに記録されます。

グローバルサービスイベントを重複して受信しないようにするには、次の点に注意してください。

  • デフォルトでは、グローバルサービスイベントは CloudTrail コンソールを使用して作成された証跡に配信されます。イベントは、その証跡のバケットに配信されます。

  • 単一のリージョンの証跡が複数ある場合は、証跡を設定し、グローバルサービスイベントがそれらの証跡の 1 つのみに配信されるようにすることを検討します。詳細については、「グローバルサービスイベントのログ記録の有効化と無効化」を参照してください。

  • 証跡の設定をすべてのリージョンのログ記録から単一のリージョンのログ記録に変更すると、その証跡に対してグローバルサービスイベントのログ記録は自動的に無効になります。同様に、証跡の設定を単一のリージョンのログ記録からすべてのリージョンのログ記録に変更すると、その証跡に対してグローバルサービスイベントのログ記録は自動的に無効になります。

    証跡に対するグローバルサービスイベントのログ記録の変更の詳細については、「グローバルサービスイベントのログ記録の有効化と無効化」を参照してください。

例:

  1. 証跡は CloudTrail コンソールで作成します。デフォルトでは、この証跡はグローバルサービスイベントをログに記録します。

  2. 単一リージョンの証跡を複数作成したとします。

  3. 単一リージョンの証跡について、グローバルサービスを含める必要はありません。グローバルサービスイベントは、1 つ目の証跡に対して配信されます。詳細については、「AWS コマンドラインインターフェイスによる証跡の作成、更新、管理」を参照してください。

注記

AWS CLI、AWS SDK、または CloudTrail API を使用して証跡を作成または更新する場合は、証跡に対してグローバルサービスイベントを含むか、除外するよう選択できます。CloudTrail コンソールからグローバルサービスイベントのログ記録を設定することはできません。

CloudTrail は他の AWS モニタリングサービスとどのように関係していますか?

CloudTrail は、AWS ですでに提供されているモニタリング機能に、別のディメンションを追加するものです。ユーザーがすでに使用しているログ記録機能 (Amazon S3 や Amazon CloudFront サブスクリプション用など) を変更したり、それらに取って代わるものではありません。Amazon CloudWatch は、パフォーマンスのモニタリングとシステムの正常性に特化した機能です。CloudTrail は API アクティビティに重点を置いています。CloudTrail では、システムのパフォーマンスや正常性に関するレポートは提供されませんが、CloudWatch アラームを使用して、特定のアクティビティについて通知を受け取ることができます。

パートナーソリューション

ロギングと分析に関するサードパーティースペシャリストのいる AWS パートナーからは、CloudTrail の出力を使用するソリューションが提供されています。詳細については、CloudTrail の詳細ページ (AWS CloudTrail