使用主控台建立組態項目的事件資料存放區 - AWS CloudTrail

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

使用主控台建立組態項目的事件資料存放區

您可以建立事件資料存放區以包含 AWS Config 組態項目,並使用事件資料存放區來調查您生產環境的不合規變更。使用事件資料存放區,您可以將不合規的規則,和與變更相關的使用者和資源建立關聯。組態項目代表存在於您帳戶中的支援 AWS 資源屬性的 point-in-time檢視。 會在偵測到正在記錄的資源類型變更時 AWS Config 建立組態項目。 AWS Config 也會在擷取組態快照時建立組態項目。

您可以使用 AWS Config 和 CloudTrail Lake,針對您的組態項目執行查詢。您可以使用 AWS Config ,根據單一 AWS 帳戶 和 的組態屬性 AWS 區域,或在多個帳戶和區域中查詢 AWS 資源的目前組態狀態。相反地,您可以使用 CloudTrail Lake 跨 CloudTrail 事件、組態項目和規則評估等各種資料來源進行查詢。 CloudTrail Lake 查詢涵蓋所有 AWS Config 組態項目,包括資源組態和合規歷史記錄。

為組態項目建立事件資料存放區不會影響現有的 AWS Config 進階查詢或任何設定的 AWS Config 彙總器。您可以使用 繼續執行進階查詢 AWS Config,並繼續將歷史記錄檔案 AWS Config 交付至 S3 儲存貯體。

CloudTrail Lake 事件資料存放區會產生費用。建立事件資料存放區時,您可以選擇要用於事件資料存放區的定價選項。此定價選項將決定擷取和儲存事件的成本,以及事件資料存放區的預設和最長保留期。如需有關 CloudTrail 定價和管理 Lake 成本的資訊,請參閱AWS CloudTrail 定價管理 CloudTrail Lake 成本

限制

以下限制適用於組態項目的事件資料存放區。

  • 不支援自訂組態項目

  • 不支援使用進階事件選取器進行事件篩選

必要條件

建立事件資料存放區之前,請先設定所有帳戶和區域的 AWS Config 記錄。您可以使用 Quick Setup ,即 的功能 AWS Systems Manager,快速建立由 支援的組態記錄器 AWS Config。

注意

AWS Config 開始錄製組態時,需支付服務費用。如需定價的詳細資訊,請參閱 AWS Config 定價。如需管理組態記錄器的詳細資訊,請參閱《AWS Config 開發人員指南》中的管理組態記錄器

此外,建立事件資料存放區時,建議您執行下列動作,但並非必要。

  • 設定 Amazon S3 儲存貯體於請求時接收組態快照及組態歷史記錄。如需快照的詳細資訊,請參閱《AWS Config 開發人員指南》中的管理交付通道將組態快照交付至 Amazon S3 儲存貯體

  • 指定 AWS Config 要用來評估所記錄資源類型的合規資訊的規則。的數個 CloudTrail Lake 範例查詢 AWS Config 需要 AWS Config 規則 評估 AWS 資源的合規狀態。如需 的詳細資訊 AWS Config 規則,請參閱 AWS Config 開發人員指南 中的使用 評估 資源 AWS Config 規則

若要為組態項目建立事件資料存放區

  1. 登入 AWS Management Console 並在 開啟 CloudTrail 主控台https://console.aws.amazon.com/cloudtrail/

  2. 在導覽窗格中,選擇 Lake 下方的事件資料存放區

  3. 選擇 Create event data store (建立事件資料存放區)。

  4. 設定事件資料存放區頁面上的一般詳細資訊中,輸入事件資料存放區的名稱。名稱為必填。

  5. 選擇您想用於事件資料存放區的定價選項。此定價選項將決定擷取和儲存事件的成本,以及事件資料存放區的預設和最長保留期。如需詳細資訊,請參閱 AWS CloudTrail 定價管理 CloudTrail Lake 成本

    以下為可用的選項:

    • 一年可延長保留定價 – 如果您預期每月擷取的事件資料少於 25 TB,並需要長達 10 年的彈性保留期,則建議使用此選項。前 366 天 (預設保留期) 的儲存已包含在擷取定價中,無須額外付費。在 366 天後,延長的保留可以定價 pay-as-you-go使用。此為預設選項。

      • 預設保留期:366 天

      • 最長保留期:3,653 天

    • 七年保留定價 – 如果您預期每月擷取的事件資料超過 25 TB,並需要長達 7 年的彈性保留期,則建議使用此選項。保留已包含在擷取定價中,無須額外付費。

      • 預設保留期:2,557 天

      • 最長保留期:2,557 天

  6. 指定事件資料存放區的保留期。一年可延長保留定價選項的保留期可介於 7 天到 3,653 天 (約 10 年) 之間;或是七年保留定價選項,則可介於 7 天到 2,557 天 (約七年) 之間。

    CloudTrail Lake 透過檢查事件eventTime的 是否在指定的保留期間內,來決定是否保留事件。例如,如果您指定 90 天的保留期,當事件eventTime超過 90 天時, CloudTrail 便會移除事件。

  7. (選用) 若要使用 啟用加密 AWS Key Management Service,請選擇使用我自己的 AWS KMS key。選擇新增以為您 AWS KMS key 建立 ,或選擇現有以使用現有KMS金鑰。在輸入KMS別名 中,以 格式指定別名 alias/MyAliasName。 使用您自己的KMS金鑰需要編輯KMS金鑰政策,才能 CloudTrail加密和解密日誌。如需詳細資訊,請參閱 設定 AWS KMS 金鑰原則 CloudTrail。 CloudTrail 也支援 AWS KMS 多區域金鑰。如需多區域金鑰的詳細資訊,請參閱《AWS Key Management Service 開發人員指南》中的使用多區域金鑰

    使用您自己的KMS金鑰會產生加密和解密 AWS KMS 的成本。將事件資料存放區與KMS金鑰建立關聯後,就無法移除或變更KMS金鑰。

    注意

    若要啟用組織事件資料存放區的 AWS Key Management Service 加密,您必須使用管理帳戶的現有KMS金鑰。

  8. (選用) 如果您想使用 Amazon Athena 查詢自己的事件資料,請在 Lake 查詢聯合中選擇啟用。聯合可讓您檢視與資料目錄中的事件資料存放區 AWS Glue 相關聯的中繼資料,並根據 Athena 中的事件資料執行SQL查詢。儲存在 AWS Glue Data Catalog 中的資料表中繼資料可讓 Athena 查詢引擎了解如何尋找、讀取和處理您要查詢的資料。如需詳細資訊,請參閱聯合事件資料存放區

    若要啟用 Lake 查詢聯合,請選擇啟用,然後執行下列動作:

    1. 選擇您要建立新角色或使用現有IAM角色。 AWS Lake Formation使用此角色來管理聯合事件資料存放區的許可。當您使用 CloudTrail 主控台建立新角色時, CloudTrail 會自動建立具有所需許可的角色。如果您選擇現有角色,請確認該角色的政策可提供必要的最低許可

    2. 如果您要建立新角色,請輸入名稱以識別角色。

    3. 如果您要使用現有角色,請選擇想使用的角色。該角色必須存在於您的帳戶中。

  9. (選用) 在 Tags (標籤) 區段中,您最多可以新增 50 個標籤金鑰對,以協助您識別、排序和控制對事件資料存放區的存取權限。如需如何使用IAM政策根據標籤授權存取事件資料存放區的詳細資訊,請參閱 範例:拒絕以標籤為基礎建立或刪除事件資料存放區的存取權限。如需如何在 中使用標籤的詳細資訊 AWS,請參閱 標記 AWS 資源使用者指南 中的標記 AWS 資源。

  10. 選擇 Next (下一步)

  11. 選擇事件頁面上,選擇 AWS 事件,然後選擇組態項目

  12. CloudTrail 會將事件資料存放區資源存放在您建立該資源的區域中,但預設情況下,在資料存放區中收集的組態項目來自您帳戶中已啟用記錄的所有區域。或者,您也可以選擇 Include only the current region in my event data store (在我的事件資料存放區中僅包含目前區域) 以僅包括在目前區域中擷取的組態項目。如果未選擇此選項,則事件資料存放區將包含來自已啟用記錄的所有區域的事件。

  13. 若要讓您的事件資料存放區從 AWS Organizations 組織中的所有帳戶收集組態項目,請選取為組織中的所有帳戶啟用 。您必須登入到組織的管理帳戶或委派的管理員帳戶,才能建立為組織收集組態項目的事件資料存放區。

  14. 選擇 Next (下一步) 以檢閱您的選項。

  15. Review and create (檢閱和建立) 頁面上,檢閱您的選擇。選擇 Edit (編輯) 以對區段進行變更。當您準備建立事件資料存放區時,請選擇 Create event data store (建立事件資料存放區)。

  16. 新的事件資料存放區出現在事件資料存放區頁面上的事件資料存放區表格中。

    從此時開始,事件資料存放區將擷取組態項目。建立事件資料存放區之前發生的組態項目,不會儲存在事件資料存放區中。

範例查詢

您現在可以對新事件資料存放區執行查詢。 CloudTrail 主控台上的範例查詢索引標籤提供範例查詢,協助您開始使用。以下是一些您可針對組態項目事件資料存放區執行的範例查詢。

描述 Query
透過將組態項目事件資料存放區與 CloudTrail 事件資料存放區聯結,尋找哪些使用者執行的動作導致不合規狀態。
SELECT element_at(config1.eventData.configuration, 'targetResourceId') as targetResourceId, element_at(config1.eventData.configuration, 'complianceType') as complianceType, config2.eventData.resourceType, cloudtrail.userIdentity FROM config_event_data_store_ID as config1 JOIN config_event_data_store_ID as config2 on element_at(config1.eventData.configuration, 'targetResourceId') = config2.eventData.resourceId JOIN cloudtrail_event_data_store_ID as cloudtrail on config2.eventData.arn = element_at(cloudtrail.resources, 1).arn WHERE element_at(config1.eventData.configuration, 'configRuleList') is not null AND element_at(config1.eventData.configuration, 'complianceType') = 'NON_COMPLIANT' AND cloudtrail.eventTime > '2022-11-14 00:00:00' AND config2.eventData.resourceType = 'AWS::DynamoDB::Table'
尋找所有 AWS Config 規則,並從過去一天內產生的組態項目傳回合規狀態。
SELECT eventData.configuration, eventData.accountId, eventData.awsRegion, eventData.resourceName, eventData.resourceCreationTime, element_at(eventData.configuration,'complianceType') AS complianceType, element_at(eventData.configuration, 'configRuleList') AS configRuleList, element_at(eventData.configuration, 'resourceId') AS resourceId, element_at(eventData.configuration, 'resourceType') AS resourceType FROM config_event_data_store_ID WHERE eventData.resourceType = 'AWS::Config::ResourceCompliance' AND eventTime > '2022-11-22 00:00:00' ORDER BY eventData.resourceCreationTime DESC limit 10
尋找依 AWS Config 資源類型、帳戶 ID 和區域分組的資源總數。
SELECT eventData.resourceType, eventData.awsRegion, eventData.accountId, COUNT (*) AS resourceCount FROM config_event_data_store_ID WHERE eventTime > '2022-11-22 00:00:00' GROUP BY eventData.resourceType, eventData.awsRegion, eventData.accountId
尋找在特定日期產生之所有 AWS Config 組態項目的資源建立時間。
SELECT eventData.configuration, eventData.accountId, eventData.awsRegion, eventData.resourceId, eventData.resourceName, eventData.resourceType, eventData.availabilityZone, eventData.resourceCreationTime FROM config_event_data_store_ID WHERE eventTime > '2022-11-16 00:00:00' AND eventTime < '2022-11-17 00:00:00' ORDER BY eventData.resourceCreationTime DESC limit 10;

如需建立及編輯查詢的詳細資訊,請參閱 使用 CloudTrail 主控台建立或編輯查詢

組態項目結構描述

下表說明符合組態項目記錄中的必要和選用結構描述元素。的內容由您的組態項目eventData提供;其他欄位則由 於擷取 CloudTrail 後提供。

CloudTrail 事件記錄內容會在 中詳細說明CloudTrail 記錄內容

擷取 CloudTrail 後由 提供的欄位
欄位名稱 輸入類型 需求 描述
eventVersion string 必要

AWS 事件格式的版本。

eventCategory string 必要

事件類別。對於組態項目,有效值為 ConfigurationItem

eventType string 必要

事件類型。對於組態項目,有效值為 AwsConfigurationItem

eventID string 必要

事件的唯一 ID。

eventTime

string

必要

事件時間戳記,yyyy-MM-DDTHH:mm:ss格式為 Universal Coordinated Time (UTC)。

awsRegion string 必要

要指派事件 AWS 區域 的 。

recipientAccountId string 必要

代表接收此事件的 AWS 帳戶 ID。

附錄

附錄

選用

顯示事件延遲原因的相關資訊。如果現有事件中缺少資訊,則附錄區塊會包含缺少的資訊,以及缺失的原因。

eventData 中的欄位由您的組態項目提供
欄位名稱 輸入類型 需求 描述
eventData

-

必要 中的欄位由您的組態項目 eventData 提供。
  • configurationItemVersion

string 選用

來自其來源的組態項目版本。

  • configurationItemCapture時間

string 選用

初始化組態記錄的時間。

  • configurationItemStatus

string 選用

組態項目狀態。有效值為OKResourceDiscoveredResourceNotRecorded ResourceDeletedResourceDeletedNotRecorded

  • accountId

string 選用

與資源相關聯的 12 位數 AWS 帳戶 ID。

  • resourceType

string 選用

AWS 資源的類型。如需有效資源類型的詳細資訊,請參閱 參考 ConfigurationItem中的 。 AWS Config API

  • resourceId

string 選用

資源的 ID (例如,sg-xxxxxx).

  • resourceName

string 選用

資源的自訂名稱 (若有)。

  • arn

string 選用

與該資源相關聯的 Amazon Resource Name (ARN)。

  • awsRegion

string

選用

資源 AWS 區域 所在的 。

  • availabilityZone

string

選用

與資源關聯的可用區域。

  • resourceCreationTime

string

選用

建立資源時的時間戳記。

  • 組態

JSON

選用

資源組態的描述。

  • supplementaryConfiguration

JSON

選用

AWS Config 傳回特定資源類型的組態屬性,以補充組態參數傳回的資訊。

  • relatedEvents

string

選用

CloudTrail 事件 的清單IDs。

  • relationships

- 選用

相關 AWS 資源的清單。

    • name

string

選用

與相關資源的關係類型。

    • resourceType

string

選用

相關資源的資源類型。

    • resourceId

string

選用

相關資源的 ID (例如,sg-xxxxxx).

    • resourceName

string

選用

相關資源的自訂名稱 (若有)。

  • 標籤

JSON

選用

與資源相關聯的鍵值標籤對應。

以下範例說明與組態項目記錄相符的結構描述元素的階層。

{ "eventVersion": String, "eventCategory: String, "eventType": String, "eventID": String, "eventTime": String, "awsRegion": String, "recipientAccountId": String, "addendum": Addendum, "eventData": { "configurationItemVersion": String, "configurationItemCaptureTime": String, "configurationItemStatus": String, "configurationStateId": String, "accountId": String, "resourceType": String, "resourceId": String, "resourceName": String, "arn": String, "awsRegion": String, "availabilityZone": String, "resourceCreationTime": String, "configuration": { JSON, }, "supplementaryConfiguration": { JSON, }, "relatedEvents": [ String ], "relationships": [ struct{ "name" : String, "resourceType": String, "resourceId": String, "resourceName": String } ], "tags": { JSON } } } }