從 AWS Config 開始 AWS CLI - AWS Config

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

從 AWS Config 開始 AWS CLI

若要開 AWS Config 始 AWS CLI,請使用put-configuration-recorderput-delivery-channel、和start-configuration-recorder指令,如下所示:

  • put-configuration-recorder 命令會建立新的組態記錄器,記錄您指定的資源組態。

  • 此命put-delivery-channel令會建立交付通道物件,將組態資訊傳遞至 S3 儲存貯體和SNS主題。

  • 建立交付通道後,start-configuration-recorder 會開始記錄您選取的資源組態,您可以在 AWS 帳戶中看到這些組態。

您可以指定記錄器的名稱和組態記錄器所承擔 AWS Config 和使用之IAM角色的 Amazon 資源名稱 (ARN)。 AWS Config 建立組態記錄器時,會自動指定「default」的名稱。組態記錄器建立之後即無法變更名稱。若要變更組態記錄器的名稱,您必須刪除它,再使用新的名稱建立新的組態記錄器。

若要使 AWS Config 用設定多帳戶多區域資料彙總 AWS CLI,請參閱使用 AWS 命令列介面設定彙總器。您必須為每個您想要記錄組態項目的每 AWS 帳戶 個區域建立個別的組態記錄程式。

考量事項

先決條件

在設 AWS Config 定之前 AWS CLI,您需要建立 S3 儲存貯體、SNS主題以及具有附加政策的IAM角色做為先決條件。然後,您可以使用 AWS CLI 來指定的值區、主題和角色 AWS Config。若要設定的先決條件 AWS Config,請參閱先決條件

每個帳戶每個區域一個組態記錄器

每 AWS 區域 個通道只能有一個配置記錄器通道 AWS 帳戶,並且需要使用配置記錄器 AWS Config。

每個帳戶每個區域有一個交付管道

每個 AWS 區域 區域只能有一個傳遞通道 AWS 帳戶,而且需要使用交付通道 AWS Config。

步驟 1:執行命 put-configuration-recorder 令

您的 put-configuration-recorder 命令看起來應如以下範例。

$ aws configservice put-configuration-recorder \ --configuration-recorder file://configurationRecorder.json \ --recording-group file://recordingGroup.json

此指令會使用--configuration-recorder---recording-group欄位。

注意

錄音組和配置記錄器

--recording-group 欄位指定記錄的資源類型。

--configuration-recorder欄位會指定name組態錄製程式的預設錄製頻率,以及 (recordingMode)。roleArn您也可以使用此欄位覆寫特定資源類型的記錄頻率。

put-configuration-recorder 會使用下列適用於 --recording-group 參數的選項:

  • allSupported=true— AWS Config 記錄所有支援資源類型 (不包括全域IAM資源類型) 的組態變更。新 AWS Config 增對新資源類型的支援時, AWS Config 會自動開始記錄該類型的資源。

  • includeGlobalResourceTypes=true— 此選項為套裝軟體,僅適用於全域IAM資源類型:IAM使用者、群組、角色和客戶管理的策略。這些全域IAM資源類型只能 AWS Config 在 2022 年 2 月之前提供的 AWS Config 區域中記錄。您無法在 2022 年 2 月 AWS Config 之後支援的區域中記錄全球資IAM源類型。如需這些區域的清單,請參閱錄製 AWS 資源 | 全域資源

    重要

    Aurora 全域叢集會記錄在所有啟用的區域中

    AWS::RDS::GlobalCluster源類型將記錄在啟用組態記錄程式的所有支援 AWS Config 區域中,即使設定為也includeGlobalResourceTypes是如此false。此選includeGlobalResourceTypes項為套裝軟體,僅適用於使IAM用者、群組、角色和客戶管理的策略。

    如果不希望在所有已啟用的區域中記錄 AWS::RDS::GlobalCluster,請使用下列一種記錄策略:

    1. 記錄所有目前和未來的資源類型 (附帶排除項目) (EXCLUSION_BY_RESOURCE_TYPES),或

    2. 記錄特定資源類型 (INCLUSION_BY_RESOURCE_TYPES)。

    如需詳細資訊,請參閱《選取要記錄的資源》。

    重要

    includeGlobalResource類型和排除記錄策略

    includeGlobalResourceTypes字段對EXCLUSION_BY_RESOURCE_TYPES記錄策略沒有影響。這表示在設定為exclusionByResourceTypesincludeGlobalResourceTypes,不會自動將全域IAM資源類型 (IAM使用者、群組、角色和客戶管理的策略) 新增為排除項false

    includeGlobalResourceTypes欄位只能用來修改AllSupported欄位,因為欄位的預設值是記錄所有支援資源類型 (不包括全AllSupportedIAM域資源類型) 的組態變更。若要在設定為時AllSupported包含全域IAM資源類型true,請務必將設定includeGlobalResourceTypestrue

    若要排除EXCLUSION_BY_RESOURCE_TYPES記錄策略的全域IAM資源類型,您需要手動將它們新增至的resourceTypes欄位exclusionByResourceTypes

    注意

    必要欄位和選用欄位

    在將 includeGlobalResourceTypes 設定為 true 之前,請先將 allSupported 欄位設定為 true

    或者,也可以將 RecordingStrategyuseOnly 欄位設定為 ALL_SUPPORTED_RESOURCE_TYPES

    注意

    覆寫欄位

    如果在的欄位中設定includeGlobalResourceTypesfalse但列出全域IAM資源類型 RecordingGroup,則無論您是否 AWS Config 將resourceTypes欄位設定為 false,仍會記錄這些指定資源類型的includeGlobalResourceTypes組態變更。

    如果您不想記錄對全域IAM資源類型 (IAM使用者、群組、角色和客戶管理策略) 的組態變更,除了將欄位設定為 false 之外,請確定不要在resourceTypesincludeGlobalResourceTypes位中列出這些變更。

  • recordingStrategy - 指定組態記錄器的記錄策略。recordingGroup.json 檔案會指定 AWS Config 記錄的資源類型:

    • 如果RecordingStrategyuseOnly欄位設定為ALL_SUPPORTED_RESOURCE_TYPES,則會 AWS Config 記錄所有支援資源類型 (不包括全IAM域資源類型) 的組態變更。或者,您可以RecordingGroup將的allSupported欄位設定為true。新 AWS Config 增對新資源類型的支援時, AWS Config 會自動開始記錄該類型的資源。

    • 如果RecordingStrategy將的useOnly欄位設定為INCLUSION_BY_RESOURCE_TYPES,則只會針對您在的欄resourceTypes位中指定的資源類型 AWS Config 記錄組態變更RecordingGroup

    • 如果RecordingStrategy將的useOnly欄位設定為EXCLUSION_BY_RESOURCE_TYPES,則會 AWS Config 記錄所有支援資源類型的組態變更,但您指定為排除在的resourceTypes欄位中不記錄的資源類型除外ExclusionByResourceTypes

    注意

    必要欄位和選用欄位

    當您將 --recording-groupallSupported 欄位設定為 true 時,recordingStrategy 欄位為選用。

    當您在 --recording-groupresourceTypes 欄位中列出資源類型時,recordingStrategy 欄位為選用。

    如果您在 exclusionByResourceTypesresourceTypes 欄位中列出要排除記錄的資源類型,則 recordingStrategy 欄位為必要。

    注意

    覆寫欄位

    如果記錄策略選擇 EXCLUSION_BY_RESOURCE_TYPES,則 exclusionByResourceTypes 欄位會覆寫請求中的其他屬性。

    例如,即使您設定includeGlobalResourceTypes為 false,全域IAM資源類型仍會自動記錄在此選項中,除非這些資源類型在的resourceTypes欄位中特別列為豁免項。exclusionByResourceTypes

    注意

    全域資源類型和資源排除記錄策略

    依預設,如果您選擇EXCLUSION_BY_RESOURCE_TYPES記錄策略,則當您在設定組態記錄程式的區域 (包括全域資源類型) 中新 AWS Config 增對新資源類型的支援時,會自動 AWS Config 開始記錄該類型的資源。

    除非特別列為排除項目,否則在啟用組態記錄程式後,所有支援的 AWS Config 區域都AWS::RDS::GlobalCluster會自動記錄。

    IAM使用者、群組、角色和客戶管理的政策會記錄在您設定組態記錄器的地區 (如果該區域是 2022 年 2 月之前提供服務的區域)。 AWS Config 您無法在 2022 年 2 月 AWS Config 之後支援的區域中記錄全球資IAM源類型。如需這些區域的清單,請參閱錄製 AWS 資源 | 全域資源

    以下顯示 recordingGroup.json 的請求語法。

    { "allSupported": boolean, "exclusionByResourceTypes": { "resourceTypes": [ Comma-separated list of resource types to exclude ] }, "includeGlobalResourceTypes": boolean, "recordingStrategy": { "useOnly": "Recording strategy for the configuration recorder" }, "resourceTypes": [ Comma-separated list of resource types to include] }
    注意

    AWS Organizations 可以防止存取的授權原則

    如果您使用預先存在的IAM角色,請確定沒有授權原則 AWS Organizations 可防 AWS Config 止有權記錄您的資源。如需有關的授權原則的詳細資訊 AWS Organizations,請參閱《AWS Organizations 使用指南》AWS Organizations中的〈管理策略

    重複使用角色時保持最低權限 IAM

    如果您使用的 AWS 服務使 AWS Config用 (例如 AWS Security Hub 或) AWS Control Tower,且已建立IAM角色,請確定您在設定時使用的IAM角色與預先存在的角IAM色 AWS Config 保持相同的最低權限。您必須這麼做,以確保其他 AWS 服務能如預期般繼續執行。

    例如,如果 AWS Control Tower IAM角色允許讀 AWS Config 取 S3 物件,請確定您在設定時使用的IAM角色授與相同的權限 AWS Config。否則,它可能會干擾 AWS Control Tower 操作方式。

    注意

    大量的 AWS Config 評估

    與後續月份相比,您可能會注意到在使用 AWS Config 錄製的初始月份期間,帳戶中的活動有所增加。在初始啟動安裝程序期間, AWS Config 會對 AWS Config 您帳戶中選取要記錄的所有資源執行評估。

    如果您正在執行暫時工作負載,您可能會看到活動增加, AWS Config 因為它會記錄與建立和刪除這些暫時資源相關聯的組態變更。暫時性工作負載是暫時使用因需要而載入和執行的運算資源。範例包括 Amazon 彈性運算雲端 (AmazonEC2) 競價型執行個體、Amazon EMR 任務和 AWS Auto Scaling. 如果您想要避免因執行臨時工作負載而增加的活動,您可以設定組態錄製程式以將這些資源類型排除在記錄之外,或在關 AWS Config 閉的情況下在單獨的帳戶中執行這些類型的工作負載,以避免增加組態記錄和規則評估。

    注意

    區域可用性

    在指定 AWS Config 要追蹤的資源型態之前,請先勾選「依可用區域的資源涵蓋範圍」,以查看您要設定的「 AWS 區域」中是否支援資源型態 AWS Config。如果至少一個「區域」支援某個資源類型,則您可以 AWS Config 在所支援的所有「區域」中啟用該資源類型的記錄 AWS Config,即使您要設定的「 AWS 區域」不支援指定的資源類型也一樣 AWS Config。

put-configuration-recorder 會使用下列用於 --configuration-recorder 參數的欄位:

  • name— 組態記錄程式的名稱。 AWS Config 建立組態記錄器時,會自動指定「default」的名稱。

  • roleARN— 組態記錄器承擔 AWS Config 並使用的IAM角色的 Amazon 資源名稱 (ARN)。

  • recordingMode— 指定用來記錄組態變更的預設錄製頻率。 AWS Config AWS Config 支持連續錄製每日錄製。連續記錄可讓您在發生變更時持續記錄組態變更。每日記錄可讓您接收代表過去 24 小時期間內資源最新狀態的組態項目 (CI),前提是該項目必須與先前的 CI 記錄不同。

    • recordingFrequency— AWS Config 用來記錄組態變更的預設錄製頻率。

      注意

      AWS Firewall Manager 取決於連續記錄來監視您的資源。如果您使用的是 Firewall Manager,建議您將記錄頻率設定為「持續」。

    • recordingModeOverrides — 此欄位可讓您指定記錄模式的覆寫。其為 recordingModeOverride 物件的陣列。recordingModeOverrides 陣列中的每個 recordingModeOverride 物件都包含三個欄位:

      • description — 您為覆寫提供的描述。

      • recordingFrequency — 會套用至覆寫中指定的所有資源類型的記錄頻率。

      • resourceTypes— 逗號分隔清單,指定覆寫中 AWS Config 包含哪些資源類型。

注意

必要欄位和選用欄位

put-configuration-recorderrecordingMode 欄位為選用。依預設,組態記錄器的記錄頻率設定為連續記錄。

注意

限制

下列資源類型不支援每日記錄:

  • AWS::Config::ResourceCompliance

  • AWS::Config::ConformancePackCompliance

  • AWS::Config::ConfigurationRecorder

對於記錄所有目前和未來支援的資源類型 (ALL_SUPPORTED_RESOURCE_TYPES) 記錄策略,這些資源類型會設定為「連續記錄」。

configurationRecorder.json檔案會指定name組態錄製程式的預設錄製頻率,以及 (recordingMode)。roleArn您也可以使用此欄位覆寫特定資源類型的記錄頻率。

{ "name": "default", "roleARN": "arn:aws:iam::123456789012:role/config-role", "recordingMode": { "recordingFrequency": CONTINUOUS or DAILY, "recordingModeOverrides": [ { "description": "Description you provide for the override", "recordingFrequency": CONTINUOUS or DAILY, "resourceTypes": [ Comma-separated list of resource types to include in the override ] } ] } }

步驟 2:執行命 put-delivery-channel 令

下列程式碼範例會示範如何使用PutDeliveryChannel

CLI
AWS CLI

若要建立傳送管道

下列命令會以JSON程式碼形式提供傳遞通道的設定:

aws configservice put-delivery-channel --delivery-channel file://deliveryChannel.json

deliveryChannel.json檔案會指定傳送通道屬性:

{ "name": "default", "s3BucketName": "config-bucket-123456789012", "snsTopicARN": "arn:aws:sns:us-east-1:123456789012:config-topic", "configSnapshotDeliveryProperties": { "deliveryFrequency": "Twelve_Hours" } }

此範例會設定下列屬性:

name-傳送管道的名稱。根據預設, AWS Config 會將名稱default指派給新的傳送通道。您無法使用指令更新傳送通道名稱。put-delivery-channel如需變更名稱的步驟,請參閱重新命名傳遞管道。 s3BucketName-Con AWS fig 交付組態快照和組態歷史記錄檔案的 Amazon S3 儲存貯體的名稱。如果您指定屬於另一個 AWS 帳戶的儲存貯體,則該儲存貯體必須具有授與 Config 存取權限的政策。 AWS 如需詳細資訊,請參閱《Amazon S3 儲存貯體許可》。

snsTopicARN-Amazon 資源名稱 (ARN), AWS Config 會傳送有關組態變更通知的 Amazon SNS 主題。如果您從其他帳戶選擇主題,則該主題必須具有授與 Config 存取權限的政策。 AWS 如需詳細資訊,請參閱 Amazon 主SNS題的許可。

configSnapshotDeliveryProperties-包含deliveryFrequency屬性,可設定 AWS Config 傳遞組態快照的頻率,以及呼叫週期性組 Config 規則評估的頻率。

如果命令成功, AWS Config 不會返回任何輸出。若要驗證傳送通道的設定,請執行 describe-delivery-channels 命令。

PowerShell
用於的工具 PowerShell

範例 1:此範例會變更現有傳送管道的 deliveryFrequency 屬性。

Write-CFGDeliveryChannel -ConfigSnapshotDeliveryProperties_DeliveryFrequency TwentyFour_Hours -DeliveryChannelName default -DeliveryChannel_S3BucketName config-bucket-NA -DeliveryChannel_S3KeyPrefix my
  • 如需詳API細資訊,請參閱AWS Tools for PowerShell 指令程PutDeliveryChannel式參考中的。

步驟 3:執行命 start-configuration-recorder 令

若要完成開啟 AWS Config,請使用start-configuration-recorder指令。

$ aws configservice start-configuration-recorder --configuration-recorder-name configRecorderName