AWS CLI を使用した CloudTrail Lake の管理 - AWS CloudTrail

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

AWS CLI を使用した CloudTrail Lake の管理

以下は、CloudTrail Lake でイベントデータストアとクエリを作成し、管理するためのサンプル AWS CLI コマンドです。

AWS CLI でイベントデータストアを作成する

create-event-data-store コマンドを使用してイベントデータストアを作成します。

イベントデータストアを作成する際の必須パラメータは --name だけです。これは、イベントデータストアを識別するために使用されます。次のようなオプションパラメータも設定できます。

  • --advanced-event-selectors - イベントデータストアに含めるイベントのタイプを指定します。イベントデータストアのデフォルトでは、すべてのログ管理イベントをログ記録します。高度なイベントセレクタの詳細については、「CloudTrail API リファレンス」の「AdvancedEventSelector」を参照してください。

  • --kms-key-id - CloudTrail によって配信されるイベントの暗号化に使用する AWS KMS キー ID を指定します。値は、エイリアス名 (プレフィックス alias/ を付けます)、エイリアスに対して完全に指定された ARN、キーに対して完全に指定された ARN、またはグローバル一意識別子を指定できます。

  • --multi-region-enabled - アカウント内のすべての AWS リージョン のイベントをログに記録するマルチリージョンイベントデータストアを作成します。デフォルトでは、このパラメータが追加されていなくても、--multi-region-enabled が設定されています。

  • --organization-enabled - イベントデータストアが組織内のすべてのアカウントについてのイベントを収集できるようにします。デフォルトでは、組織内のすべてのアカウントについてイベントデータストアが有効になっているわけではありません。

  • --billing-mode - イベントの取り込みと保存にかかるコスト、および、イベントデータストアでの保持期間のデフォルトと最大を決定します。

    取り得る値には以下のものがあります。

    • EXTENDABLE_RETENTION_PRICING - この課金モードは、1 か月あたりに取り込むイベントデータが 25 TB 未満で、最大 3653 日 (約 10 年) の柔軟な保持期間を希望する場合に一般的にお勧めします。この課金モードのデフォルトの保持期間は 366 日です。

    • FIXED_RETENTION_PRICING - この課金モードは 1 か月あたりに取り込むイベントデータが 25 TB を超えると予想され、必要な保持期間が最長 2557 日 (約 7 年) の場合にお勧めします。この課金モードのデフォルトの保持期間は 2557 日です。

    デフォルト値は EXTENDABLE_RETENTION_PRICING です。

  • --retention-period - イベントデータストアにイベントを保持する日数。有効な値は、--billing-modeEXTENDABLE_RETENTION_PRICING の場合は 7 から 3653 までの整数で、--billing-modeFIXED_RETENTION_PRICING に設定されている場合は 7 から 2557 までの整数です。--retention-period を指定しない場合、CloudTrail は --billing-mode のデフォルトの保持期間を使用します。

  • --start-ingestion - --start-ingestion パラメータを指定すると、イベントデータストアが作成されたときにイベントデータストアでのイベントの取り込みが開始されます。このパラメータは、パラメータが追加されなくても設定されます。

    イベントデータストアにライブイベントを取り込みたくない場合は --no-start-ingestion を指定します。例えば、イベントをイベントデータストアにコピーして、過去のイベントの分析にのみイベントデータを使用する予定があるときは、このパラメータを設定するとよいでしょう。--no-start-ingestion パラメータは、eventCategoryManagementData、または ConfigurationItem である場合にのみ有効です。

次の例では、さまざまなタイプのイベントデータストアを作成する方法を示します。

AWS CLI で S3 データイベント用にイベントデータストアを作成する

次の AWS Command Line Interface (AWS CLI) create-event-data-store コマンドの例では、すべての Amazon S3 データイベントを選択し、KMS キーで暗号化される my-event-data-store という名前のイベントデータストアを作成します。

aws cloudtrail create-event-data-store \ --name my-event-data-store \ --kms-key-id "arn:aws:kms:us-east-1:123456789012:alias/KMS_key_alias" \ --advanced-event-selectors '[ { "Name": "Select all S3 data events", "FieldSelectors": [ { "Field": "eventCategory", "Equals": ["Data"] }, { "Field": "resources.type", "Equals": ["AWS::S3::Object"] }, { "Field": "resources.ARN", "StartsWith": ["arn:aws:s3"] } ] } ]'

以下に、応答の例を示します。

{ "EventDataStoreArn": "arn:aws:cloudtrail:us-east-1:123456789012:eventdatastore/EXAMPLE-ee54-4813-92d5-999aeEXAMPLE", "Name": "my-event-data-store", "Status": "CREATED", "AdvancedEventSelectors": [ { "Name": "Select all S3 data events", "FieldSelectors": [ { "Field": "eventCategory", "Equals": [ "Data" ] }, { "Field": "resources.type", "Equals": [ "AWS::S3::Object" ] }, { "Field": "resources.ARN", "StartsWith": [ "arn:aws:s3" ] } ] } ], "MultiRegionEnabled": true, "OrganizationEnabled": false, "BillingMode": "EXTENDABLE_RETENTION_PRICING", "RetentionPeriod": 366, "KmsKeyId": "arn:aws:kms:us-east-1:123456789012:alias/KMS_key_alias", "TerminationProtectionEnabled": true, "CreatedTimestamp": "2023-11-09T22:19:39.417000-05:00", "UpdatedTimestamp": "2023-11-09T22:19:39.603000-05:00" }

AWS CLI で AWS Config 設定項目用にイベントデータストアを作成する

次のサンプル AWS CLI create-event-data-store コマンドは、AWS Config 設定項目を選択する config-items-eds という名前のイベントデータストアを作成します。設定項目を収集するには、高度なイベントセレクタで eventCategory フィールドに対して Equals ConfigurationItem を指定します。

aws cloudtrail create-event-data-store \ --name config-items-eds \ --advanced-event-selectors '[ { "Name": "Select AWS Config configuration items", "FieldSelectors": [ { "Field": "eventCategory", "Equals": ["ConfigurationItem"] } ] } ]'

以下に、応答の例を示します。

{ "EventDataStoreArn": "arn:aws:cloudtrail:us-east-1:123456789012:eventdatastore/EXAMPLE-ee54-4813-92d5-999aeEXAMPLE", "Name": "config-items-eds", "Status": "CREATED", "AdvancedEventSelectors": [ { "Name": "Select AWS Config configuration items", "FieldSelectors": [ { "Field": "eventCategory", "Equals": [ "ConfigurationItem" ] } ] } ], "MultiRegionEnabled": true, "OrganizationEnabled": false, "BillingMode": "EXTENDABLE_RETENTION_PRICING", "RetentionPeriod": 366, "TerminationProtectionEnabled": true, "CreatedTimestamp": "2023-11-07T19:03:24.277000+00:00", "UpdatedTimestamp": "2023-11-07T19:03:24.468000+00:00" }

AWS CLI で管理イベント用に組織のイベントデータストアを作成する

次の AWS CLI create-event-data-store コマンドの例では、すべての管理イベントを収集する組織イベントデータストアを作成し、--billing-mode パラメータを FIXED_RETENTION_PRICING に設定します。

aws cloudtrail create-event-data-store --name org-management-eds --organization-enabled --billing-mode FIXED_RETENTION_PRICING

以下に、応答の例を示します。

{ "EventDataStoreArn": "arn:aws:cloudtrail:us-east-1:123456789012:eventdatastore/EXAMPLE6-d493-4914-9182-e52a7934b207", "Name": "org-management-eds", "Status": "CREATED", "AdvancedEventSelectors": [ { "Name": "Default management events", "FieldSelectors": [ { "Field": "eventCategory", "Equals": [ "Management" ] } ] } ], "MultiRegionEnabled": true, "OrganizationEnabled": true, "BillingMode": "FIXED_RETENTION_PRICING", "RetentionPeriod": 2557, "TerminationProtectionEnabled": true, "CreatedTimestamp": "2023-11-16T15:30:50.689000+00:00", "UpdatedTimestamp": "2023-11-16T15:30:50.851000+00:00" }

AWS CLI で Insights イベントのイベントデータストアを作成する

CloudTrail Lake で Insights イベントをログに記録するには、Insights イベントを収集する送信先イベントデータストアと、Insights を有効にし、管理イベントをログに記録するソースイベントデータストアが必要です。

この手順では、送信先イベントデータストアとソースイベントデータストアを作成し、Insights イベントを有効にする方法を説明します。

  1. aws cloudtrail create-event-data-store コマンドを実行して、Insights イベントを収集する送信先イベントデータストアを作成します。eventCategory の値は Insight にする必要があります。retention-period-days を、イベントデータストアにイベントを保持する日数に置き換えます。有効な値は、--billing-modeEXTENDABLE_RETENTION_PRICING の場合は 7 から 3653 までの整数で、--billing-modeFIXED_RETENTION_PRICING に設定されている場合は 7 から 2557 までの整数です。--retention-period を指定しない場合、CloudTrail は --billing-mode のデフォルトの保持期間を使用します。

    AWS Organizations 組織の管理アカウントでサインインしており、委任管理者にイベントデータストアへのアクセス権を付与したい場合には、--organization-enabled パラメータを含めてください。

    aws cloudtrail create-event-data-store \ --name insights-event-data-store \ --no-multi-region-enabled \ --retention-period retention-period-days \ --advanced-event-selectors '[ { "Name": "Select Insights events", "FieldSelectors": [ { "Field": "eventCategory", "Equals": ["Insight"] } ] } ]'

    以下に、応答の例を示します。

    { "Name": "insights-event-data-store", "ARN": "arn:aws:cloudtrail:us-east-1:111122223333:eventdatastore/EXAMPLEf852-4e8f-8bd1-bcf6cEXAMPLE", "AdvancedEventSelectors": [ { "Name": "Select Insights events", "FieldSelectors": [ { "Field": "eventCategory", "Equals": [ "Insight" ] } ] } ], "MultiRegionEnabled": false, "OrganizationEnabled": false, "BillingMode": "EXTENDABLE_RETENTION_PRICING", "RetentionPeriod": "90", "TerminationProtectionEnabled": true, "CreatedTimestamp": "2023-05-08T15:22:33.578000+00:00", "UpdatedTimestamp": "2023-05-08T15:22:33.714000+00:00" }

    この応答の ARN (または ARN の ID サフィックス) は、ステップ 3 で --insights-destination パラメータの値として使用します。

  2. 管理イベントをログ記録するソースイベントデータストアを作成するには、aws cloudtrail create-event-data-store コマンドを実行します。イベントデータストアのデフォルトでは、すべてのログ管理イベントをログ記録します。すべての管理イベントをログ記録するのであれば、高度なイベントセレクタを指定する必要はありません。retention-period-days を、イベントデータストアにイベントを保持する日数に置き換えます。有効な値は、--billing-modeEXTENDABLE_RETENTION_PRICING の場合は 7 から 3653 までの整数で、--billing-modeFIXED_RETENTION_PRICING に設定されている場合は 7 から 2557 までの整数です。--retention-period を指定しない場合、CloudTrail は --billing-mode のデフォルトの保持期間を使用します。組織のイベントデータストアを作成する場合は、--organization-enabled パラメータを含めます。

    aws cloudtrail create-event-data-store --name source-event-data-store --retention-period retention-period-days

    以下に、応答の例を示します。

    { "EventDataStoreArn": "arn:aws:cloudtrail:us-east-1:111122223333:eventdatastore/EXAMPLE9952-4ab9-49c0-b788-f4f3EXAMPLE", "Name": "source-event-data-store", "Status": "CREATED", "AdvancedEventSelectors": [ { "Name": "Default management events", "FieldSelectors": [ { "Field": "eventCategory", "Equals": [ "Management" ] } ] } ], "MultiRegionEnabled": true, "OrganizationEnabled": false, "BillingMode": "EXTENDABLE_RETENTION_PRICING", "RetentionPeriod": 90, "TerminationProtectionEnabled": true, "CreatedTimestamp": "2023-05-08T15:25:35.578000+00:00", "UpdatedTimestamp": "2023-05-08T15:25:35.714000+00:00" }

    この応答の ARN (または ARN の ID サフィックス) は、ステップ 3 で --event-data-store パラメータの値として使用します。

  3. put-insight-selectors コマンドを実行して Insights イベントを有効にします。Insights セレクターの値は、ApiCallRateInsightApiErrorRateInsight、または両方になります。--event-data-store パラメータには、管理イベントをログに記録して Insights を有効にするソースイベントデータストアの ARN (または ARN の ID サフィックス) を指定します。--insights-destination パラメータには、Insights イベントをログ記録する送信先イベントデータストアの ARN (または ARN の ID サフィックス) を指定します。

    aws cloudtrail put-insight-selectors --event-data-store arn:aws:cloudtrail:us-east-1:111122223333:eventdatastore/EXAMPLE9952-4ab9-49c0-b788-f4f3EXAMPLE --insights-destination arn:aws:cloudtrail:us-east-1:111122223333:eventdatastore/EXAMPLEf852-4e8f-8bd1-bcf6cEXAMPLE --insight-selectors '[{"InsightType": "ApiCallRateInsight"},{"InsightType": "ApiErrorRateInsight"}]'

    次の結果は、イベントデータストア用に設定された Insights イベントセレクタを表示しています。

    { "EventDataStoreARN": "arn:aws:cloudtrail:us-east-1:111122223333:eventdatastore/EXAMPLE9952-4ab9-49c0-b788-f4f3EXAMPLE", "InsightsDestination": "arn:aws:cloudtrail:us-east-1:111122223333:eventdatastore/EXAMPLEf852-4e8f-8bd1-bcf6cEXAMPLE", "InsightSelectors": [ { "InsightType": "ApiErrorRateInsight" }, { "InsightType": "ApiCallRateInsight" } ] }

    イベントデータストアで初めて CloudTrail Insights を有効にした後、異常なアクティビティが検出された際、CloudTrail が最初の Insights イベントを配信するまでに最大 7 日間かかることがあります。

    CloudTrail Insights は、グローバルではなく 単一のリージョンで発生する管理イベントを分析します。CloudTrail Insights イベントは、サポート対象の管理イベントが生成されるのと同じリージョンに生成されます。

    組織のイベントデータストアの場合、CloudTrail は組織のすべての管理イベントの集計を分析する代わりに、各メンバーのアカウントからの管理イベントを分析します。

CloudTrail Lake 内の Insights イベントの取り込みには、追加料金が適用されます。証跡とイベントデータストアの両方で Insights を有効にすると、それぞれ個別に課金されます。CloudTrail の料金の詳細については、「AWS CloudTrail の料金」を参照してください。

AWS CLI で証跡イベントをイベントデータストアにインポートする

AWS CLI で、証跡イベントをイベントデータストアにインポートできます。このセクションの手順では、create-event-data-store コマンドを実行してイベントデータストアを作成および設定し、start-import コマンドを使用してそのイベントデータストアにイベントをインポートする方法を示しています。考慮事項や必要なアクセス許可など、証跡イベントのインポートの詳細については、「イベントデータストアへ証跡イベントをコピーします」を参照してください。

証跡イベントのインポートの準備

証跡イベントをインポートする前に、次の準備を行います。

  • 証跡イベントをイベントデータストアにインポートするのに必要なアクセス許可を持つロールを持っていることを確認してください。

  • イベントデータストアに指定する --billing-mode の値を決定します。--billing-mode によって、イベントの取り込みと保存にかかるコスト、および、イベントデータストアでの保持期間のデフォルトと最大が決まります。

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

  • 指定する --retention-period の値を決定します。CloudTrail は、eventTime が指定された保存期間より古い場合はイベントをコピーしません。

    適切な保持期間を決定するには、次の式に示すように、コピーしたい最も古いイベントの日数と、イベントデータストアにイベントを保持したい日数の合計を計算します。

    保持期間 = 最も古いイベントの日数 + 保持する日数

    例えば、コピーする最も古いイベントが 45 日前のもので、そのイベントをイベントデータストアにさらに 45 日間保持したい場合は、保持期間を 90 日間に設定します。

  • 今後のイベントの分析にイベントデータストアを使用するかどうかを決定します。今後のイベントを取り込みたくない場合は、イベントデータストアを作成するときに --no-start-ingestion パラメータを含めます。デフォルトでは、イベントデータストアは作成されたときにイベントの取り込みを開始します。

イベントデータストアを作成し、そのイベントデータストアに証跡イベントをインポートするには

  1. create-event-data-store コマンドを実行して新しいイベントデータストアを作成します。この例では、コピーされる最も古いイベントが 90 日前のもので、イベントを 30 日間保持したいので、--retention-period120 に設定されています。今後のイベントは取り込みたくないので、--no-start-ingestion パラメータが設定されています。この例では、取り込むイベントデータは 25 TB 未満と予想されるため、デフォルト値の EXTENDABLE_RETENTION_PRICING を使用しているので、--billing-mode は設定されていません。

    注記

    証跡を置き換えるためにイベントデータストアを作成する場合は、証跡のイベントセレクタと一致するように --advanced-event-selectors を設定して、同じイベント範囲になるようにすることをお勧めします。イベントデータストアのデフォルトでは、すべてのログ管理イベントをログ記録します。

    aws cloudtrail create-event-data-store --name import-trail-eds --retention-period 120 --no-start-ingestion

    以下に、応答の例を示します。

    { "EventDataStoreArn": "arn:aws:cloudtrail:us-east-1:123456789012:eventdatastore/EXAMPLEa-4357-45cd-bce5-17ec652719d9", "Name": "import-trail-eds", "Status": "CREATED", "AdvancedEventSelectors": [ { "Name": "Default management events", "FieldSelectors": [ { "Field": "eventCategory", "Equals": [ "Management" ] } ] } ], "MultiRegionEnabled": true, "OrganizationEnabled": false, "BillingMode": "EXTENDABLE_RETENTION_PRICING", "RetentionPeriod": 120, "TerminationProtectionEnabled": true, "CreatedTimestamp": "2023-11-09T16:52:25.444000+00:00", "UpdatedTimestamp": "2023-11-09T16:52:25.569000+00:00" }

    最初の StatusCREATED なので、get-event-data-store コマンドを実行して取り込みが停止したことを確認します。

    aws cloudtrail get-event-data-store --event-data-store eds-id

    応答には StatusSTOPPED_INGESTION になったことが表示され、イベントデータストアがライブイベントを取り込んでいないことが示されます。

    { "EventDataStoreArn": "arn:aws:cloudtrail:us-east-1:123456789012:eventdatastore/EXAMPLEa-4357-45cd-bce5-17ec652719d9", "Name": "import-trail-eds", "Status": "STOPPED_INGESTION", "AdvancedEventSelectors": [ { "Name": "Default management events", "FieldSelectors": [ { "Field": "eventCategory", "Equals": [ "Management" ] } ] } ], "MultiRegionEnabled": true, "OrganizationEnabled": false, "BillingMode": "EXTENDABLE_RETENTION_PRICING", "RetentionPeriod": 120, "TerminationProtectionEnabled": true, "CreatedTimestamp": "2023-11-09T16:52:25.444000+00:00", "UpdatedTimestamp": "2023-11-09T16:52:25.569000+00:00" }
  2. start-import コマンドを実行して、ステップ 1 で作成したイベントデータストアに証跡イベントをインポートします。--destinations パラメータの値として、イベントデータストアの ARN (または ARN の ID サフィックス) を指定します。--start-event-time にはコピーする最も古いイベントの eventTime を指定し、--end-event-time にはコピーする最新のイベントの eventTime を指定します。--import-source には、証跡ログを含む S3 バケットの S3 URI、S3 バケットの AWS リージョン、および証跡イベントのインポートに使用されるロールの ARN を指定します。

    aws cloudtrail start-import \ --destinations ["arn:aws:cloudtrail:us-east-1:123456789012:eventdatastore/EXAMPLEa-4357-45cd-bce5-17ec652719d9"] \ --start-event-time 2023-08-11T16:08:12.934000+00:00 \ --end-event-time 2023-11-09T17:08:20.705000+00:00 \ --import-source {"S3": {"S3LocationUri": "s3://aws-cloudtrail-logs-123456789012-612ff1f6/AWSLogs/123456789012/CloudTrail/","S3BucketRegion":"us-east-1","S3BucketAccessRoleArn": "arn:aws:iam::123456789012:role/service-role/CloudTrailLake-us-east-1-copy-events-eds"}}

    以下に、応答の例を示します。

    { "CreatedTimestamp": "2023-11-09T17:08:20.705000+00:00", "Destinations": [ "arn:aws:cloudtrail:us-east-1:123456789012:eventdatastore/EXAMPLEa-4357-45cd-bce5-17ec652719d9" ], "EndEventTime": "2023-11-09T17:08:20.705000+00:00", "ImportId": "EXAMPLEe-7be2-4658-9204-b38c3257fcd1", "ImportSource": { "S3": { "S3BucketAccessRoleArn": "arn:aws:iam::123456789012:role/service-role/CloudTrailLake-us-east-1-copy-events-eds", "S3BucketRegion":"us-east-1", "S3LocationUri": "s3://aws-cloudtrail-logs-123456789012-111ff1f6/AWSLogs/123456789012/CloudTrail/" } }, "ImportStatus": "INITIALIZING", "StartEventTime": "2023-08-11T16:08:12.934000+00:00", "UpdatedTimestamp": "2023-11-09T17:08:20.806000+00:00" }
  3. get-import コマンドを実行して、インポートに関する情報を取得します。

    aws cloudtrail get-import --import-id import-id

    以下に、応答の例を示します。

    { "ImportId": "EXAMPLEe-7be2-4658-9204-b38c3EXAMPLE", "Destinations": [ "arn:aws:cloudtrail:us-east-1:123456789012:eventdatastore/EXAMPLEa-4357-45cd-bce5-17ec652719d9" ], "ImportSource": { "S3": { "S3LocationUri": "s3://aws-cloudtrail-logs-123456789012-111ff1f6/AWSLogs/123456789012/CloudTrail/", "S3BucketRegion":"us-east-1", "S3BucketAccessRoleArn": "arn:aws:iam::123456789012:role/service-role/CloudTrailLake-us-east-1-copy-events-eds" } }, "StartEventTime": "2023-08-11T16:08:12.934000+00:00", "EndEventTime": "2023-11-09T17:08:20.705000+00:00", "ImportStatus": "COMPLETED", "CreatedTimestamp": "2023-11-09T17:08:20.705000+00:00", "ImportStatistics": { "PrefixesFound": 1548, "PrefixesCompleted": 1548, "FilesCompleted": 92845, "EventsCompleted": 577249, "FailedEntries": 0 } }

    インポートは、失敗がなかった場合、COMPLETEDImportStatus で終了し、失敗があった場合、FAILED で終了します。

    インポートに FailedEntries があった場合は、list-import-failures コマンドを実行して失敗のリストを返すことができます。

    aws cloudtrail list-import-failures --import-id import-id

    失敗したインポートを再試行するには、--import-id パラメータのみを指定して start-import コマンドを実行します。インポートを再試行すると、CloudTrail は失敗が発生した場所からインポートを再開します。

    aws cloudtrail start-import --import-id import-id

AWS CLI で AWS 外からのイベントをログに記録する統合を作成する

AWS CLI では、AWS 外からのイベントのログ記録を行う統合を、4 つのコマンド (条件に適合したイベントデータストアが既にある場合は 3 つのコマンド) で作成します。統合が送信先として使用するイベントデータストアは、単一のリージョンおよび単一のアカウント用にする必要があります。マルチリージョンは使用できず、AWS Organizations の組織のイベントをログ記録することもできません。また、このストアに保存することができるのは、アクティビティイベントのみです。コンソール内のイベントタイプは、[Events from integrations] (統合からのイベント) にする必要があります。API 内での eventCategory 値は ActivityAuditLog にする必要があります。統合の詳細については、「AWS 外のイベントソースとの統合を作成する」を参照してください。

  1. 統合に使用可能なイベントデータストアをまだ 1 つも作成していない場合は、create-event-data-store を実行してそれを作成します。

    次の例の AWS CLI コマンドでは、AWS 以外のイベントをログ記録するイベントデータストアを作成しています。アクティビティイベントの場合、eventCategory フィールドのセレクタ値は ActivityAuditLog です。このイベントデータストアでは、保持期間は 90 日に設定されています。イベントデータストアのデフォルトでは、すべてのリージョンからイベントを収集しますが、ここでは AWS 以外のイベントを収集しているため、--no-multi-region-enabled オプションを追加することで、単一のリージョンを設定しています。終了保護はデフォルトで有効化されます。また、このイベントデータストアでは、組織内のアカウントのためのイベント収集は行いません。

    aws cloudtrail create-event-data-store \ --name my-event-data-store \ --no-multi-region-enabled \ --retention-period 90\ --advanced-event-selectors '[ { "Name": "Select all external events", "FieldSelectors": [ { "Field": "eventCategory", "Equals": ["ActivityAuditLog"] } ] } ]'

    以下に、応答の例を示します。

    { "EventDataStoreArn": "arn:aws:cloudtrail:us-east-1:123456789012:eventdatastore/EXAMPLEf852-4e8f-8bd1-bcf6cEXAMPLE", "Name": "my-event-data-store", "AdvancedEventSelectors": [ { "Name": "Select all external events", "FieldSelectors": [ { "Field": "eventCategory", "Equals": [ "ActivityAuditLog" ] } ] } ], "MultiRegionEnabled": true, "OrganizationEnabled": false, "BillingMode": "EXTENDABLE_RETENTION_PRICING", "RetentionPeriod": 90, "TerminationProtectionEnabled": true, "CreatedTimestamp": "2023-10-27T10:55:55.384000-04:00", "UpdatedTimestamp": "2023-10-27T10:57:05.549000-04:00" }

    次のステップに進みチャネルの作成を行うには、イベントデータストアの ID (ARN のサフィックス、または前出の応答例にある EXAMPLEf852-4e8f-8bd1-bcf6cEXAMPLE) が必要になります。

  2. create-channel コマンドを実行してチャネルを作成し、CloudTrail のイベントデータストアに向けて、パートナーまたはソースアプリケーションがイベントを送信できるようにします。

    チャネルは、以下のコンポーネントを含みます。

    ソース

    CloudTrail はこの情報を使用して、ユーザーに代わって CloudTrail にイベントデータを送信しているパートナーを特定します。ソースは必須で、AWS 以外のすべての有効なイベント用に Custom とするか、パートナーイベントソースの名前を使用するか、どちらかを選びます。ソースごとに最大 1 つのチャネルが許可されます。

    利用可能なパートナーの Source 値については、「統合パートナーに関する追加情報」を参照してください。

    取り込みステータス

    チャネルステータスでは、チャネルソースからの最後のイベントが、いつ受信されたかを知ることができます。

    送信先

    送信先は、チャネルからイベントを受信している CloudTrail Lake イベントデータストアを示します。チャネルのための送信先イベントデータストアは、変更することが可能です。

    ソースからのイベントの受信を停止するには、対象のチャネルを削除します。

    このコマンドを実行するには、送信先イベントデータストアの ID が少なくとも 1 つ必要です。送信先として有効な型は EVENT_DATA_STORE です。取り込んだイベントは、複数のイベントデータストアに送信することができます。次のコマンドの例では、--destinations パラメーターの Location 属性内にある ID で表される、2 つのイベントデータストアに対しイベントを送信するチャネルを作成します。--destinations--name、および --source パラメータが必要です。CloudTrail パートナーからイベントを取り込むには、--source の値としてパートナーの名前を指定します。AWS の外にある独自のアプリケーションからイベントを取り込むには、--source の値として Custom を指定します。

    aws cloudtrail create-channel \ --region us-east-1 \ --destinations '[{"Type": "EVENT_DATA_STORE", "Location": "EXAMPLEf852-4e8f-8bd1-bcf6cEXAMPLE"}, {"Type": "EVENT_DATA_STORE", "Location": "EXAMPLEg922-5n2l-3vz1- apqw8EXAMPLE"}]' --name my-partner-channel \ --source $partnerSourceName \

    create-channel コマンドに対する応答の中から、新しいチャネルの ARN をコピーします。以降の手順で put-resource-policy および put-audit-events コマンドを実行する際には、この ARN が必要になります。

  3. put-resource-policy コマンドを実行して、リソースポリシーをチャネルにアタッチします。リソースポリシーとは、JSON によるポリシードキュメントです。このドキュメントでは、指定したプリンシパルが対象のリソースにおいて実行できるアクションの種類と、その際の条件を指定します。チャネルのリソースポリシーでプリンシパルとして定義されているアカウントは、PutAuditEvents API を呼び出してイベントを配信することができます。

    注記

    チャネルのリソースポリシーを作成しない場合は、そのチャネルの所有者だけが、チャネル内で PutAuditEvents API を呼び出すことができます。

    ポリシーに必要な情報は、統合タイプによって決まります。

    • 直接統合の場合、CloudTrail ではポリシーにパートナーの AWS アカウント ID を含める必要があり、パートナーから提供された固有の外部 ID を入力する必要があります。CloudTrail コンソールを使用して統合を作成すると、CloudTrail はパートナーの AWS アカウント ID をリソースポリシーに自動的に追加します。ポリシーに必要な AWS アカウント番号の取得方法については、パートナーのドキュメントを参照してください。

    • ソリューション統合では、少なくとも 1 つの AWS アカウント ID をプリンシパルとして指定する必要があります。また、混乱した代理問題を防ぐために、オプションの外部 ID を入力することもできます。

    リソースポリシーには、以下の要件があります。

    • ポリシーで定義されているリソース ARN は、ポリシーがアタッチされているチャネル ARN と一致する必要があります。

    • ポリシーには、cloudtrail-data:PutAuditEvents というアクションを 1 つだけ含めます。

    • ポリシーには、少なくとも 1 つのステートメントを含めます。ポリシーには、最大 20 個のステートメントを記述できます。

    • 各ステートメントには、少なくとも 1 つのプリンシパルを含めます。1 つのステートメントには、最大 50 個のプリンシパルを記述できます。

    aws cloudtrail put-resource-policy \ --resource-arn "channelARN" \ --policy "{ "Version": "2012-10-17", "Statement": [ { "Sid": "ChannelPolicy", "Effect": "Allow", "Principal": { "AWS": [ "arn:aws:iam::111122223333:root", "arn:aws:iam::444455556666:root", "arn:aws:iam::123456789012:root" ] }, "Action": "cloudtrail-data:PutAuditEvents", "Resource": "arn:aws:cloudtrail:us-east-1:777788889999:channel/EXAMPLE-80b5-40a7-ae65-6e099392355b", "Condition": { "StringEquals": { "cloudtrail:ExternalId": "UniqueExternalIDFromPartner" } } } ] }"

    リソースポリシーの詳細については、「AWS CloudTrail リソースベースのポリシーの例」を参照してください。

  4. PutAuditEvents API を実行して、アクティビティイベントを CloudTrail に取り込みます。CloudTrail に追加させるイベントのペイロードが必要になります。CloudTrail に取り込む前の段階では、イベントペイロードに機密情報や個人を特定できる情報が含まれることはない点に注意してください。PutAuditEvents API では、cloudtrail エンドポイントではなく cloudtrail-data CLI エンドポイントが使用されることに注意してください。

    次に、put-audit-events CLI コマンドの使用例を示します。--audit-events および --channel-arn パラメータが必要です。--external-id パラメータは、リソースポリシーで外部 ID が定義されている場合に必要です。前述のステップで作成したチャネルの ARN が必要です。--audit-events の値は、イベントオブジェクトで構成された JSON 形式の配列です。 --audit-events には、イベントからの必須 ID、EventData の値として必要なイベントのペイロード、CloudTrail に取り込んだ後のイベントの整合性を検証するのに役立つオプションのチェックサムが含まれます。

    aws cloudtrail-data put-audit-events \ --channel-arn $ChannelArn \ --external-id $UniqueExternalIDFromPartner \ --audit-events \ id="event_ID",eventData='"{event_payload}"' \ id="event_ID",eventData='"{event_payload}"',eventDataChecksum="optional_checksum"

    次に、2 つのイベントを処理するコマンドの例を示します。

    aws cloudtrail-data put-audit-events \ --channel-arn arn:aws:cloudtrail:us-east-1:123456789012:channel/EXAMPLE8-0558-4f7e-a06a-43969EXAMPLE \ --external-id UniqueExternalIDFromPartner \ --audit-events \ id="EXAMPLE3-0f1f-4a85-9664-d50a3EXAMPLE",eventData='"{\"eventVersion\":\0.01\",\"eventSource\":\"custom1.domain.com\", ... \}"' \ id="EXAMPLE7-a999-486d-b241-b33a1EXAMPLE",eventData='"{\"eventVersion\":\0.02\",\"eventSource\":\"custom2.domain.com\", ... \}"',eventDataChecksum="EXAMPLE6e7dd61f3ead...93a691d8EXAMPLE"

    次のコマンドの例では、イベントペイロードの JSON ファイル (custom-events.json) を指定するための --cli-input-json パラメーターを追加しています。

    aws cloudtrail-data put-audit-events --channel-arn $channelArn --external-id $UniqueExternalIDFromPartner --cli-input-json file://custom-events.json --region us-east-1

    次は、JSON ファイル (custom-events.json) の内容の例です。

    { "auditEvents": [ { "eventData": "{\"version\":\"eventData.version\",\"UID\":\"UID\", \"userIdentity\":{\"type\":\"CustomUserIdentity\",\"principalId\":\"principalId\", \"details\":{\"key\":\"value\"}},\"eventTime\":\"2021-10-27T12:13:14Z\",\"eventName\":\"eventName\", \"userAgent\":\"userAgent\",\"eventSource\":\"eventSource\", \"requestParameters\":{\"key\":\"value\"},\"responseElements\":{\"key\":\"value\"}, \"additionalEventData\":{\"key\":\"value\"}, \"sourceIPAddress\":\"12.34.56.78\",\"recipientAccountId\":\"152089810396\"}", "id": "1" } ] }

get-channel コマンドを実行すると、その統合が機能していることや、CloudTrail がソースから適切にイベントを取り込んでいることを確認できます。get-channel の出力には、CloudTrail がイベントを受信した最近のタイムスタンプが表示されます。

aws cloudtrail get-channel --channel arn:aws:cloudtrail:us-east-1:01234567890:channel/EXAMPLE8-0558-4f7e-a06a-43969EXAMPLE

(オプション) チェックサム値を計算する

PutAuditEvents リクエストで EventDataChecksum 値として指定したチェックサムは、その値と一致するイベントを CloudTrail が受信したことを確認でき、イベントの整合性を検証するのに役立ちます。チェックサム値は、次のコマンドを実行することで、Base64-SHA256 アルゴリズムによって計算されます。

printf %s "{"eventData": "{\"version\":\"eventData.version\",\"UID\":\"UID\", \"userIdentity\":{\"type\":\"CustomUserIdentity\",\"principalId\":\"principalId\", \"details\":{\"key\":\"value\"}},\"eventTime\":\"2021-10-27T12:13:14Z\",\"eventName\":\"eventName\", \"userAgent\":\"userAgent\",\"eventSource\":\"eventSource\", \"requestParameters\":{\"key\":\"value\"},\"responseElements\":{\"key\":\"value\"}, \"additionalEventData\":{\"key\":\"value\"}, \"sourceIPAddress\":\"source_IP_address\", \"recipientAccountId\":\"recipient_account_ID\"}", "id": "1"}" \ | openssl dgst -binary -sha256 | base64

このコマンドは、 チェックサムを返します。次に例を示します。

EXAMPLEDHjkI8iehvCUCWTIAbNYkOgO/t0YNw+7rrQE=

このチェックサム値が、PutAuditEvents リクエストの EventDataChecksum 値になります。このチェックサムと受け取ったイベントのチェックサム値とが一致しない場合、CloudTrail は InvalidChecksum エラーによりそのイベントを拒否します。

AWS CLI でイベントデータストアを取得する

次のサンプル AWS CLI get-event-data-store コマンドは、必須の --event-data-store パラメータによって指定されたイベントデータストアに関する情報を返します。このパラメータは、ARN または ARN の ID サフィックスを受け入れます。

aws cloudtrail get-event-data-store --event-data-store arn:aws:cloudtrail:us-east-1:123456789012:eventdatastore/EXAMPLE-f852-4e8f-8bd1-bcf6cEXAMPLE

以下に、応答の例を示します。作成時刻と最終更新時刻は timestamp 形式です。

{ "EventDataStoreARN": "arn:aws:cloudtrail:us-east-1:123456789012:eventdatastore/EXAMPLE-f852-4e8f-8bd1-bcf6cEXAMPLE", "Name": "s3-data-events-eds", "Status": "ENABLED", "AdvancedEventSelectors": [ { "Name": "Log DeleteObject API calls for a specific S3 bucket", "FieldSelectors": [ { "Field": "eventCategory", "Equals": [ "Data" ] }, { "Field": "eventName", "Equals": [ "DeleteObject" ] }, { "Field": "resources.ARN", "StartsWith": [ "arn:aws:s3:::bucketName" ] }, { "Field": "readOnly", "Equals": [ "false" ] }, { "Field": "resources.type", "Equals": [ "AWS::S3::Object" ] } ] } ], "MultiRegionEnabled": true, "OrganizationEnabled": false, "BillingMode": "FIXED_RETENTION_PRICING", "RetentionPeriod": 2557, "TerminationProtectionEnabled": true, "CreatedTimestamp": "2023-11-09T22:20:36.344000+00:00", "UpdatedTimestamp": "2023-11-09T22:20:36.476000+00:00" }

AWS CLI でアカウント内のすべてのイベントデータストアを一覧表示する

次のサンプル AWS CLI list-event-data-stores コマンドは、現在のリージョン内のアカウントにあるすべてのイベントデータストアに関する情報を返します。オプションのパラメータには、コマンドが単一のページに返す結果の最大数を指定する --max-results が含まれます。指定した --max-results 値よりも多くの結果がある場合は、返された NextToken 値を追加してコマンドを再度実行し、結果の次のページを取得します。

aws cloudtrail list-event-data-stores

以下に、応答の例を示します。

{ "EventDataStores": [ { "EventDataStoreArn": "arn:aws:cloudtrail:us-east-1:123456789012:eventdatastore/EXAMPLE7-cad6-4357-a84b-318f9868e969", "Name": "management-events-eds" }, { "EventDataStoreArn": "arn:aws:cloudtrail:us-east-1:123456789012:eventdatastore/EXAMPLE6-88e1-43b7-b066-9c046b4fd47a", "Name": "config-items-eds" }, { "EventDataStoreArn": "arn:aws:cloudtrail:us-east-1:123456789012:eventdatastore/EXAMPLEf-b314-4c85-964e-3e43b1e8c3b4", "Name": "s3-data-events" } ] }

AWS CLI でイベントデータストアを更新する

次の例では、イベントデータストアを更新する方法を示します。

AWS CLI で課金モードを更新する

イベントデータストアの --billing-mode によって、イベントの取り込みと保存にかかるコスト、および、イベントデータストアでの保持期間のデフォルトと最大が決まります。イベントデータストアの --billing-modeFIXED_RETENTION_PRICING に設定されている場合は、値を EXTENDABLE_RETENTION_PRICING に変更できます。イベントデータストアで 1 か月あたりに取り込まれるイベントデータが 25 TB 未満で、最大 3653 日の柔軟な保持期間を設定したい場合には、一般的に EXTENDABLE_RETENTION_PRICING をお勧めします。料金については、「AWS CloudTrail の料金」と「 CloudTrail Lake コストの管理」を参照してください。

注記

--billing-mode の値を EXTENDABLE_RETENTION_PRICING から FIXED_RETENTION_PRICING に変更することはできません。イベントデータストアの課金モードが EXTENDABLE_RETENTION_PRICING に設定されているが FIXED_RETENTION_PRICING を使用したい場合は、イベントデータストアで取り込みを停止して、FIXED_RETENTION_PRICING を使用する新しいイベントデータストアを作成できます。

次の AWS CLI update-event-data-store コマンドの例では、イベントデータストアの --billing-modeFIXED_RETENTION_PRICING から EXTENDABLE_RETENTION_PRICING に変更します。--event-data-store パラメータ値は ARN (または ARN の ID サフィックス) で、必須です。その他のパラメータはオプションです。

aws cloudtrail update-event-data-store \ --region us-east-1 \ --event-data-store arn:aws:cloudtrail:us-east-1:123456789012:eventdatastore/EXAMPLE-f852-4e8f-8bd1-bcf6cEXAMPLE \ --billing-mode EXTENDABLE_RETENTION_PRICING

以下に、応答の例を示します。

{ "EventDataStoreArn": "event-data-store arn:aws:cloudtrail:us-east-1:123456789012:eventdatastore/EXAMPLE-f852-4e8f-8bd1-bcf6cEXAMPLE", "Name": "management-events-eds", "Status": "ENABLED", "AdvancedEventSelectors": [ { "Name": "Default management events", "FieldSelectors": [ { "Field": "eventCategory", "Equals": [ "Management" ] } ] } ], "MultiRegionEnabled": true, "OrganizationEnabled": false, "BillingMode": "EXTENDABLE_RETENTION_PRICING", "RetentionPeriod": 2557, "TerminationProtectionEnabled": true, "CreatedTimestamp": "2023-10-27T10:55:55.384000-04:00", "UpdatedTimestamp": "2023-10-27T10:57:05.549000-04:00" }

AWS CLI で、保持モードを更新し、終了保護を有効にし、AWS KMS key を指定する

次のサンプル AWS CLI update-event-data-store コマンドは、イベントデータストアを更新して保存期間を 100 日に変更し、終了保護を有効にします。--event-data-store パラメータ値は ARN (または ARN の ID サフィックス) で、必須です。その他のパラメータはオプションです。この例では、保持期間を 100 日間に変更するために --retention-period パラメータが追加されています。必要に応じて、AWS Key Management Service 暗号化を有効にし、コマンドに --kms-key-id を追加するとともに、KMS キー ARN を値として指定して AWS KMS key を指定することを選択できます。--termination-protection-enabled は、終了保護が有効になっていないイベントデータストアで終了保護を有効にするために追加されます。

AWS 外からのイベントのログを保存するイベントデータストアは、AWS のイベントをログ記録するように更新することはできません。同様に、AWS のイベントのログを保存するイベントデータストアは、AWS 以外のイベントをログ記録するように更新することはできません。

注記

イベントデータストアの保持期間を短くすると、CloudTrail は新しい保存期間よりも古い eventTime を持つイベントをすべて削除します。たとえば、以前の保存期間が 365 日だったものを 100 日に減らした場合、CloudTrail は 100 日以上経過した eventTime を持つイベントを削除します。

aws cloudtrail update-event-data-store \ --event-data-store arn:aws:cloudtrail:us-east-1:123456789012:eventdatastore/EXAMPLE-f852-4e8f-8bd1-bcf6cEXAMPLE \ --retention-period 100 \ --kms-key-id "arn:aws:kms:us-east-1:0123456789:alias/KMS_key_alias" \ --termination-protection-enabled

以下に、応答の例を示します。

{ "EventDataStoreArn": "arn:aws:cloudtrail:us-east-1:123456789012:eventdatastore/EXAMPLE-ee54-4813-92d5-999aeEXAMPLE", "Name": "my-event-data-store", "Status": "ENABLED", "AdvancedEventSelectors": [ { "Name": "Select all S3 data events", "FieldSelectors": [ { "Field": "eventCategory", "Equals": [ "Data" ] }, { "Field": "resources.type", "Equals": [ "AWS::S3::Object" ] }, { "Field": "resources.ARN", "StartsWith": [ "arn:aws:s3" ] } ] } ], "MultiRegionEnabled": true, "OrganizationEnabled": false, "BillingMode": "EXTENDABLE_RETENTION_PRICING", "RetentionPeriod": 100, "KmsKeyId": "arn:aws:kms:us-east-1:0123456789:alias/KMS_key_alias", "TerminationProtectionEnabled": true, "CreatedTimestamp": "2023-10-27T10:55:55.384000-04:00", "UpdatedTimestamp": "2023-10-27T10:57:05.549000-04:00" }

AWS CLI で終了保護を無効にする

デフォルトでは、イベントデータストアでは終了保護が有効になり、イベントデータストアが誤って削除されるのを防ぎます。終了保護が有効の場合、イベントデータストアを削除できません。イベントデータストアを削除するには、まず終了保護を無効にする必要があります。

次の AWS CLI update-event-data-store コマンドの例では、--no-termination-protection-enabled パラメータを渡して終了保護を無効にしています。

aws cloudtrail update-event-data-store \ --region us-east-1 \ --no-termination-protection-enabled \ --event-data-store arn:aws:cloudtrail:us-east-1:123456789012:eventdatastore/EXAMPLE-f852-4e8f-8bd1-bcf6cEXAMPLE

以下に、応答の例を示します。

{ "EventDataStoreArn": "arn:aws:cloudtrail:us-east-1:123456789012:eventdatastore/EXAMPLE-f852-4e8f-8bd1-bcf6cEXAMPLE", "Name": "management-events-eds", "Status": "ENABLED", "AdvancedEventSelectors": [ { "Name": "Default management events", "FieldSelectors": [ { "Field": "eventCategory", "Equals": [ "Management" ] } ] } ], "MultiRegionEnabled": true, "OrganizationEnabled": false, "BillingMode": "EXTENDABLE_RETENTION_PRICING", "RetentionPeriod": 366, "TerminationProtectionEnabled": false, "CreatedTimestamp": "2023-10-27T10:55:55.384000-04:00", "UpdatedTimestamp": "2023-10-27T10:57:05.549000-04:00" }

AWS CLI でイベントデータストアでの取り込みを停止する

次の例の AWS CLIstop-event-data-store-ingestion は、イベントデータストアによるイベントの取り込みを停止するコマンドです。取り込みを停止するには、イベントデータストアの Status が ENABLED で、eventCategory が ManagementDataConfigurationItem のいずれかでなければなりません。イベントデータストアは --event-data-store によって指定されます。これは、イベントデータストア ARN、または、この ARN の ID サフィックスを受け入れます。stop-event-data-store-ingestion を実行すると、イベントデータストアの状態が STOPPED_INGESTION に変化します。

イベントデータストアの状態が STOPPED_INGESTION である場合、そのストアはアカウントの最大数 (10 個) に計上されません。

aws cloudtrail stop-event-data-store-ingestion --event-data-store arn:aws:cloudtrail:us-east-1:123456789012:eventdatastore/EXAMPLE-f852-4e8f-8bd1-bcf6cEXAMPLE

コマンドが成功した場合、レスポンスはありません。

AWS CLI でイベントデータストアでの取り込みを開始する

次の例の AWS CLIstart-event-data-store-ingestion は、イベントデータストアでのイベント取り込みを開始するコマンドです。取り込みを開始するには、イベントデータストアの Status が STOPPED_INGESTION で、eventCategory が ManagementDataConfigurationItem のいずれかでなければなりません。イベントデータストアは --event-data-store によって指定されます。これは、イベントデータストア ARN、または、この ARN の ID サフィックスを受け入れます。start-event-data-store-ingestion を実行すると、イベントデータストアの状態が ENABLED に変化します。

aws cloudtrail start-event-data-store-ingestion --event-data-store arn:aws:cloudtrail:us-east-1:123456789012:eventdatastore/EXAMPLE-f852-4e8f-8bd1-bcf6cEXAMPLE

コマンドが成功した場合、レスポンスはありません。

イベントデータストアでのフェデレーションを有効にする

フェデレーションを有効にするには、必須パラメータの --event-data-store--role を指定して aws cloudtrail enable-federation コマンドを実行します。--event-data-store には、イベントデータストア ARN (または ARN の ID サフィックス) を指定します。--role には、フェデレーションロールの ARN を指定します。ロールはアカウントに存在し、必要最小限のアクセス許可が付与されている必要があります。

aws cloudtrail enable-federation --event-data-store arn:aws:cloudtrail:region:account-id:eventdatastore/eds-id --role arn:aws:iam::account-id:role/federation-role-name

この例は、管理アカウントのイベントデータストアの ARN と、委任された管理者アカウントのフェデレーションロールの ARN を指定することで、委任された管理者が組織のイベントデータストアのフェデレーションを有効にする方法を示しています。

aws cloudtrail enable-federation --event-data-store arn:aws:cloudtrail:region:management-account-id:eventdatastore/eds-id --role arn:aws:iam::delegated-administrator-account-id:role/federation-role-name

イベントデータストアでのフェデレーションを無効にする

イベントデータストアでのフェデレーションを無効にするには、aws cloudtrail disable-federation コマンドを実行します。イベントデータストアは、イベントデータストア ARN、または ARN の ID サフィックスを受け入れる --event-data-store によって指定されます。

aws cloudtrail disable-federation --event-data-store arn:aws:cloudtrail:region:account-id:eventdatastore/eds-id
注記

これが組織のイベントデータストアである場合は、管理アカウントのアカウント ID を使用します。

AWS CLI でイベントデータストアを削除する

次のサンプル AWS CLI delete-event-data-store コマンドは、イベントデータストア ARN、または ARN の ID サフィックスを受け入れる --event-data-store によって指定されたイベントデータストアを無効にします。delete-event-data-store の実行後、イベントデータストアの最終状態が PENDING_DELETION になり、イベントデータストアは 7 日間の待機期間後に自動的に削除されます。

イベントデータストアでの delete-event-data-store の実行後、無効化されたデータストアを使用しているクエリで list-queriesdescribe-query、または get-query-results を実行することはできません。イベントデータストアが削除保留中になっている場合、そのイベントデータストアはアカウントの最大数 (10 個) に計上されます。

注記

--termination-protection-enabled が設定されている場合、または FederationStatusENABLED に設定されている場合は、イベントデータストアを削除できません。

aws cloudtrail delete-event-data-store --event-data-store arn:aws:cloudtrail:us-east-1:123456789012:eventdatastore/EXAMPLE-f852-4e8f-8bd1-bcf6cEXAMPLE

コマンドが成功した場合、レスポンスはありません。

AWS CLI でイベントデータストアを復元する

次のサンプル AWS CLI restore-event-data-store コマンドは、削除保留中のイベントデータストアを復元します。イベントデータストアは、イベントデータストア ARN、または ARN の ID サフィックスを受け入れる --event-data-store によって指定されます。削除されたイベントデータストアを復元できるのは、削除後 7 日間の待機期間内のみです。

aws cloudtrail restore-event-data-store --event-data-store EXAMPLE-f852-4e8f-8bd1-bcf6cEXAMPLE

レスポンスには、ARN、高度なイベントセレクタ、および復元のステータスなどのイベントデータストアに関する情報が含まれています。

AWS CLI ですべてのチャネルを一覧表示する

アカウントにあるすべてのチャネルを一覧表示するには、list-channels コマンドを実行します。次に例を示します。

aws cloudtrail list-channels

AWS CLI でチャネルを更新する

チャネルの名前、または送信先のイベントデータストアを更新するには、update-channel コマンドを実行します。--channel パラメータが必須です。チャネルのソースを更新することはできません。次に例を示します。

aws cloudtrail update-channel \ --channel aws:cloudtrail:us-east-1:123456789012:channel/EXAMPLE8-0558-4f7e-a06a-43969EXAMPLE \ --name "new-channel-name" \ --destinations '[{"Type": "EVENT_DATA_STORE", "Location": "EXAMPLEf852-4e8f-8bd1-bcf6cEXAMPLE"}, {"Type": "EVENT_DATA_STORE", "Location": "EXAMPLEg922-5n2l-3vz1- apqw8EXAMPLE"}]'

AWS CLI でチャネルを削除して統合を削除する

パートナーイベント、あるいは、AWS の外部にあるその他のアクティビティイベントの取り込みを停止するには、delete-channel コマンドを実行して対象のチャネルを削除します。削除するチャネルの ARN、またはチャネル ID (ARN のサフィックス) が必要です。次に例を示します。

aws cloudtrail delete-channel \ --channel EXAMPLE8-0558-4f7e-a06a-43969EXAMPLE

AWS CLI でクエリを開始する

次のサンプル AWS CLI start-query コマンドは、クエリステートメントで ID として指定されたイベントデータストアに対してクエリを実行し、指定された S3 バケットにクエリ結果を配信します。--query-statement パラメータは、一重引用符で囲まれた SQL クエリを提供します。オプションのパラメータには、指定された S3 バケットにクエリ結果を配信するための --delivery-s3uri が含まれます。CloudTrail Lake で使用できるクエリ言語の詳細については、「CloudTrail Lake SQL の制約」を参照してください。

aws cloudtrail start-query --query-statement 'SELECT eventID, eventTime FROM EXAMPLE-f852-4e8f-8bd1-bcf6cEXAMPLE LIMIT 10' --delivery-s3uri "s3://aws-cloudtrail-lake-query-results-123456789012-us-east-1"

レスポンスは QueryId 文字列です。クエリのステータスを取得するには、start-query によって返された QueryId 値を使用して describe-query を実行します。クエリが成功した場合は、get-query-results を実行して結果を取得できます。

出力

{ "QueryId": "EXAMPLE2-0add-4207-8135-2d8a4EXAMPLE" }
注記

1 時間以上実行するクエリは、タイムアウトすることがあります。クエリがタイムアウトする前に、処理済みの部分的な結果を取得することはできます。

オプションの --delivery-s3uri パラメータを使用してクエリ結果を S3 バケットに配信する場合、バケットポリシーはクエリ結果をバケットに配信するアクセス権限を CloudTrail に付与する必要があります。バケットポリシーを手動で編集する方法については、CloudTrail Lake クエリ結果の Amazon S3 バケットポリシー を参照してください。

AWS CLI でクエリに関するメタデータを取得する

次の例にある AWS CLI describe-query コマンドは、ミリ秒単位のクエリ実行時間、スキャン済みの一致したイベント数、スキャン済み合計バイト数、クエリのステータスなど、クエリに関するメタデータを取得します。BytesScanned 値は、クエリが実行中でない限り、ユーザーのアカウントがクエリに対して請求されるバイト数と一致します。クエリ結果が S3 バケットに配信された場合、応答では S3 URI と配信ステータスも提供されます。

--query-id または --query-alias パラメータのいずれかの値を指定する必要があります。--query-alias パラメータを指定すると、エイリアスに対して最後に実行されたクエリに関する情報が返されます。

aws cloudtrail describe-query --query-id EXAMPLEd-17a7-47c3-a9a1-eccf7EXAMPLE

以下に、応答の例を示します。

{ "QueryId": "EXAMPLE2-0add-4207-8135-2d8a4EXAMPLE", "QueryString": "SELECT eventID, eventTime FROM EXAMPLE-f852-4e8f-8bd1-bcf6cEXAMPLE LIMIT 10", "QueryStatus": "RUNNING", "QueryStatistics": { "EventsMatched": 10, "EventsScanned": 1000, "BytesScanned": 35059, "ExecutionTimeInMillis": 3821, "CreationTime": "1598911142" } }

AWS CLI でクエリ結果を取得する

次のサンプル AWS CLI get-query-results コマンドは、クエリのイベントデータ結果を取得します。start-query コマンドによって返される --query-id 値を指定します。BytesScanned 値は、クエリが実行中でない限り、ユーザーのアカウントがクエリに対して請求されるバイト数と一致します。オプションのパラメータには、コマンドが単一のページに返す結果の最大数を指定する --max-query-results が含まれます。指定した --max-query-results 値よりも多くの結果がある場合は、返された NextToken 値を追加してコマンドを再度実行し、結果の次のページを取得します。

aws cloudtrail get-query-results --query-id EXAMPLEd-17a7-47c3-a9a1-eccf7EXAMPLE

出力

{ "QueryStatus": "RUNNING", "QueryStatistics": { "ResultsCount": 244, "TotalResultsCount": 1582, "BytesScanned":27044 }, "QueryResults": [ { "key": "eventName", "value": "StartQuery", } ], "QueryId": "EXAMPLE2-0add-4207-8135-2d8a4EXAMPLE", "QueryString": "SELECT eventID, eventTime FROM EXAMPLE-f852-4e8f-8bd1-bcf6cEXAMPLE LIMIT 10", "NextToken": "20add42078135EXAMPLE" }

AWS CLI でイベントデータストアに対するすべてのクエリを一覧表示する

次のサンプル AWS CLI list-queries コマンドは、指定されたイベントデータストアについて、過去 7 日間のクエリとクエリステータスのリストを返します。--event-data-store には、ARN、または ARN 値の ID サフィックスを指定する必要があります。オプションで、結果のリストを短くするために、--start-time--end-time パラメータ、および --query-status 値を追加することで、タイムスタンプとしてフォーマットされた時間範囲を指定できます。QueryStatus に有効な値には、QUEUEDRUNNINGFINISHEDFAILED、または CANCELLED が含まれます。

list-queries には、オプションのページ分割パラメータもあります。--max-results を使用して、コマンドが単一のページに返す結果の最大数を指定します。指定した --max-results 値よりも多くの結果がある場合は、返された NextToken 値を追加してコマンドを再度実行し、結果の次のページを取得します。

aws cloudtrail list-queries --event-data-store EXAMPLE-f852-4e8f-8bd1-bcf6cEXAMPLE --query-status CANCELLED --start-time 1598384589 --end-time 1598384602 --max-results 10

出力

{ "Queries": [ { "QueryId": "EXAMPLE2-0add-4207-8135-2d8a4EXAMPLE", "QueryStatus": "CANCELLED", "CreationTime": 1598911142 }, { "QueryId": "EXAMPLE2-4e89-9230-2127-5dr3aEXAMPLE", "QueryStatus": "CANCELLED", "CreationTime": 1598296624 } ], "NextToken": "20add42078135EXAMPLE" }

AWS CLI で実行中のクエリをキャンセルする

次のサンプル AWS CLI cancel-query コマンドは、ステータスが RUNNING のクエリをキャンセルします。--query-id に値を指定する必要があります。cancel-query を実行すると、cancel-query 操作がまだ終了していない場合でも、クエリのステータスに CANCELLED が表示されることがあります。

注記

キャンセルされたクエリには、料金が発生する可能性があります。アカウントには、クエリをキャンセルする前にスキャンされたデータ量に対する料金が請求されます。

以下は CLI の例です。

aws cloudtrail cancel-query --query-id EXAMPLEd-17a7-47c3-a9a1-eccf7EXAMPLE

出力

QueryId -> (string) QueryStatus -> (string)