

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

# Security Hub の自動化ルール
<a name="securityhub-v2-automation-rules"></a>

 Security Hub を使用すると、検出結果の詳細の更新やサードパーティー統合のチケットの作成などのタスクを自動化できます。

## 自動化ルールと AWS リージョン
<a name="automation-regions"></a>

 自動化ルールは 1 つの で作成し AWS リージョン 、設定されたすべての に適用できます AWS リージョン。リージョン集約を使用する場合、ルールはホームリージョンでのみ作成できます。ホームリージョンでルールを作成する場合、ルール基準で特定のリンクされたリージョンを除外しない限り、定義したルールはすべてのリンクされたリージョンに適用されます。リンクされたリージョンではないリージョンに対しては、自動化ルールを作成する必要があります。

## ルールのアクションと基準
<a name="ocsf-fields"></a>

 Security Hub の自動化ルールは、Security Hub の検出結果で OCSF 属性を参照するための基準を使用します。たとえば、[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) の `Criteria` パラメータでサポートされているフィルターと一致しま。つまり、自動化ルールで使用されているフィルターを使用して検出結果を取得できます。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` 更新を行うと、最後の更新によってそのフィールドの値を設定します。次の例を見てみましょう。

 `BatchUpdateFindingsV2` を使用して、検出結果の `Status` フィールドを `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 との統合のチケットを作成できます。詳細については、「[Creating a rule for a third-party integration](https://docs.aws.amazon.com/securityhub/latest/userguide/securithub-v2-automation-rules-create.html#integration)」を参照してください。

## 自動化ルールが機能しないシナリオ
<a name="scenarios"></a>

 以下は、自動化ルールが機能しないシナリオです。
+  スタンドアロンアカウントが、委任管理者を持つ組織のメンバーになる 
+  組織管理アカウントが委任管理者を削除し、新しい委任管理者を設定する 
+  リンクされていないリージョンがリンクされたリージョンになると、委任管理者アカウントまたはスタンドアロンアカウントのアグリゲータ設定が変更されます。

 これらのシナリオでは、組織のメンバーは、 AWS CLI または APIs のリスト、取得、削除オペレーションを使用して自動化ルールを管理できます。

 リンクされていないリージョンがリンクされたリージョンになると、委任管理者アカウントまたはスタンドアロンアカウントは、リスト、取得、削除オペレーションを使用して、リンクされたリージョンのリソースを管理できます。