

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

# 了解 Security Hub CSPM 中的自動化規則
<a name="automation-rules"></a>

您可以使用自動化規則自動更新 AWS Security Hub CSPM 中的問題清單。擷取問題清單時，Security Hub CSPM 可以套用各種規則動作，例如隱藏問題清單、變更問題清單的嚴重性以及新增備註。這類規則動作會修改符合您指定條件的問題清單。

自動化規則的使用案例範例包括下列項目：
+ `CRITICAL` 如果問題清單的資源 ID 參考關鍵業務資源，請將問題清單的嚴重性提升為 。
+ `CRITICAL` 如果問題清單影響特定生產帳戶中的資源，請將問題清單的嚴重性從 提升`HIGH`為 。
+ 指派具有`INFORMATIONAL``SUPPRESSED`工作流程狀態嚴重性的特定問題清單。

您只能從 Security Hub CSPM 管理員帳戶建立和管理自動化規則。

規則同時適用於新的調查結果和更新的調查結果。您可以從頭開始建立自訂規則，或使用 Security Hub CSPM 提供的規則範本。您也可以從範本開始，並視需要修改。

## 定義規則條件和規則動作
<a name="automation-rules-how-it-works"></a>

從 Security Hub CSPM 管理員帳戶，您可以透過定義一或多個規則*條件*和一或多個規則*動作*來建立自動化規則。當問題清單符合定義的條件時，Security Hub CSPM 會將規則動作套用到其中。如需可用條件和動作的詳細資訊，請參閱 [可用的規則條件和規則動作](#automation-rules-criteria-actions)。

Security Hub CSPM 目前支援每個管理員帳戶最多 100 個自動化規則。

Security Hub CSPM 管理員帳戶也可以編輯、檢視和刪除自動化規則。規則適用於管理員帳戶及其所有成員帳戶中相符的問題清單。透過提供成員帳戶 IDs做為規則條件，Security Hub CSPM 管理員也可以使用自動化規則來更新或隱藏特定成員帳戶中的問題清單。

自動化規則僅適用於建立自動化規則 AWS 區域 的 。若要在多個區域中套用規則，管理員必須在每個區域中建立規則。這可以透過 Security Hub CSPM 主控台、Security Hub CSPM API 或 來完成[AWS CloudFormation](creating-resources-with-cloudformation.md)。您也可以使用[多區域部署指令碼](https://github.com/awslabs/aws-securityhub-multiaccount-scripts/blob/master/automation_rules)。

## 可用的規則條件和規則動作
<a name="automation-rules-criteria-actions"></a>

目前支援下列 AWS 安全調查結果格式 (ASFF) 欄位做為自動化規則的條件：


| 規則條件 | 篩選條件運算子 | 欄位類型 | 
| --- | --- | --- | 
| AwsAccountId  | CONTAINS, EQUALS, PREFIX, NOT\_CONTAINS, NOT\_EQUALS, PREFIX\_NOT\_EQUALS  | String  | 
| AwsAccountName  | CONTAINS, EQUALS, PREFIX, NOT\_CONTAINS, NOT\_EQUALS, PREFIX\_NOT\_EQUALS  | 字串  | 
| CompanyName  | CONTAINS, EQUALS, PREFIX, NOT\_CONTAINS, NOT\_EQUALS, PREFIX\_NOT\_EQUALS  | 字串  | 
| ComplianceAssociatedStandardsId  | CONTAINS, EQUALS, PREFIX, NOT\_CONTAINS, NOT\_EQUALS, PREFIX\_NOT\_EQUALS  | 字串  | 
| ComplianceSecurityControlId  | CONTAINS, EQUALS, PREFIX, NOT\_CONTAINS, NOT\_EQUALS, PREFIX\_NOT\_EQUALS  | String  | 
| ComplianceStatus  | Is, Is Not  | 選取：【FAILED、NOT\_AVAILABLE、PASSED、WARNING】  | 
| Confidence  | Eq (equal-to), Gte (greater-than-equal), Lte (less-than-equal)  | Number  | 
| CreatedAt  | Start, End, DateRange  | 日期 （格式為 2022-12-01T21：47：39.269Z)  | 
| Criticality  | Eq (equal-to), Gte (greater-than-equal), Lte (less-than-equal)  | Number  | 
| Description  | CONTAINS, EQUALS, PREFIX, NOT\_CONTAINS, NOT\_EQUALS, PREFIX\_NOT\_EQUALS  | String  | 
| FirstObservedAt  | Start, End, DateRange  | 日期 （格式為 2022-12-01T21：47：39.269Z)  | 
| GeneratorId  | CONTAINS, EQUALS, PREFIX, NOT\_CONTAINS, NOT\_EQUALS, PREFIX\_NOT\_EQUALS  | String  | 
| Id  | CONTAINS, EQUALS, PREFIX, NOT\_CONTAINS, NOT\_EQUALS, PREFIX\_NOT\_EQUALS  | String  | 
| LastObservedAt  | Start, End, DateRange  | 日期 （格式為 2022-12-01T21：47：39.269Z)  | 
| NoteText  | CONTAINS, EQUALS, PREFIX, NOT\_CONTAINS, NOT\_EQUALS, PREFIX\_NOT\_EQUALS  | String  | 
| NoteUpdatedAt  | Start, End, DateRange  | 日期 （格式為 2022-12-01T21：47：39.269Z)  | 
| NoteUpdatedBy  | CONTAINS, EQUALS, PREFIX, NOT\_CONTAINS, NOT\_EQUALS, PREFIX\_NOT\_EQUALS  | String  | 
| ProductArn  | CONTAINS, EQUALS, PREFIX, NOT\_CONTAINS, NOT\_EQUALS, PREFIX\_NOT\_EQUALS  | 字串  | 
| ProductName  | CONTAINS, EQUALS, PREFIX, NOT\_CONTAINS, NOT\_EQUALS, PREFIX\_NOT\_EQUALS  | 字串  | 
| RecordState  | CONTAINS, EQUALS, PREFIX, NOT\_CONTAINS, NOT\_EQUALS, PREFIX\_NOT\_EQUALS  | 字串  | 
| RelatedFindingsId  | CONTAINS, EQUALS, PREFIX, NOT\_CONTAINS, NOT\_EQUALS, PREFIX\_NOT\_EQUALS  | 字串  | 
| RelatedFindingsProductArn  | CONTAINS, EQUALS, PREFIX, NOT\_CONTAINS, NOT\_EQUALS, PREFIX\_NOT\_EQUALS  | 字串  | 
| ResourceApplicationArn  | CONTAINS, EQUALS, PREFIX, NOT\_CONTAINS, NOT\_EQUALS, PREFIX\_NOT\_EQUALS  | 字串  | 
| ResourceApplicationName  | CONTAINS, EQUALS, PREFIX, NOT\_CONTAINS, NOT\_EQUALS, PREFIX\_NOT\_EQUALS  | String  | 
| ResourceDetailsOther  | CONTAINS, EQUALS, NOT\_CONTAINS, NOT\_EQUALS  | Map  | 
| ResourceId  | CONTAINS, EQUALS, PREFIX, NOT\_CONTAINS, NOT\_EQUALS, PREFIX\_NOT\_EQUALS  | String  | 
| ResourcePartition  | CONTAINS, EQUALS, PREFIX, NOT\_CONTAINS, NOT\_EQUALS, PREFIX\_NOT\_EQUALS  | 字串  | 
| ResourceRegion  | CONTAINS, EQUALS, PREFIX, NOT\_CONTAINS, NOT\_EQUALS, PREFIX\_NOT\_EQUALS  | String  | 
| ResourceTags  | CONTAINS, EQUALS, NOT\_CONTAINS, NOT\_EQUALS  | Map  | 
| ResourceType  | Is, Is Not  | 選取 （請參閱 ASFF 支援[的資源](https://docs.aws.amazon.com/securityhub/latest/userguide/asff-resources.html))  | 
| SeverityLabel  | Is, Is Not  | 選取：【CRITICAL、HIGH、MEDIUMLOW、、INFORMATIONAL】  | 
| SourceUrl  | CONTAINS, EQUALS, PREFIX, NOT\_CONTAINS, NOT\_EQUALS, PREFIX\_NOT\_EQUALS  | String  | 
| Title  | CONTAINS, EQUALS, PREFIX, NOT\_CONTAINS, NOT\_EQUALS, PREFIX\_NOT\_EQUALS  | 字串  | 
| Type  | CONTAINS, EQUALS, PREFIX, NOT\_CONTAINS, NOT\_EQUALS, PREFIX\_NOT\_EQUALS  | String  | 
| UpdatedAt  | Start, End, DateRange  | 日期 （格式為 2022-12-01T21：47：39.269Z)  | 
| UserDefinedFields  | CONTAINS, EQUALS, NOT\_CONTAINS, NOT\_EQUALS  | Map  | 
| VerificationState  | CONTAINS, EQUALS, PREFIX, NOT\_CONTAINS, NOT\_EQUALS, PREFIX\_NOT\_EQUALS  | String  | 
| WorkflowStatus  | Is, Is Not  | 選取：【NEW、NOTIFIED、RESOLVED、SUPPRESSED】  | 

對於標記為字串欄位的條件，在相同欄位上使用不同的篩選條件運算子會影響評估邏輯。如需詳細資訊，請參閱 *AWS Security Hub CSPM API 參考*[https://docs.aws.amazon.com/securityhub/1.0/APIReference/API_StringFilter.html](https://docs.aws.amazon.com/securityhub/1.0/APIReference/API_StringFilter.html)中的 。

每個條件都支援可用於篩選相符問題清單的最大值。如需每個條件的限制，請參閱 *AWS Security Hub CSPM API 參考*[https://docs.aws.amazon.com/securityhub/1.0/APIReference/API_AutomationRulesFindingFilters.html](https://docs.aws.amazon.com/securityhub/1.0/APIReference/API_AutomationRulesFindingFilters.html)中的 。

下列 ASFF 欄位目前支援做為自動化規則的動作：
+ `Confidence`
+ `Criticality`
+ `Note`
+ `RelatedFindings`
+ `Severity`
+ `Types`
+ `UserDefinedFields`
+ `VerificationState`
+ `Workflow`

如需特定 ASFF 欄位的詳細資訊，請參閱[AWS 安全調查結果格式 (ASFF) 語法](https://docs.aws.amazon.com/securityhub/latest/userguide/securityhub-findings-format.html)。

**提示**  
 如果您希望 Security Hub CSPM 停止產生特定控制項的問題清單，建議您停用控制項，而不是使用自動化規則。當您停用控制項時，Security Hub CSPM 會停止對其執行安全檢查，並停止為其產生問題清單，因此您不需要為該控制項支付費用。我們建議您使用自動化規則，為符合定義條件的問題清單變更特定 ASFF 欄位的值。如需停用控制項的詳細資訊，請參閱 [在 Security Hub CSPM 中停用控制項](disable-controls-overview.md)。

## 自動化規則評估的問題清單
<a name="automation-rules-findings"></a>

自動化規則會評估 Security Hub CSPM 在您建立規則*後*透過 [https://docs.aws.amazon.com/securityhub/1.0/APIReference/API_BatchImportFindings.html](https://docs.aws.amazon.com/securityhub/1.0/APIReference/API_BatchImportFindings.html)操作產生或擷取的新問題清單和更新的問題清單。Security Hub CSPM 每 12-24 小時或關聯資源變更狀態時更新控制問題清單。如需詳細資訊，請參閱[執行安全檢查的排程](securityhub-standards-schedule.md)。

自動化規則會評估原始供應商提供的調查結果。供應商可以使用 Security Hub CSPM API `BatchImportFindings`的操作，提供新的問題清單並更新現有的問題清單。如果原始調查結果中不存在下列欄位，Security Hub CSPM 會自動填入欄位，然後在自動化規則的評估中使用填入的值：
+ `AwsAccountName`
+ `CompanyName`
+ `ProductName`
+ `Resource.Tags`
+ `Workflow.Status`

建立一或多個自動化規則之後，如果您使用 [https://docs.aws.amazon.com/securityhub/1.0/APIReference/API_BatchUpdateFindings.html](https://docs.aws.amazon.com/securityhub/1.0/APIReference/API_BatchUpdateFindings.html)操作更新問題清單欄位，則不會觸發規則。如果您建立自動化規則並進行會影響相同調查結果欄位的`BatchUpdateFindings`更新，則上次更新會設定該欄位的值。採用下列範例：

1. 您可以使用 `BatchUpdateFindings`操作，將調查結果`Workflow.Status`欄位的值從 變更為 `NEW` `NOTIFIED`。

1. 如果您呼叫 `GetFindings`， `Workflow.Status` 欄位現在的值為 `NOTIFIED`。

1. 您可以建立自動化規則，將調查結果`Workflow.Status`的欄位從 變更為 `NEW` `SUPPRESSED`。（請記住，規則會忽略使用 `BatchUpdateFindings`操作所做的更新。)

1. 調查結果提供者使用 `BatchImportFindings`操作來更新調查結果，並將調查結果`Workflow.Status`欄位的值變更為 `NEW`。

1. 如果您呼叫 `GetFindings`， `Workflow.Status` 欄位現在的值為 `SUPPRESSED`。這是因為已套用自動化規則，且規則是對調查結果採取的最後一個動作。

當您在 Security Hub CSPM 主控台上建立或編輯規則時，主控台會顯示符合規則條件的調查結果測試版。雖然自動化規則會評估問題清單提供者傳送的原始問題清單，但主控台 Beta 版會反映問題清單的最終狀態，如同回應[https://docs.aws.amazon.com/securityhub/1.0/APIReference/API_GetFindings.html](https://docs.aws.amazon.com/securityhub/1.0/APIReference/API_GetFindings.html)操作時所示 （也就是套用規則動作或其他更新至問題清單之後）。

## 規則順序的運作方式
<a name="rule-order"></a>

建立自動化規則時，您會為每個規則指派一個順序。這將決定 Security Hub CSPM 套用自動化規則的順序，並在多個規則與相同的調查結果或調查結果欄位相關時變得重要。

當多個規則動作與相同的調查結果或調查結果欄位相關時，具有規則順序最高數值的規則會最後套用，並具有最終效果。

當您在 Security Hub CSPM 主控台中建立規則時，Security Hub CSPM 會根據規則建立的順序自動指派規則順序。最近建立的規則具有最低的規則順序數值，因此會先套用。Security Hub CSPM 會以遞增順序套用後續規則。

當您透過 Security Hub CSPM API 或 建立規則時 AWS CLI，Security Hub CSPM 會先套用具有最低數值的規則`RuleOrder`。然後，它會以遞增順序套用後續規則。如果多個問題清單具有相同的 `RuleOrder`，Security Hub CSPM 會先為 `UpdatedAt` 欄位套用具有較早值的規則 （也就是說，最近編輯的規則會套用最後）。

您可以隨時修改規則順序。

**規則順序範例**：

**規則 A （規則順序為 `1`)**：
+ 規則 A 條件
  + `ProductName` = `Security Hub CSPM`
  + `Resources.Type` 是 `S3 Bucket`
  + `Compliance.Status` = `FAILED`
  + `RecordState` 是 `NEW`
  + `Workflow.Status` = `ACTIVE`
+ 規則 A 動作
  + 更新`Confidence`至 `95`
  + 更新`Severity`至 `CRITICAL`

**規則 B （規則順序為 `2`)**：
+ 規則 B 條件
  + `AwsAccountId` = `123456789012`
+ 規則 B 動作
  + 更新`Severity`至 `INFORMATIONAL`

規則 動作會先套用至符合規則 A 條件的 Security Hub CSPM 調查結果。接下來，規則 B 動作適用於具有指定帳戶 ID 的 Security Hub CSPM 調查結果。在此範例中，由於規則 B 最後套用，因此來自指定帳戶 ID 之調查結果`Severity`中的 結束值為 `INFORMATIONAL`。根據規則 A 動作，相符調查結果`Confidence`中的 結束值為 `95`。