

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

# Security Hub ポリシーの構文と例
<a name="orgs_manage_policies_security_hub_syntax"></a>

Security Hub ポリシーは、組織全体で Security Hub を有効にして設定する方法を定義する、標準化された JSON 構文に従います。ポリシー構造を理解することで、セキュリティ要件に対して効果的なポリシーを作成できます。

## 考慮事項
<a name="security-hub-policy-considerations"></a>

Security Hub ポリシーを作成する前に、ポリシー構文に関する以下の重要なポイントを理解してください。
+ ポリシーは `enable_in_regions` と `disable_in_regions` の 両方のリストを含む必要がありますが、リストは空でも構いません。
+ 有効ポリシーの処理においては、`disable_in_regions` が `enable_in_regions` よりも優先されます
+ 子ポリシーは、明示的に制限されていない限り、継承演算子を使用して親ポリシーを変更できます
+ `ALL_SUPPORTED` 指定は、現在と将来のすべてのリージョンを含みます
+ 使用するリージョン名は有効で、Security Hub で利用可能である必要があります

## 基本的なポリシー構造
<a name="security-hub-basic-structure"></a>

Security Hub ポリシーは、次の基本構造を使用します。

```
{
  "securityhub": {
    "enable_in_regions": {
      "@@append": ["ALL_SUPPORTED"],
      "@@operators_allowed_for_child_policies": ["@@all"]
    },
    "disable_in_regions": {
      "@@append": [],
      "@@operators_allowed_for_child_policies": ["@@all"]
    }
  }
}
```

## ポリシーの構成要素
<a name="security-hub-policy-components"></a>

Security Hub ポリシーには、次の主要なコンポーネントが含まれます。

`securityhub`  
ポリシー設定用の最上位コンテナ  
すべての Security Hub ポリシーに必須

`enable_in_regions`  
Security Hub を有効にする必要があるリージョンのリスト  
特定のリージョン名または `ALL_SUPPORTED` を含めることができます  
必須フィールドですが、空にしておくこともできます  
`ALL_SUPPORTED` を使用すると、将来発生するリージョンも含まれます

`disable_in_regions`  
Security Hub を無効にする必要があるリージョンのリスト  
特定のリージョン名または `ALL_SUPPORTED` を含めることができます  
必須フィールドですが、空にしておくこともできます  
両方のリストに表示されるリージョンについては、`enable_in_regions` よりもこちらが優先されます

継承演算子  
@@assign – 継承された値を上書きします  
@@append – 既存の値に新しい値を追加します  
@@remove – 継承された設定から特定の値を削除します

## Security Hub ポリシーの例
<a name="security-hub-policy-examples"></a>

以下は、一般的な Security Hub ポリシー設定例を示します。

以下の例では、現在および将来発生するすべてのリージョンで Security Hub が有効となります。このポリシーは、`enable_in_regions` リストに `ALL_SUPPORTED` を使用して `disable_in_regions` を空のままにしておくことで、将来新しいリージョンが利用可能になったときに包括的なセキュリティカバレッジを保証します。

```
{
   "securityhub":{
      "enable_in_regions":{
         "@@assign":[
            "ALL_SUPPORTED"
         ]
      },
      "disable_in_regions":{
         "@@assign":[
            
         ]
      }
   }
}
```

この例では、`disable_in_regions` リストが `enable_in_regions` よりも優先されるため、将来発生するリージョンを含むすべてのリージョンで Security Hub が無効となります。

```
{
   "securityhub":{
      "enable_in_regions":{
         "@@assign":[
            "us-east-1",
            "us-west-2"
         ]
      },
      "disable_in_regions":{
         "@@assign":[
            "ALL_SUPPORTED"
         ]
      }
   }
}
```

次の例は、子ポリシーが継承演算子を使用して親ポリシー設定を変更する方法を示します。このアプローチにより、ポリシー構造全体を維持しながらきめ細かなコントロールを提供します。この子ポリシーは、`enable_in_regions` に新しいリージョンを追加し、`disable_in_regions` から別のリージョンを削除します。

```
{
   "securityhub":{
      "enable_in_regions":{
         "@@append":[
            "eu-central-1"
         ]
      },
      "disable_in_regions":{
         "@@remove":[
            "us-west-2"
         ]
      }
   }
}
```

この例は、`ALL_SUPPORTED` を使用せずに、複数の特定のリージョンで Security Hub を有効にする方法を示します。ここでは、Security Hub が有効化されているリージョンを確実に管理する一方で、指定されていないリージョンはこのポリシーで管理されない状態となります。

```
{
   "securityhub":{
      "enable_in_regions":{
         "@@assign":[
            "us-east-1",
            "us-west-2",
            "eu-west-1",
            "ap-southeast-1"
         ]
      },
      "disable_in_regions":{
         "@@assign":[
            
         ]
      }
   }
}
```

次の例は、ほとんどのリージョンで Security Hub を有効にする一方で特定の場所について明示的に無効にすることで、リージョン別コンプライアンス要件に対応する方法を示します。`disable_in_regions` リストが優先されるため、他のポリシー設定に関係なく、これらのリージョンで Security Hub は無効のままとなります。

```
{
   "securityhub":{
      "enable_in_regions":{
         "@@assign":[
            "ALL_SUPPORTED"
         ]
      },
      "disable_in_regions":{
         "@@assign":[
            "ap-east-1",
            "me-south-1"
         ]
      }
   }
}
```