CloudTrail の仕組み
CloudTrail は、アカウント作成時にその AWS アカウントで有効になります。AWS アカウントでアクティビティが発生した場合、そのアクティビティは CloudTrail イベントに記録されます。CloudTrail コンソールで、[イベント履歴] に移動して簡単にイベントを表示できます。
イベント履歴により、AWS アカウントの過去 90 日間のアクティビティを表示、検索、ダウンロードできます。さらに、CloudTrail 証跡を作成して、AWS リソースの変更をアーカイブ、分析、応答できます。証跡は、指定した Amazon S3 バケットにイベントを配信できる設定です。Amazon CloudWatch Logs および Amazon EventBridge を使用して、証跡のイベントを配信および分析することもできます。CloudTrail コンソール、AWS CLI、または CloudTrail API で証跡を作成できます。
AWS アカウントの 2 種類の証跡を作成できます。
- すべてのリージョンに適用される証跡
-
すべてのリージョンに適用される証跡を作成すると、CloudTrail は、各リージョンでイベントを記録し、指定した S3 バケットに CloudTrail イベントログファイルを配信します。すべてのリージョンに適用される証跡を作成した後でリージョンを追加した場合、その新しいリージョンは自動的に含まれ、そのリージョンのイベントがログに記録されます。すべてのリージョンで証跡を作成することが推奨されるベストプラクティスであるため、アカウントのすべてのリージョンでアクティビティをキャプチャし、CloudTrail コンソールで証跡を作成する場合、すべてのリージョンの証跡がデフォルトのオプションです。AWS CLI を使用して、単一のリージョンの証跡のみを更新し、すべてのリージョンをログに記録できます。詳細については、「コンソールでの証跡の作成 (基本的なイベントセレクタ) 」を参照してください。
- 1 つのリージョンに適用される証跡
-
1 つのリージョンに適用される証跡を作成するときに、CloudTrail はそのリージョンでのみイベントを記録します。次に、指定した Amazon S3 バケットに CloudTrail イベントログファイルが渡されます。AWS CLI を使用して、単一のリージョンの証跡のみを作成できます。追加の単一の証跡を作成した場合、同じ Amazon S3 バケットまたは別のバケットに CloudTrail イベントログファイルを配信する証跡を持つことができます。これは、AWS CLI または CloudTrail API を使用して証跡を作成するときのデフォルトのオプションです。詳細については、「AWS Command Line Interface で証跡を作成、更新、管理する 」を参照してください。
どちらのタイプの証跡でも、任意のリージョンから Amazon S3 バケットを指定できます。
2019 年 4 月 12 日以降、証跡は、イベントをログに記録する AWS リージョンでのみ表示することができます。すべての AWS リージョンのイベントをログに記録する証跡を作成すると、すべての AWS リージョンのコンソールに表示されます。単一の AWS リージョン内のイベントのみをログ記録する証跡を作成した場合は、その AWS リージョン内でのみ、それを表示および管理できます。
AWS Organizations で組織を作成した場合は、その組織内のすべての AWS アカウントにおけるすべてのイベントをログに記録する組織の証跡または組織のイベントデータストアを作成できます。組織の証跡またはイベントデータストアを、すべての AWS リージョンまたは現在のリージョンに適用できます。組織の証跡とイベントデータストアは管理アカウントまたは委任された管理者アカウントで作成する必要があり、組織への適用として指定した場合は、組織内のすべてのメンバーアカウントに自動的に適用されます。メンバーアカウントは組織の証跡またはイベントデータストアを表示できますが、これを変更または削除することはできません。デフォルトでは、メンバーアカウントは Amazon S3 バケット内にある組織の証跡のログファイルにアクセスできず、組織のイベントデータストアに対してクエリを実行することもできません。
証跡の作成後に、1 つのリージョンまたはすべてのリージョンでイベントを記録するかどうかを含めて、その設定を変更できます。単一リージョンの証跡を全リージョンの証跡に変更する、またはその逆に変更するには、AWS CLI update-trail コマンドを実行します。また、データまたは CloudTrail Insights イベントのログを記録するかどうかも変更できます。証跡で 1 つのリージョンのイベントを記録するか、すべてのリージョンのイベントを記録するかの変更は、記録されるイベントに影響があります。詳細については、「AWS CLI を使用して証跡を管理する」(AWS CLI) および「CloudTrail ログファイルの使用」を参照してください。
デフォルトでは Amazon S3 のサーバー側の暗号化 (SSE) を使用して、CloudTrail イベントログファイルが暗号化されます。ログファイルを AWS Key Management Service (AWS KMS) キーで暗号化する選択もできます。 バケットにログファイルを任意の期間、保存することができます。また、Amazon S3 ライフサイクルのルールを定義して、自動的にログファイルをアーカイブまたは削除することもできます。ログファイルの配信と確認に関する通知が必要な場合は、Amazon SNS 通知を設定できます。
CloudTrail は、ログファイルを 1 時間に複数回、約 5 分ごとに発行します。これらのログファイルには、CloudTrail をサポートするアカウントのサービスからの API コールが含まれています。詳細については、「CloudTrail がサポートされているサービスと統合 」を参照してください。
CloudTrail は、通常、API コールから平均 15 分以内にログを配信します。この時間は保証されません。詳細については、「AWS CloudTrail サービスレベルアグリーメント
CloudTrail は、ユーザーまたは AWS のサービスによりユーザーに代わって直接行われたアクションをキャプチャします。例えば、AWS CloudFormation CreateStack
コールは、AWS CloudFormation テンプレートの必要に応じて Amazon EC2、Amazon RDS、Amazon EBS またはその他のサービスへ追加の API コールが発生する場合があります。この動作は正常であり、想定されています。CloudTrail イベントの invokedby
フィールドを使用して、AWS のサービスによってアクションが行われたかどうかを確認できます。
CloudTrail の使用を開始するには、「AWS CloudTrail の開始方法のチュートリアル」を参照してください。
CloudTrail の料金については、「AWS CloudTrail 料金
イベント履歴
CloudTrail コンソールで、[イベント履歴] に移動して簡単にイベントを表示できます。イベント履歴を使用すると、AWS アカウントの過去 90 日間の管理イベントアクティビティを表示、検索、およびダウンロードできます。イベント履歴内のイベントは、単一の属性でイベントをフィルタリングすることによって検索できます。
CloudTrail Lake とイベントデータストア
CloudTrail Lake イベントデータストアを作成して、AWS リソースの変更に対するアーカイブ、分析、および応答を実行できます。イベントはイベントデータストアに集約されます。イベントデータストアは、高度なイベントセレクタを適用することによって選択する条件に基いた、イベントのイミュータブルなコレクションです。イベントデータは、イベントデータストアに最大 7 年間 (2557 日) 保持できます。CloudTrail Lake イベントデータストアを使用すると、オンプレミスまたはクラウドでホストされている社内アプリケーションや SaaS アプリケーション、仮想マシン、コンテナなど、ハイブリッド環境内のあらゆるソースを含む、AWS の外部のアプリケーションからのイベントをログに記録できます。CloudTrail Lake を使用すると、12 を超えるパートナーとの統合を作成して、AWS 外部で発生したイベントをイベントデータストアにログ記録できます。統合を作成するには、まずイベントが配信されるチャネルを設定します。CloudTrail Lake を使用すると、複数のログアグリゲータやレポートツールを維持することなく、これらのデータに対して保存、アクセス、分析、トラブルシューティング、およびアクションを実行できます。CloudTrail Lake の使用を開始する方法についての詳細は、このガイドの「AWS CloudTrail Lake の使用」を参照してください。
イベントデータストアは、現在の AWS リージョン、または AWS アカウントのすべてのリージョンからのイベントをログに記録します。AWS 外部からの統合イベントのログ記録に使用するイベントデータストアは、シングルリージョン専用である必要があり、マルチリージョンのイベントデータストアとなることはできません。
イベントデータストアを作成した後に変更する場合は、update-event-data-store
AWS Organizations で組織を作成した場合は、その組織内のすべての AWS アカウントにおけるすべてのイベントをログに記録する組織のイベントデータストアを作成できます。組織のイベントデータストアを、すべての AWS リージョンまたは現在のリージョンに適用できます。組織のイベントデータストアは管理アカウントまたは委任された管理者アカウントで作成する必要があり、組織への適用として指定した場合は、組織内のすべてのメンバーアカウントに自動的に適用されます。メンバーアカウントは、組織のイベントデータストアを表示することも、これを変更または削除することもできません。デフォルトでは、メンバーアカウントは組織のイベントデータストアのログファイルにアクセスできず、組織のイベントデータストアに対してクエリを実行することもできません。組織のイベントデータストアを使用して、AWS 外からイベントを収集することはできません。
CloudTrail 証跡
CloudTrail 証跡を作成して、AWS リソースの変更に対してアーカイブ、分析、および応答を実行できます。
証跡とは、指定した Amazon S3 バケットにイベントを配信できる設定のことです。Amazon CloudWatch Logs および Amazon CloudWatch Events を使用して、証跡のイベントを配信および分析することもできます。CloudTrail コンソール、AWS CLI、または CloudTrail API で証跡を作成できます。
AWS アカウントの 2 種類の証跡を作成できます。
- すべてのリージョンに適用される証跡
-
すべてのリージョンに適用される証跡を作成すると、CloudTrail は、各リージョンでイベントを記録し、指定した S3 バケットに CloudTrail イベントログファイルを配信します。すべてのリージョンに適用される証跡を作成した後でリージョンを追加した場合、その新しいリージョンは自動的に含まれ、そのリージョンのイベントがログに記録されます。すべてのリージョンで証跡を作成することが推奨されるベストプラクティスであるため、アカウントのすべてのリージョンでアクティビティをキャプチャし、CloudTrail コンソールで証跡を作成する場合、すべてのリージョンの証跡がデフォルトのオプションです。AWS CLI を使用して、単一のリージョンの証跡のみを更新し、すべてのリージョンをログに記録できます。詳細については、「コンソールでの証跡の作成 (基本的なイベントセレクタ) 」を参照してください。
- 1 つのリージョンに適用される証跡
-
1 つのリージョンに適用される証跡を作成するときに、CloudTrail はそのリージョンでのみイベントを記録します。次に、指定した Amazon S3 バケットに CloudTrail イベントログファイルが渡されます。AWS CLI を使用して、単一のリージョンの証跡のみを作成できます。追加の単一の証跡を作成した場合、同じ Amazon S3 バケットまたは別のバケットに CloudTrail イベントログファイルを配信する証跡を持つことができます。これは、AWS CLI または CloudTrail API を使用して証跡を作成するときのデフォルトのオプションです。詳細については、「AWS Command Line Interface で証跡を作成、更新、管理する 」を参照してください。
どちらのタイプの証跡でも、任意のリージョンから Amazon S3 バケットを指定できます。
2019 年 4 月 12 日以降、証跡は、イベントをログに記録する AWS リージョンでのみ表示することができます。すべての AWS リージョンのイベントをログに記録する証跡を作成すると、すべての AWS リージョンのコンソールに表示されます。単一の AWS リージョン内のイベントのみをログ記録する証跡を作成した場合は、その AWS リージョン内でのみ、それを表示および管理できます。
AWS Organizations で組織を作成した場合は、その組織内のすべての AWS アカウントにおけるすべてのイベントをログに記録する組織の証跡を作成できます。組織の証跡またはイベントデータストアを、すべての AWS リージョンまたは現在のリージョンに適用できます。組織の証跡は管理アカウントで作成する必要があり、組織への適用として指定されている場合は、組織内のすべてのメンバーアカウントに自動的に適用されます。メンバーアカウントは組織の証跡を表示できますが、これを変更または削除することはできません。デフォルトでは、メンバーアカウントは Amazon S3 バケット内にある組織の証跡のログファイルにアクセスできません。
証跡の作成後に、1 つのリージョンまたはすべてのリージョンでイベントを記録するかどうかを含めて、その設定を変更できます。単一リージョンの証跡を全リージョンの証跡に変更する、またはその逆に変更するには、AWS CLI update-trail コマンドを実行します。また、データまたは CloudTrail Insights イベントのログを記録するかどうかも変更できます。証跡で 1 つのリージョンのイベントを記録するか、すべてのリージョンのイベントを記録するかの変更は、記録されるイベントに影響があります。詳細については、「AWS CLI を使用して証跡を管理する」(AWS CLI) および「CloudTrail ログファイルの使用」を参照してください。
デフォルトでは、Amazon S3 のサーバー側の暗号化 (SSE) を使用して、証跡からの CloudTrail イベントログファイルが暗号化されます。ログファイルを AWS Key Management Service (AWS KMS) キーで暗号化する選択もできます。 バケットにログファイルを任意の期間、保存することができます。また、Amazon S3 ライフサイクルのルールを定義して、自動的にログファイルをアーカイブまたは削除することもできます。ログファイルの配信と確認に関する通知が必要な場合は、Amazon SNS 通知を設定できます。
CloudTrail チャネル
CloudTrail は次の 2 つのタイプのチャネルをサポートしています。
- CloudTrail Lake と AWS の外部のイベントソースを統合するためのチャネル
-
CloudTrail Lake は、チャネルを使用して、CloudTrail と連携している外部パートナーまたは独自のソースから、AWS 以外のイベントを CloudTrail Lake に取り込みます。チャネルを作成するときは、チャネルソースから送信されるイベントを保存するイベントデータストアを 1 つまたは複数選択します。宛先イベントデータストアがアクティビティイベントをログ記録するように設定している間は、必要に応じてチャネルの宛先イベントデータストアを変更できます。外部パートナーからのイベント用のチャネルを作成するときは、パートナーまたはソースアプリケーションにチャネル ARN を提供します。チャネルにアタッチされたリソースポリシーにより、ソースはチャネルを介してイベントを送信できます。詳細については、「AWS CloudTrail API リファレンス」の「AWS 外のイベントソースとの統合を作成する」および「
CreateChannel
」を参照してください。 - サービスにリンクされたチャネル
-
AWS サービスは、サービスにリンクされたチャネルを作成して、ユーザーに代わって CloudTrail イベントを受信できます。サービスにリンクされたチャネルを作成する AWS サービスは、チャネルの高度なイベントセレクタが設定され、チャネルをすべてのリージョンに適用するのか、単一のリージョンに適用するのかを指定します。
AWS CLI の使用で、AWS サービスによって作成された CloudTrail サービスにリンクされた、チャネルに関する情報を表示できます。詳細については、「AWS CLI を使用して CloudTrail のサービスにリンクされたチャネルを表示します」を参照してください。