イベントデータストアへ証跡イベントをコピーします - AWS CloudTrail

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

イベントデータストアへ証跡イベントをコピーします

証跡イベントを CloudTrail Lake イベントデータストアにコピーして、証跡に記録されたイベントの point-in-time スナップショットを作成できます。証跡イベントをコピーしても、イベントをログに記録する証跡の機能が損なわれることはなく、証跡が変更されることもありません。

証跡イベントをイベント用に設定された既存のイベントデータストアにコピーすることも CloudTrail 、新しい CloudTrail イベントデータストアを作成して、イベントデータストアの作成の一部として証跡イベントのコピーオプションを選択することもできます。証跡イベントを既存のイベントデータストアにコピーする方法の詳細については、「コンソールを使用して証跡イベントを既存のイベントデータストアにコピーする」を参照してください。新しいイベントデータストアの作成方法に関する詳細は、「コンソールを使用してイベントのイベントデータストア CloudTrailを作成する」を参照してください。

証跡イベントを組織のイベントデータストアにコピーするには、組織の管理アカウントを使用する必要があります。組織の委任された管理者アカウントを使用して、証跡イベントをコピーすることはできません。

CloudTrail Lake イベントデータストアには料金が発生します。イベントデータストアを作成する際に、イベントデータストアに使用する料金オプションを選択します。料金オプションによって、イベントの取り込みと保存にかかる料金、および、そのイベントデータストアのデフォルトと最長の保持期間が決まります。Lake CloudTrail の料金とコスト管理の詳細については、AWS CloudTrail 「 の料金」および「」を参照してください CloudTrail Lake コストの管理

CloudTrail Lake イベントデータストアに証跡イベントをコピーすると、イベントデータストアが取り込む非圧縮データの量に基づいて料金が発生します。

証跡イベントを CloudTrail Lake にコピーすると、 は gzip (圧縮) 形式で保存されているログを CloudTrail 解凍し、ログに含まれるイベントをイベントデータストアにコピーします。非圧縮データのサイズは、実際の S3 ストレージサイズよりも大きくなる可能性があります。圧縮されていないデータのサイズを概算するには、S3 バケット内のログのサイズに 10 を掛けます。

コピーするイベントの時間範囲を短くすることで、コストを削減できます。コピーしたイベントのクエリにイベントデータストアのみを使用する予定の場合は、イベントの取り込みを無効にして、今後のイベントで料金が発生しないようにすることができます。詳細については、「AWS CloudTrail  料金表」と「 CloudTrail Lake コストの管理」を参照してください。

シナリオ

次の表は、証跡イベントのコピーに関する一般的なシナリオと、コンソールを使用して各シナリオを実行する方法について示したものです。

シナリオ どうすればコンソールでこれを実行できますか?

新しいイベントを取り込まずに CloudTrail Lake の履歴証跡イベントを分析してクエリする

新しいイベントデータストアを作成し、イベントデータストアを作成する一環として [証跡イベントをコピー] を選択します。イベントデータストアを作成する際には、[イベントを取り込む] (手順のステップ 15) の選択を解除し、イベントデータストアが確実に証跡の過去のイベントのみを含み、未来のイベントは含まれないようにします。

既存の証跡を CloudTrail Lake イベントデータストアに置き換える

証跡と同じイベントセレクターを持つイベントデータストアを作成し、イベントデータストアの対象範囲が証跡と同じであることを確認します。

ソース証跡と送信先イベントデータストア間でイベントが重複しないようにするには、イベントデータストアの作成より前の、コピーされたイベントの日付範囲を選択します。

イベントデータストアを作成したら、証跡のログ記録をオフにします。そうすれば、追加料金の発生を防げます。

証跡イベントのコピーに関する留意事項

証跡イベントをコピーする場合は、以下の要素を考慮してください。

  • 証跡イベントをコピーする場合、 CloudTrail は S3 GetObject API オペレーションを使用して、ソース S3 バケット内の証跡イベントを取得します。S3 Glacier Flexible Retrieval、S3 Glacier Deep Archive、S3 Outposts、S3 Intelligent-Tiering Deep Archive 階層など、一部の S3 でアーカイブされたストレージクラスには、GetObject を使用してアクセスできません。これらのアーカイブ済みストレージ クラスに保存されている証跡イベントをコピーするには、まず S3 RestoreObject オペレーションでコピーを復元する必要があります。アーカイブされたオブジェクトの復元の詳細については、「Amazon S3 ユーザーガイド」の「アーカイブされたオブジェクトの復元」を参照してください。

  • 証跡イベントをイベントデータストアにコピーすると、 は、送信先イベントデータストアのイベントタイプ、高度なイベントセレクタ、または の設定に関係なく、すべての証跡イベント CloudTrail をコピーします AWS リージョン。

  • 証跡イベントを既存のイベントデータストアにコピーする前に、そのイベントデータストアの料金設定オプションと保持期間が、ご自身のユースケースについて適切に設定されていることを確認してください。

    • 料金オプション: 料金オプションによって、イベントの取り込みと保存にかかるコストが決まります。料金オプションの詳細については、「AWS CloudTrail 料金表」および「イベントデータストアの料金オプション」を参照してください。

    • 保持期間: 保持期間は、イベントデータがイベントデータストアに保持される期間を決定します。 は、イベントデータストアの保持期間eventTime内の を持つ証跡イベント CloudTrail のみをコピーします。適切な保持期間を決定するには、コピーする最も古いイベントを日数で合計し、イベントデータストアにイベントを保持する日数 (保持期間 = oldest-event-in-days + ) を取得しますnumber-days-to-retain。例えば、コピーする最も古いイベントが 45 日前のもので、そのイベントをイベントデータストアにさらに 45 日間保持したい場合は、保持期間を 90 日間に設定します。

  • 調査のため証跡イベントをイベントデータストアにコピーしており、それ以上のイベントを取り込む必要がない場合は、イベントデータストアへの取り込みを停止できます。イベントデータストアを作成する際に、[イベントを取り込む] オプション (手順のステップ 15) の選択を解除し、イベントデータストアは確実に証跡の過去のイベントのみを含み、未来のイベントは含まれないようにします。

  • 証跡イベントをコピーする前に、ソース S3 バケットにアタッチされているアクセスコントロールリスト (ACL) をすべて無効にして、送信先イベントデータストアの S3 バケットポリシーを更新します。S3 バケットとポリシーの更新の詳細については、「証跡イベントのコピー用の Amazon S3 バケットポリシー」を参照してください。ACL の無効化の詳細については、「オブジェクトの所有権の制御とバケットの ACL の無効化」を参照してください。

  • CloudTrail は、ソース S3 bucket にある Gzip 圧縮ログファイルからのみ証跡イベントをコピーします。 CloudTrail は、非圧縮ログファイル、または Gzip 以外の形式で圧縮されたログファイルから証跡イベントをコピーしません。

  • ソース証跡と送信先イベントデータストア間でイベントが重複しないようにするには、イベントデータストアの作成よりも前の、コピーされたイベントの時間範囲を選択します。

  • デフォルトでは、 は S3 バケットのCloudTrailプレフィックスとプレフィックス内のCloudTrailプレフィックスに含まれる CloudTrail イベント CloudTrail のみをコピーし、他の AWS サービスのプレフィックスはチェックしません。別のプレフィックスに含まれる CloudTrail イベントをコピーする場合は、証跡イベントをコピーするときにプレフィックスを選択する必要があります。

  • 証跡イベントを組織のイベントデータストアにコピーするには、組織の管理アカウントを使用する必要があります。委任された管理者アカウントを使用して、組織のイベントデータストアに証跡イベントをコピーすることはできません。

証跡イベントのコピーに必要な許可

証跡イベントをコピーする前に、IAM ロールに必要なすべてのアクセス許可があることを確認してください。IAM ロールの許可を更新する必要があるのは、既存の IAM ロールを選択して証跡イベントをコピーする場合だけです。新しい IAM ロールを作成することを選択した場合、 はロールに必要なすべてのアクセス許可 CloudTrail を提供します。

ソース S3 バケットがデータ暗号化に KMS キーを使用している場合は、KMS キーポリシーで がバケット内のデータを復号 CloudTrail 化できることを確認してください。ソース S3 バケットが複数の KMS キーを使用している場合は、 CloudTrail がバケット内のデータを復号できるように、各キーのポリシーを更新する必要があります。

証跡イベントをコピーするための IAM 許可

証跡イベントをコピーする場合は、新しい IAM ロールを作成するか、既存の IAM ロールを使用するか選択できます。新しい IAM ロールを選択すると、 は必要なアクセス許可を持つ IAM ロール CloudTrail を作成し、ユーザー側でそれ以上のアクションは必要ありません。

既存のロールを選択する場合は、IAM ロールのポリシーで がソース S3 バケットから証跡イベントをコピー CloudTrail できることを確認します。このセクションでは、必要な IAM ロールのアクセス許可と信頼ポリシーの例を示します。

次の例は、 CloudTrail がソース S3 バケットから証跡イベントをコピーできるようにするアクセス許可ポリシーを示しています。DOC-EXAMPLE-BUCKET myAccountIDリージョン プレフィックス eventDataStoreおよび ID を設定に適した値に置き換えます。myAccountID は CloudTrail Lake に使用される AWS アカウント ID であり、S3 バケットの AWS アカウント ID とは異なる場合があります。

key-regionkeyAccountIDkeyID を、ソース S3 バケットの暗号化に使用する KMS キーの値に置き換えます。送信元 S3 バケットが暗号化に KMS キーを使用しない場合は、AWSCloudTrailImportKeyAccess ステートメントを省略できます。

{ "Version": "2012-10-17", "Statement": [ { "Sid": "AWSCloudTrailImportBucketAccess", "Effect": "Allow", "Action": ["s3:ListBucket", "s3:GetBucketAcl"], "Resource": [ "arn:aws:s3:::DOC-EXAMPLE-BUCKET" ], "Condition": { "StringEquals": { "aws:SourceAccount": "myAccountID", "aws:SourceArn": "arn:aws:cloudtrail:region:myAccountID:eventdataStore/eventDataStoreId" } } }, { "Sid": "AWSCloudTrailImportObjectAccess", "Effect": "Allow", "Action": ["s3:GetObject"], "Resource": [ "arn:aws:s3:::DOC-EXAMPLE-BUCKET/prefix", "arn:aws:s3:::DOC-EXAMPLE-BUCKET/prefix/*" ], "Condition": { "StringEquals": { "aws:SourceAccount": "myAccountID", "aws:SourceArn": "arn:aws:cloudtrail:region:myAccountID:eventdataStore/eventDataStoreId" } } }, { "Sid": "AWSCloudTrailImportKeyAccess", "Effect": "Allow", "Action": ["kms:GenerateDataKey","kms:Decrypt"], "Resource": [ "arn:aws:kms:key-region:keyAccountID:key/keyID" ] } ] }

次の例では、IAM 信頼ポリシーを提供します。これにより、 は IAM ロールを CloudTrail 引き受けて、ソース S3 バケットから証跡イベントをコピーできます。myAccountIDリージョン 、および eventDataStoreArn を設定に適した値に置き換えます。myAccountID は CloudTrail Lake に使用される AWS アカウント ID であり、S3 バケットの AWS アカウント ID とは異なる場合があります。

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": "cloudtrail.amazonaws.com" }, "Action": "sts:AssumeRole", "Condition": { "StringEquals": { "aws:SourceAccount": "myAccountID", "aws:SourceArn": "arn:aws:cloudtrail:region:myAccountID:eventdataStore/eventDataStoreId" } } } ] }

証跡イベントのコピー用の Amazon S3 バケットポリシー

デフォルトでは、Amazon S3 バケットとオブジェクトはプライベートです。リソース所有者 (バケットを作成した AWS アカウント) のみが、バケットとそれに含まれるオブジェクトにアクセスできます。リソース所有者は、アクセスポリシーを記述することで他のリソースおよびユーザーにアクセス権限を付与することができます。

証跡イベントをコピーする前に、S3 バケットポリシーを更新して、 CloudTrail がソース S3 バケットから証跡イベントをコピーできるようにする必要があります。

S3 バケットポリシーに次のステートメントを追加して、これらのアクセス許可を付与できます。roleArnDOC-EXAMPLE-BUCKET を、設定に適した値に置き換えます。

{ "Sid": "AWSCloudTrailImportBucketAccess", "Effect": "Allow", "Action": [ "s3:ListBucket", "s3:GetBucketAcl", "s3:GetObject" ], "Principal": { "AWS": "roleArn" }, "Resource": [ "arn:aws:s3:::DOC-EXAMPLE-BUCKET", "arn:aws:s3:::DOC-EXAMPLE-BUCKET/*" ] },

ソース S3 バケット内のデータを復号化するための KMS キーポリシー

ソース S3 バケットがデータ暗号化に KMS キーを使用している場合は、SSE-KMS 暗号化が有効になってい CloudTrail る S3 バケットから証跡イベントをコピーするために必要な kms:Decryptおよび アクセスkms:GenerateDataKey許可を KMS キーポリシーが に提供していることを確認します。ソース S3 バケットが複数の KMS キーを使用している場合は、各キーポリシーを更新する必要があります。KMS キーポリシーを更新すると、 CloudTrail はソース S3 バケット内のデータを復号し、検証チェックを実行してイベントが標準に準拠 CloudTrailしていることを確認してから、 CloudTrail Lake イベントデータストアにイベントをコピーできます。

次の例では、 がソース S3 バケット内のデータを復号できる CloudTrail KMS キーポリシーを提供します。roleArnDOC-EXAMPLE-BUCKET myAccountIDリージョン eventDataStoreおよび ID を、設定に適した値に置き換えます。myAccountID は CloudTrail Lake に使用される AWS アカウント ID であり、S3 バケットの AWS アカウント ID とは異なる場合があります。

{ "Sid": "AWSCloudTrailImportDecrypt", "Effect": "Allow", "Action": [ "kms:Decrypt", "kms:GenerateDataKey" ], "Principal": { "AWS": "roleArn" }, "Resource": "*", "Condition": { "StringLike": { "kms:EncryptionContext:aws:s3:arn": "arn:aws:s3:::DOC-EXAMPLE-BUCKET/*" }, "StringEquals": { "aws:SourceAccount": "myAccountID", "aws:SourceArn": "arn:aws:cloudtrail:region:myAccountID:eventdataStore/eventDataStoreId" } } }