使用 建立事件資料存放區 AWS CLI - AWS CloudTrail

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

使用 建立事件資料存放區 AWS CLI

本節說明如何使用 create-event-data-store命令來建立事件資料存放區,並提供您可以建立之不同類型事件資料存放區的範例。

建立事件資料存放區時,唯一需要使用的參數為 --name,此參數可用來識別事件資料存放區。您可以配置其他選用參數,包括:

  • --advanced-event-selectors – 指定要包含在事件資料存放區中的事件類型。依預設,事件資料存放區會記錄所有管理事件。如需進階事件選取器的詳細資訊,請參閱 參考AdvancedEventSelector中的 CloudTrail API 。

  • --kms-key-id - 指定要用來加密 交付事件的KMS金鑰 ID CloudTrail。此值可以是 字首的別名名稱alias/、完全指定ARN為別名、完全指定ARN為金鑰或全域唯一識別碼。

  • --multi-region-enabled - 建立多區域事件資料存放區,記錄 AWS 區域 您帳戶中所有 的事件。依預設,即使未新增參數,系統也會設定 --multi-region-enabled

  • --organization-enabled – 啟用事件資料存放區來收集組織中所有帳戶的事件。依預設,未針對組織中的所有帳戶啟用事件資料存放區。

  • --billing-mode – 決定擷取和儲存事件的成本,以及事件資料存放區的預設和最長保留期。

    以下為可能值:

    • EXTENDABLE_RETENTION_PRICING – 如果您每月擷取的事件資料少於 25 TB,並且需要長達 3,653 天 (約 10 年) 的彈性保留期,通常建議使用此計費模式。此計費模式的預設保留期為 366 天。

    • FIXED_RETENTION_PRICING – 如果您預期每月擷取的事件資料超過 25 TB,並且需要長達 2,557 天 (約 7 年) 的彈性保留期,則建議使用此計費模式。此計費模式的預設保留期為 2,557 天。

    預設值為 EXTENDABLE_RETENTION_PRICING

  • --retention-period – 將事件保留在事件資料存放區中的天數。如果 --billing-modeEXTENDABLE_RETENTION_PRICING,則有效值為介於 7 到 3,653 之間的整數;如果 --billing-mode 設定為 FIXED_RETENTION_PRICING,則為介於 7 到 2,557 之間的整數。如果您未指定 --retention-period, CloudTrail 會使用 的預設保留期間--billing-mode

  • --start-ingestion--start-ingestion 參數會在建立時開始事件資料存放區的事件擷取。即使未新增參數,系統也會設定此參數。

    如果您不希望事件資料存放區擷取即時事件,請指定 --no-start-ingestion。舉例來說,如果您要將事件複製到事件資料存放區,並且只打算使用事件資料來分析過往事件,您可能需要設定此參數。只有在 eventCategoryManagementDataConfigurationItem 時,--no-start-ingestion 參數才有效。

下列範例展示如何建立不同類型的事件資料存放區。

使用 建立 S3 資料事件的事件資料存放區 AWS CLI

下列範例 AWS Command Line Interface (AWS CLI) create-event-data-store命令會建立名為 的事件資料存放區my-event-data-store,以選取所有 Amazon S3 資料事件並使用KMS金鑰加密。

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" }

使用 建立KMS網路活動事件的事件資料存放區 AWS CLI

注意

網路活動事件位於 的預覽版本中, CloudTrail 且可能變更。

下列範例示範如何建立事件資料存放區,以包含 VpceAccessDenied的網路活動事件 AWS KMS。此範例會設定等於VpceAccessDenied事件errorCode的欄位,以及等於 eventSource的欄位kms.amazonaws.com

aws cloudtrail create-event-data-store \ --name EventDataStoreName \ --advanced-event-selectors '[ { "Name": "Audit AccessDenied AWS KMS events over a VPC endpoint", "FieldSelectors": [ { "Field": "eventCategory", "Equals": ["NetworkActivity"] }, { "Field": "eventSource", "Equals": ["kms.amazonaws.com"] }, { "Field": "errorCode", "Equals": ["VpceAccessDenied"] } ] } ]'

命令會傳回下列範例輸出。

{ "EventDataStoreArn": "arn:aws:cloudtrail:us-east-1:111122223333:eventdatastore/EXAMPLEb4a8-99b1-4ec2-9258-EXAMPLEc890", "Name": "EventDataStoreName", "Status": "CREATED", "AdvancedEventSelectors": [ { "Name": "Audit AccessDenied AWS KMS events over a VPC endpoint", "FieldSelectors": [ { "Field": "eventCategory", "Equals": [ "NetworkActivity" ] }, { "Field": "eventSource", "Equals": [ "kms.amazonaws.com" ] }, { "Field": "errorCode", "Equals": [ "VpceAccessDenied" ] } ] } ], "MultiRegionEnabled": true, "OrganizationEnabled": false, "RetentionPeriod": 366, "TerminationProtectionEnabled": true, "CreatedTimestamp": "2024-05-20T21:00:17.673000+00:00", "UpdatedTimestamp": "2024-05-20T21:00:17.820000+00:00" }

如需網路活動事件的詳細資訊,請參閱 記錄網路活動事件

使用 建立組態項目的事件資料存放區 AWS ConfigAWS CLI

下列範例 AWS CLI create-event-data-store命令會建立名為 的事件資料存放區config-items-eds,以選取 AWS Config 組態項目。若要收集組態項目,請在進階事件選取器中指定 eventCategory 欄位等於 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" }

使用 建立 Insights 事件的事件資料存放區 AWS CLI

若要在 CloudTrail Lake 中記錄 Insights 事件,您需要收集 Insights 事件的目的地事件資料存放區,以及啟用 Insights 和日誌管理事件的來源事件資料存放區。

此程序將向您說明如何建立目的地和來源事件資料存放區,然後啟用 Insights 事件。

  1. 執行 aws cloudtrail create-event-data-store 命令來建立會收集 Insights 事件的目的地事件資料存放區。eventCategory 的值必須為 Insight。Replace (取代) retention-period-days 您想要在事件資料存放區中保留事件的天數。如果 --billing-modeEXTENDABLE_RETENTION_PRICING,則有效值為介於 7 到 3,653 之間的整數;如果 --billing-mode 設定為 FIXED_RETENTION_PRICING,則為介於 7 到 2,557 之間的整數。如果您未指定 --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(或 的 ID 尾碼ARN) 作為步驟 3 中--insights-destination參數的值。

  2. 執行 aws cloudtrail create-event-data-store 命令以建立記錄管理事件的來源事件資料存放區。依預設,事件資料存放區會記錄所有管理事件。如果想要記錄所有管理事件,您不需要指定進階事件選取器。Replace (取代) retention-period-days 您想要在事件資料存放區中保留事件的天數。如果 --billing-modeEXTENDABLE_RETENTION_PRICING,則有效值為介於 7 到 3,653 之間的整數;如果 --billing-mode 設定為 FIXED_RETENTION_PRICING,則為介於 7 到 2,557 之間的整數。如果您未指定 --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(或 的 ID 尾碼ARN) 作為步驟 3 中--event-data-store參數的值。

  3. 執行 put-insight-selectors 命令以啟用 Insights 事件。Insights 選取器值可以是 ApiCallRateInsightApiErrorRateInsight (或兩者)。針對 --event-data-store 參數,指定記錄管理事件並將啟用 Insights 的來源事件資料存放區的 ARN(或 的 ID 尾碼ARN)。針對 --insights-destination 參數,指定將記錄 Insights 事件的目的地事件資料存放區 ARN(或 的 ID 尾碼ARN)。

    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 之後,如果偵測到異常活動,則 可能需要最多 7 天 CloudTrail 的時間才能交付第一個 Insights 事件。

    CloudTrail Insights 會分析單一區域中發生的管理事件,而不是全域發生的管理事件。 CloudTrail Insights 事件會在與其支援管理事件產生的相同區域中產生。

    對於組織事件資料存放區, 會從每個成員的帳戶 CloudTrail 分析管理事件,而不是分析組織所有管理事件的彙總。

在 CloudTrail Lake 擷取 Insights 事件需支付額外費用。如果您同時為追蹤和事件資料存放區啟用 Insights,則將分別支付它們的費用。如需有關 CloudTrail 定價的資訊,請參閱AWS CloudTrail 定價。