本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
AWS Config 規則的元件
AWS Config 規則會評估 AWS 資源的組態設定。此頁面討論規則的元件。
AWS Config 規則的運作方式
當 AWS Config 持續追蹤您資源中發生的組態變更時,其也會檢查這些變更是否未遵循您規則中的任何條件。如果資源不符合規則, 會將資源和規則 AWS Config 標記為不合規。
AWS Config 規則有四個可能的評估結果。
| 評估結果 | 描述 |
|---|---|
COMPLIANT |
規則會傳遞合規檢查的條件。 |
NON_COMPLIANT |
規則未通過合規檢查的條件。 |
ERROR |
其中一個必要/選用參數無效、類型不正確或格式不正確。 |
NOT_APPLICABLE |
用來篩選無法套用規則邏輯的資源。例如,alb-desync-mode-check 規則僅檢查 Application Load Balancer,並忽略 Network Load Balancer 和 Gateway Load Balancer。 |
例如,建立 EC2 磁碟區時, AWS Config 可以根據需要加密磁碟區的規則來評估磁碟區。如果磁碟區未加密, 會將磁碟區和規則 AWS Config 標記為不合規。 AWS Config 也可以檢查您所有資源的整個帳戶需求。例如, AWS Config 可以檢查帳戶中的 EC2 磁碟區數量是否保持在所需的總計內,或帳戶是否使用 AWS CloudTrail 記錄。
觸發類型
將規則新增至帳戶後, 會將您的資源與規則的條件 AWS Config 進行比較。在此初始評估之後, 會在每次觸發評估時 AWS Config 繼續執行評估。評估觸發會定義為規則的一部分,而且可以包含下列類型。
| 觸發類型 | 描述 |
|---|---|
| 組態變更 | AWS Config 當資源符合規則的範圍,且資源的組態變更時, 會執行規則的評估。評估會在 AWS Config 傳送組態項目變更通知後執行。 您可以透過定義規則的範圍來選擇要進行評估的資源。範圍可包含下列項目:
AWS Config 會在偵測到符合規則範圍的資源變更時執行評估。您可以使用範圍來定義要進行評估的資源。 |
| 定期 | AWS Config 會依您選擇的頻率執行規則評估;例如,每 24 小時一次。 |
| 混合 | 部分規則同時具有組態變更和定期觸發條件。針對這些規則, 會在偵測到組態變更時評估您的資源,也會依您指定的頻率 AWS Config 進行評估。 |
評估模式
AWS Config 規則的評估模式有兩種。
| 評估模式 | 描述 |
|---|---|
| 主動 | 使用主動評估,在部署資源之前對其進行評估。這可讓您評估一組資源屬性,如果用於定義 AWS 資源,則根據您在區域中帳戶中擁有的一組主動規則,一組資源屬性是 COMPLIANT 還是 NON_COMPLIANT。 |
| 偵測 | 使用偵測評估來評估已部署的資源。這可讓您評估現有資源的組態設定。 |
注意
主動規則不會修復標記為「NON_COMPLIANT」的資源,也不會防止部署這些資源。
如需詳細資訊,請參閱開啟 AWS Config 規則的主動評估。
具有主動評估的受管規則清單
如需支援主動評估的受管規則清單,請參閱依評估模式的 AWS Config 受管規則清單。
支援主動評估的資源類型清單
下列是支援主動評估的資源類型清單:
-
AWS::EC2::EIP -
AWS::EC2::Instance -
AWS::Lambda::Function -
AWS::RDS::DBInstance -
AWS::Redshift::Cluster -
AWS::S3::Bucket -
AWS::SNS::Topic
AWS Config 規則中繼資料
AWS Config 規則可以包含下列可變中繼資料:
- defaultName
-
defaultName 是規則執行個體預設會取得的名稱。
- description
-
規則描述提供規則評估的項目內容。 AWS Config 主控台有 256 個字元的限制。根據最佳實務,規則描述應該以 “Checks if” 開頭,並包含 NON_COMPLIANT 情境的描述。在規則描述中首次提及時,服務名稱應以 AWS 或 Amazon 開頭完整撰寫。例如, AWS CloudTrail 或 Amazon CloudWatch 而非 CloudTrail 或 CloudWatch 供初次使用。後續參考則可以使用縮寫的服務名稱。
- scope
-
scope 可決定作為規則目標的資源類型。如需支援的資源類型清單,請參閱支援的資源類型。
- compulsoryInputParameterDetails
-
compulsoryInputParameterDetails 用於規則執行評估時所需的參數。例如,
access-keys-rotated受管規則包含maxAccessKeyAge作為必要參數。如果參數為必要,則不會將其標記為 (選用)。每個參數都必須指定一個類型。類型可以是 "String"、"int"、"double"、"CSV"、"boolean" 和 "StringMap" 其中之一。 - optionalInputParameterDetails
-
optionalInputParameterDetails 用於規則執行評估時選用的參數。例如,
elasticsearch-logs-to-cloudwatch受管規則包含logTypes作為選用參數。每個參數都必須指定一個類型。類型可以是 "String"、"int"、"double"、"CSV"、"boolean" 和 "StringMap" 其中之一。 - supportedEvaluationModes
-
supportedEvaluationModes 可決定何時評估資源,是在部署資源之前還是在部署資源之後。
DETECTIVE用於評估已部署的資源。這可讓您評估現有資源的組態設定。PROACTIVE用於在部署資源之前對其進行評估。這可讓您評估一組資源屬性,如果用於定義 AWS 資源,則根據您在區域中帳戶中擁有的一組主動規則,一組資源屬性是 COMPLIANT 還是 NON_COMPLIANT。
您可以為 supportedEvaluationModes 指定
DETECTIVE、PROACTIVE,或同時指定DETECTIVE和PROACTIVE。您必須指定評估模式,此欄位不能保持空白。注意
主動規則不會修復標記為「NON_COMPLIANT」的資源,也不會防止部署這些資源。