

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

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

 使用 Security Hub，您可以自動化任務，例如更新問題清單詳細資訊和為第三方整合建立票證。

## 自動化規則和 AWS 區域
<a name="automation-regions"></a>

 自動化規則可以在一個 中建立 AWS 區域 ，然後套用至所有設定的規則 AWS 區域。使用區域彙總時，您只能在主區域中建立規則。在主區域中建立規則時，您定義的任何規則都會套用至所有連結區域，除非您的規則條件排除特定連結區域。您必須為任何非連結區域的區域建立自動化規則。

## 規則動作和條件
<a name="ocsf-fields"></a>

 Security Hub 中的自動化規則使用條件來參考 Security Hub 調查結果中的 OCSF 屬性。例如， 中 `Criteria` 參數支援的篩選條件[https://docs.aws.amazon.com/securityhub/1.0/APIReference/API_CreateAutomationRuleV2.html](https://docs.aws.amazon.com/securityhub/1.0/APIReference/API_CreateAutomationRuleV2.html)符合 中 `Criteria` 參數支援的篩選條件[https://docs.aws.amazon.com/securityhub/1.0/APIReference/API_GetFindingsV2.html](https://docs.aws.amazon.com/securityhub/1.0/APIReference/API_GetFindingsV2.html)。這表示自動化規則中使用的篩選條件可用來取得問題清單。Security Hub 支援下列自動化規則條件的 OCSF 欄位。


| OCSF 欄位 | 主控台篩選條件值 | 篩選條件運算子 | 欄位類型 | 
| --- | --- | --- | --- | 
| activity\_name | Activity name | EQUALS, PREFIX, NOT\_CONTAINS, NOT\_EQUALS, PREFIX\_NOT\_EQUALS | String | 
| class\_name | Finding class name | EQUALS, PREFIX, NOT\_CONTAINS, NOT\_EQUALS, PREFIX\_NOT\_EQUALS | String | 
| cloud.account.uid | Account ID | EQUALS, PREFIX, NOT\_CONTAINS, NOT\_EQUALS, PREFIX\_NOT\_EQUALS | String | 
| cloud.provider | Cloud provider | EQUALS, PREFIX, NOT\_CONTAINS, NOT\_EQUALS, PREFIX\_NOT\_EQUALS | String | 
| cloud.region | Region | EQUALS, PREFIX, NOT\_CONTAINS, NOT\_EQUALS, PREFIX\_NOT\_EQUALS | String | 
| comment | Comment | EQUALS, PREFIX, NOT\_CONTAINS, NOT\_EQUALS, PREFIX\_NOT\_EQUALS | String | 
| compliance.assessments.category | Assessment category | EQUALS, PREFIX, NOT\_CONTAINS, NOT\_EQUALS, PREFIX\_NOT\_EQUALS | String | 
| compliance.assessments.name | Assessment name | EQUALS, PREFIX, NOT\_CONTAINS, NOT\_EQUALS, PREFIX\_NOT\_EQUALS | String | 
| compliance.control | Security control ID | EQUALS, PREFIX, NOT\_CONTAINS, NOT\_EQUALS, PREFIX\_NOT\_EQUALS | String | 
| compliance.standards | Applicable standards | EQUALS, PREFIX, NOT\_CONTAINS, NOT\_EQUALS, PREFIX\_NOT\_EQUALS | String | 
| compliance.status | Compliance status | EQUALS, PREFIX, NOT\_CONTAINS, NOT\_EQUALS, PREFIX\_NOT\_EQUALS | String | 
| finding\_info.desc | Finding description | EQUALS, PREFIX, NOT\_CONTAINS, NOT\_EQUALS, PREFIX\_NOT\_EQUALS | String | 
| finding\_info.related\_events.product.uid | Related findings product ID | EQUALS, PREFIX, NOT\_CONTAINS, NOT\_EQUALS, PREFIX\_NOT\_EQUALS | String | 
| finding\_info.related\_events.title | Related findings title | EQUALS, PREFIX, NOT\_CONTAINS, NOT\_EQUALS, PREFIX\_NOT\_EQUALS | String | 
| finding\_info.related\_events.uid | Related findings ID | EQUALS, PREFIX, NOT\_CONTAINS, NOT\_EQUALS, PREFIX\_NOT\_EQUALS | String | 
| finding\_info.src\_url | Source URL | EQUALS, PREFIX, NOT\_CONTAINS, NOT\_EQUALS, PREFIX\_NOT\_EQUALS | String | 
| finding\_info.types | Finding type | EQUALS, PREFIX, NOT\_CONTAINS, NOT\_EQUALS, PREFIX\_NOT\_EQUALS | String | 
| finding\_info.uid | Provider ID | EQUALS, PREFIX, NOT\_CONTAINS, NOT\_EQUALS, PREFIX\_NOT\_EQUALS | String | 
| metadata.product.feature.uid | Generator ID | EQUALS, PREFIX, NOT\_CONTAINS, NOT\_EQUALS, PREFIX\_NOT\_EQUALS | String | 
| metadata.product.name | Product name | EQUALS, PREFIX, NOT\_CONTAINS, NOT\_EQUALS, PREFIX\_NOT\_EQUALS | String | 
| metadata.product.uid | Product ARN | EQUALS, PREFIX, NOT\_CONTAINS, NOT\_EQUALS, PREFIX\_NOT\_EQUALS | String | 
| metadata.product.vendor\_name | Company name | EQUALS, PREFIX, NOT\_CONTAINS, NOT\_EQUALS, PREFIX\_NOT\_EQUALS | String | 
| metadata.uid | Finding ID | EQUALS, PREFIX, NOT\_CONTAINS, NOT\_EQUALS, PREFIX\_NOT\_EQUALS | String | 
| remediation.desc | Recommendation text | EQUALS, PREFIX, NOT\_CONTAINS, NOT\_EQUALS, PREFIX\_NOT\_EQUALS | String | 
| remediation.references | Recommendation URL | EQUALS, PREFIX, NOT\_CONTAINS, NOT\_EQUALS, PREFIX\_NOT\_EQUALS | String | 
| resources.cloud\_partition | Resource partition | EQUALS, PREFIX, NOT\_CONTAINS, NOT\_EQUALS, PREFIX\_NOT\_EQUALS | String | 
| resources.name | Resource name | EQUALS, PREFIX, NOT\_CONTAINS, NOT\_EQUALS, PREFIX\_NOT\_EQUALS | String | 
| resources.region | Resource region | EQUALS, PREFIX, NOT\_CONTAINS, NOT\_EQUALS, PREFIX\_NOT\_EQUALS | String | 
| resources.type | Resource type | EQUALS, PREFIX, NOT\_CONTAINS, NOT\_EQUALS, PREFIX\_NOT\_EQUALS | String | 
| resources.uid | Resource ID | EQUALS, PREFIX, NOT\_CONTAINS, NOT\_EQUALS, PREFIX\_NOT\_EQUALS | String | 
| severity | Severity | EQUALS, PREFIX, NOT\_CONTAINS, NOT\_EQUALS, PREFIX\_NOT\_EQUALS | String | 
| status | Status | EQUALS, PREFIX, NOT\_CONTAINS, NOT\_EQUALS, PREFIX\_NOT\_EQUALS | String | 
| vulnerabilities.fix\_coverage | Software vulnerabilities coverage | EQUALS, PREFIX, NOT\_CONTAINS, NOT\_EQUALS, PREFIX\_NOT\_EQUALS | String | 
| finding\_info.first\_seen\_time\_dt | First observed at | Start, End, DateRange | Date (formatted as 2022-12-01T21:47:39.269Z) | 
| finding\_info.last\_seen\_time\_dt | Last observed at | Start, End, DateRange | Date (formatted as 2022-12-01T21:47:39.269Z) | 
| finding\_info.modified\_time\_dt | Updated at | Start, End, DateRange | Date (formatted as 2022-12-01T21:47:39.269Z) | 
| compliance.assessments.meets\_criteria | Compliance assessment meets criteria | True, False | Boolean | 
| vulnerabilities.is\_exploit\_available | Software vulnerabilities with exploit available | True, False | Boolean | 
| vulnerabilities.is\_fix\_available | Software vulnerabilities with fix available | True, False | Boolean | 
| activity\_id | Activity ID | Eq (equal-to), Gte (greater-than-equal), Lte (less-than-equal) | Number | 
| compliance.status\_id | Compliance status ID | Eq (equal-to), Gte (greater-than-equal), Lte (less-than-equal) | Number | 
| confidence\_score | Confidence | Eq (equal-to), Gte (greater-than-equal), Lte (less-than-equal) | Number | 
| severity\_id | Severity ID | Eq (equal-to), Gte (greater-than-equal), Lte (less-than-equal) | Number | 
| status\_id | Status ID | Eq (equal-to), Gte (greater-than-equal), Lte (less-than-equal) | Number | 
| finding\_info.related\_events\_count | Related findings count | Eq (equal-to), Gte (greater-than-equal), Lte (less-than-equal) | Number | 
| resources.tags | Resource tags | EQUALS | Map | 

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

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

**可更新的 OCSF 欄位**  
 以下是可以使用自動化規則更新的 OCSF 欄位。
+  `Comment` 
+  `SeverityId` 
+  `StatusId` 

## 自動化規則如何評估問題清單
<a name="findings-evaluate"></a>

 自動化規則會評估 Security Hub 在您建立規則後產生或擷取的新問題清單和更新的問題清單。

 自動化規則會評估原始供應商提供的調查結果。供應商可以透過與 Security Hub 的整合，提供新的問題清單並更新現有的問題清單。當您在透過 `BatchUpdateFindingsV2`操作建立規則之後更新問題清單欄位時，不會觸發規則。如果您建立自動化規則並進行同時影響相同調查結果欄位的`BatchUpdateFindingsV2`更新，則上次更新會設定該欄位的值。採用下列範例：

 您可以使用 將問題清單`Status`的欄位從 `BatchUpdateFindingsV2`更新`New`為 `In Process`。如果您呼叫 `GetFindingsV2`， `Status` 欄位現在的值為 `In Process`。您可以建立自動化規則，將調查結果`Status`的欄位從 變更為 `New``Suppressed`（請回想規則忽略使用 所做的更新`BatchUpdateFindingsV2`)。問題清單提供者會更新問題清單，並將 `Status` 欄位變更為 `New`。如果您呼叫 `GetFindingsV2`， `Status` 欄位現在的值為 ，`Suppressed`因為已套用自動化規則，而規則是對調查結果採取的最後動作。

 當您在 Security Hub 主控台上建立或編輯規則時，主控台會顯示符合規則條件的問題清單預覽。雖然自動化規則會評估問題清單提供者傳送的原始問題清單，但主控台預覽會以最終狀態反映問題清單，如同 `GetFindingsV2` API 操作的回應所示 （也就是套用規則動作或其他更新至問題清單之後）。

## 自動化規則的排序方式
<a name="automation-rule-order"></a>

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

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

 當您在 Security Hub 主控台中建立規則時，Security Hub 會根據規則建立的順序自動指派規則順序。您建立的第一個規則會有 1 的規則順序。當存在多個規則時，每個後續建立的規則將具有規則順序的下一個最高可用數值。

 當您透過 [https://docs.aws.amazon.com/securityhub/1.0/APIReference/API_CreateAutomationRuleV2.html](https://docs.aws.amazon.com/securityhub/1.0/APIReference/API_CreateAutomationRuleV2.html) API 或 建立規則時 AWS CLI，Security Hub 會`RuleOrder`先套用具有最低數值的規則。然後，它會以遞增順序套用後續規則。如果多個問題清單具有相同的 `RuleOrder`，Security Hub 會先為 `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`
  + 更新`Comment`至 `This needs attention`

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

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

## 第三方整合
<a name="integrations"></a>

 您可以使用自動化規則來建立與 Jira Cloud和 整合的票證ServiceNow ITSM。如需詳細資訊，請參閱[建立第三方整合的規則](https://docs.aws.amazon.com/securityhub/latest/userguide/securithub-v2-automation-rules-create.html#integration)。

## 自動化規則無法運作的案例
<a name="scenarios"></a>

 以下是自動化規則無法運作的情況。
+  獨立帳戶會成為具有委派管理員的組織成員 
+  組織管理帳戶會移除委派管理員，並設定新的委派管理員 
+  當取消連結的區域設為連結區域時，委派管理員或獨立帳戶的彙整工具組態會變更 

 在這些情況下，組織的成員可以使用 AWS CLI 或 APIs中的清單、取得和刪除操作來管理自動化規則。

 當取消連結的區域成為連結區域時，委派的管理員或獨立帳戶可以使用清單、取得和刪除操作來管理連結區域中的資源。