使用主控台建立組態項目的事件資料存放區 - 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 湖泊成本.

限制

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

  • 不支援自訂組態項目

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

必要條件

在您建立活動資料存放區之前,請先為您的所有帳戶和區域設定 AWS Config 記錄。您可以使用「快速設定」功能 AWS Systems Manager,快速建立搭載的組態記錄程式 AWS Config。

注意

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

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

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

  • 指定您要用 AWS Config 來評估已記錄資源類型之符合性資訊的規則。 AWS Config 要 AWS Config 規則 求評估 AWS 資源合規狀態的幾個 CloudTrail Lake 範例查詢。如需詳細資訊 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 湖泊成本

    以下為可用的選項:

    • 一年可延長保留定價 – 如果您預期每月擷取的事件資料少於 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 天的保留期,則 CloudTrail 會在事件超過 90 天時移除事件。eventTime

  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 Data Catalog 中檢視與事件資料存放區相關聯的中繼資料,並在 Athena 中對事件資料執行 SQL 查詢。儲存在 AWS Glue 資料目錄中的表格中繼資料可讓 Athena 查詢引擎瞭解如何尋找、讀取和處理您要查詢的資料。如需詳細資訊,請參閱 聯合事件資料存放區

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

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

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

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

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

  10. 選擇下一步

  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 格式和國際標準時間 (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 資源的類型。如需有效資源類型的詳細資訊,請參閱 AWS Config API 參考ConfigurationItem中的。

  • 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 事件識別碼的清單。

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