建立、更新和管理事件資料存放區 AWS CLI - AWS CloudTrail

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

建立、更新和管理事件資料存放區 AWS CLI

您可以使用建 AWS CLI 立、更新和管理您的事件資料存放區。使用時 AWS CLI,請記住您的命令會在為您的設定檔所 AWS 區域 設定的中執行。如果您想在不同區域中執行命令,則可變更設定檔的預設區域,或搭配 --region 參數使用命令。

事件資料倉庫的可用指令

在 CloudTrail Lake 中建立和更新事件資料倉庫的指令包括:

如需 CloudTrail Lake 查詢的可用指令清單,請參閱〈〉 CloudTrail 湖泊查詢的可用指令

如需 CloudTrail Lake 整合的可用命令清單,請參閱 CloudTrail 湖泊整合的可用命令

建立事件資料倉庫 AWS CLI

使用 create-event-data-store 命令建立事件資料存放區。

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

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

  • --kms-key-id-指定用來加密交付事件的 AWS 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" }

建立組 AWS Config 態項目的事件資料存放區, AWS 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" }

使用 AWS CLI

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

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

  1. 執行 aws cloudtrail create-event-data-store 命令來建立會收集 Insights 事件的目的地事件資料存放區。eventCategory 的值必須為 Insight。取代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 (或 ARN 的 ID 尾碼),作為步驟 3 中 --insights-destination 參數的值。

  2. 執行 aws cloudtrail create-event-data-store 命令以建立記錄管理事件的來源事件資料存放區。依預設,事件資料存放區會記錄所有管理事件。如果想要記錄所有管理事件,您不需要指定進階事件選取器。取代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 (或 ARN 的 ID 尾碼),作為步驟 3 中 --event-data-store 參數的值。

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

    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 要 7 天的時間才能傳遞第一個 Insights 事件。

    CloudTrail Insights 會分析單一區域 (而非全球) 中發生的管理事件。In CloudTrail sights 事件會在與產生其支援管理事件的相同區域中產生。

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

在 CloudTrail 湖泊擷取見解事件需要支付額外費用。如果您同時為追蹤和事件資料存放區啟用 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保留期間,則不會複製該事件。

    若要確定適當的保留期,請計算您要複製的最舊事件所經歷的天數,以及要將事件保留在事件資料存放區中的天數,並將兩者加總,如以下等式所示:

    保留期間 = oldest-event-in-days+ number-days-to-retain

    例如,如果您要複製的最舊事件為 45 天前的事件,並希望這些事件在事件資料存放區中再保留 45 天,則可以將保留期設為 90 天。

  • 決定是否要使用事件資料存放區來分析任何未來事件。如果您不想擷取任何未來事件,請在建立事件資料存放區時包含 --no-start-ingestion 參數。依預設,事件資料存放區會在建立時開始擷取事件。

建立事件資料存放區並將追蹤事件匯入至該事件資料存放區

  1. 執行 create-event-data-store 命令來建立新的事件資料存放區。在此範例中,--retention-period 設定為 120,因為要複製的最舊事件已超過 90 天,而且我們想要將事件保留 30 天。我們不想擷取任何未來事件,因此設定了 --no-start-ingestion 參數。在此範例中,我們使用的是預設值 EXTENDABLE_RETENTION_PRICING,因此並未設定 --billing-mode,這是因為我們預期擷取的事件資料少於 25 TB。

    注意

    如果您要建立事件資料存放區來取代追蹤,建議您設定 --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

    回應會顯示 Status 現在為 STOPPED_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 中建立的事件資料存放區。指定事件資料存放區的 ARN (或 ARN 的 ID 尾碼) 作為參數 --destinations 的值。針對 --start-event-time,指定要複製之最舊事件的 eventTime,並針對 --end-event-time,指定要複製之最新事件的 eventTime。用於--import-source指定包含追蹤日誌的 S3 儲存貯體的 S3 URI、S3 儲存貯體,以及用於匯入追蹤事件之角色的 ARN。 AWS 區域

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

    如果未發生失敗,則匯入完成時會顯示 ImportStatusCOMPLETED;如果發生失敗,則會顯示 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 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:::DOC-EXAMPLE-BUCKET" ] }, { "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命令會傳回目前 Region 中帳戶中所有事件資料存放區的相關資訊。選用參數包括--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-mode 設為 FIXED_RETENTION_PRICING,您可以將值變更為 EXTENDABLE_RETENTION_PRICING。如果您的事件資料存放區每月擷取的事件資料少於 25 TB,而且您需要長達 3,653 天的彈性保留期,通常建議使用 EXTENDABLE_RETENTION_PRICING。如需定價的詳細資訊,請參閱 AWS CloudTrail 定價管理 CloudTrail 湖泊成本

注意

您無法將 --billing-mode 值從 EXTENDABLE_RETENTION_PRICING 變更為 FIXED_RETENTION_PRICING。如果事件資料存放區的計費模式設定為 EXTENDABLE_RETENTION_PRICING,而您想改為使用 FIXED_RETENTION_PRICING,您可以在事件資料存放區上停止擷取,並建立使用 FIXED_RETENTION_PRICING 的新事件資料存放區。

下列範例 AWS CLI update-event-data-store指令會將事件--billing-mode資料倉庫的從變更FIXED_RETENTION_PRICINGEXTENDABLE_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 KMS key 用 AWS CLI

下列範例 AWS CLI update-event-data-store命令會更新事件資料存放區,將其保留期限變更為 100 天,並啟用終止保護。必要的 --event-data-store 參數值是 ARN (或 ARN 的 ID 尾碼) 而且為必填;其他參數為選填。在此範例中新增了 --retention-period 參數,以將保留期間變更為 100 天。或者,您可以選擇啟用 AWS Key Management Service 加密,並 AWS KMS key 透過新增--kms-key-id至命令並指定 KMS 金鑰 ARN 作為值來指定。 --termination-protection-enabled已新增以在未啟用終止保護的事件資料存放區上啟用終止保護。

從外部記錄事件的事件資料存放區 AWS 無法更新為記錄 AWS 事件。同樣地,記錄 AWS 事件的事件資料存放區無法更新為從外部記錄事件 AWS。

注意

如果您縮短事件資料存放區的保留期間, CloudTrail 將會移除任何eventTime早於新保留期的事件。例如,如果先前的保留期為 365 天,而您將其減少到 100 天,則 CloudTrail 會移除eventTime超過 100 天的事件。

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 CLI stop-event-data-store-ingestion命令可停止事件資料存放區擷取事件。若要停止擷取,事件資料存放區 Status 必須為 ENABLED,且 eventCategory 必須是 ManagementDataConfigurationItem。由 --event-data-store 指定的事件資料存放區,它接受事件資料存放區 ARN 或 ARN 的 ID 尾碼。執行 stop-event-data-store-ingestion 後,事件資料存放區的狀態變更為 STOPPED_INGESTION

事件資料存放區處於 STOPPED_INGESTION 狀態時,最多十個事件資料存放區會計入您的帳戶。

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 CLI start-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

如果操作成功,則不會有回應。

在事件資料存放區上啟用聯合

若要啟用聯合,請執行 aws cloudtrail enable-federation 命令,並提供必要的 --event-data-store--role 參數。針對 --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 命令。由 --event-data-store 指定的事件資料存放區,它接受事件資料存放區 ARN 或 ARN 的 ID 尾碼。

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 命令停用由 --event-data-store 指定的事件資料存放區,它接受事件資料存放區 ARN 或 ARN 的 ID 尾碼。執行 delete-event-data-store 後,事件資料存放區的最終狀態為 PENDING_DELETION,而且事件資料存放區將在 7 天的等待期後自動刪除。

在事件資料存放區上執行 delete-event-data-store 後,無法對於使用已停用的資料存放區進行的查詢執行 list-queriesdescribe-queryget-query-results。事件資料存放區處於待刪除狀態時,最多十個事件資料存放區會計入您的帳戶。

注意

如果已設定 --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 命令會還原待刪除的事件資料存放區。由 --event-data-store 指定的事件資料存放區,它接受事件資料存放區 ARN 或 ARN 的 ID 尾碼。您只能在刪除後的七天等待期間內還原已刪除的事件資料存放區。

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

回應包括有關事件資料存放區的資訊,包括其 ARN、進階事件選取器和還原狀態。