

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

# アカウントでプロアクティブコントロールベースのフックをアクティブ化する
<a name="proactive-controls-hooks-activate-hooks"></a>

次のトピックでは、アカウントでプロアクティブコントロールベースのフックをアクティブ化する方法を示します。これにより、アクティブ化されたアカウントとリージョンで使用できます。

**重要**  
続行する前に、フックを操作し、CloudFormation コンソールからプロアクティブコントロールを表示するために必要なアクセス許可があることを確認してください。詳細については、「[CloudFormation フックの IAM アクセス許可を付与する](grant-iam-permissions-for-hooks.md)」を参照してください。

**Topics**
+ [プロアクティブコントロールベースのフックをアクティブ化する (コンソール)](#proactive-controls-hooks-activate-hook-console)
+ [プロアクティブコントロールベースのフックをアクティブ化する (AWS CLI)](#proactive-controls-hooks-activate-hooks-cli)

## プロアクティブコントロールベースのフックをアクティブ化する (コンソール)
<a name="proactive-controls-hooks-activate-hook-console"></a>

**アカウントで使用するプロアクティブコントロールベースのフックをアクティブ化するには**

1. にサインイン AWS マネジメントコンソール し、[https://console.aws.amazon.com/cloudformation](https://console.aws.amazon.com/cloudformation/) で CloudFormation コンソールを開きます。

1. 画面上部のナビゲーションバーで、フックを作成する AWS リージョン を選択します。

1. 左側のナビゲーションペインで、**フック**を選択します。

1. **フック**ページで、**フックの作成**を選択し、**コントロールカタログで** を選択します。

1. **「コントロールの選択**」ページの**「プロアクティブコントロール**」で、使用する 1 つ以上のプロアクティブコントロールを選択します。

   これらのコントロールは、指定されたリソースが作成または更新されるたびに自動的に適用されます。選択によって、フックが評価するリソースタイプが決まります。

1. [**次へ**] を選択します。

1. **フック名**で、次のいずれかのオプションを選択します。
   + の後に追加される短いわかりやすい名前を指定します`Private::Controls::`。たとえば、 と入力すると{{`MyTestHook`}}、完全なフック名は になります`Private::Controls::{{MyTestHook}}`。
   + 次の形式を使用して、完全なフック名 (エイリアスとも呼ばれます) を指定します: `{{Provider}}::{{ServiceName}}::{{HookName}}`。

1. **フックモードでは**、コントロールが評価に失敗したときにフックがどのように応答するかを選択します。
   + **警告** — ユーザーに警告を発行しますが、アクションを続行できます。これは、重要でない検証や情報チェックに役立ちます。
   + **失敗** — アクションが続行されないようにします。これは、厳格なコンプライアンスまたはセキュリティポリシーを適用するのに役立ちます。

1. [**次へ**] を選択します。

1. (オプション) **フックフィルター**の場合は、次の操作を行います。

   1. **フィルタリング条件**で、スタック名とスタックロールフィルターを適用するロジックを選択します。
      + **すべてのスタック名とスタックロール** – フックは、指定されたすべてのフィルターが一致する場合にのみ呼び出されます。
      + **スタック名とスタックロール** – 指定されたフィルターの少なくとも 1 つが一致すると、フックが呼び出されます。

   1. **スタック名**には、フック呼び出しに特定のスタックを含めるか除外します。
      + **含める** には、含めるスタック名を指定します。これは、ターゲットにする特定のスタックの小さなセットがある場合に使用します。このリストで指定されたスタックのみがフックを呼び出します。
      + **Exclude** には、除外するスタック名を指定します。これは、ほとんどのスタックでフックを呼び出すが、いくつかの特定のスタックを除外する場合に使用します。ここにリストされているスタックを除くすべてのスタックは、 フックを呼び出します。

   1. **スタックロール**の場合、関連付けられた IAM ロールに基づいてフック呼び出しに特定のスタックを含めるか除外します。
      + **Include** には、これらのロールに関連付けられたスタックをターゲットにする 1 つ以上の IAM ロール ARNs を指定します。これらのロールによって開始されたスタックオペレーションのみがフックを呼び出します。
      + **Exclude** には、除外するスタックの 1 つ以上の IAM ロール ARNs を指定します。フックは、指定されたロールによって開始されたスタックを除くすべてのスタックで呼び出されます。

1. [**次へ**] を選択します。

1. **確認とアクティブ化**ページで、選択内容を確認します。変更するには、関連セクションで [**編集**] をクリックします。

1. 続行する準備ができたら、**Activate Hook** を選択します。

## プロアクティブコントロールベースのフックをアクティブ化する (AWS CLI)
<a name="proactive-controls-hooks-activate-hooks-cli"></a>

続行する前に、このフックで使用するプロアクティブコントロールを特定したことを確認してください。詳細については、[AWS Control Tower 「コントロールカタログ](https://docs.aws.amazon.com/controltower/latest/controlreference/controls-reference.html)」を参照してください。

**アカウントで使用するプロアクティブコントロールベースのフックをアクティブ化するには (AWS CLI)**

1. フックのアクティブ化を開始するには、次の[https://docs.aws.amazon.com/cli/latest/reference/cloudformation/activate-type.html](https://docs.aws.amazon.com/cli/latest/reference/cloudformation/activate-type.html)コマンドを使用して、プレースホルダーを特定の値に置き換えます。

   ```
   aws cloudformation activate-type --type HOOK \
     --type-name AWS::ControlTower::Hook  \
     --publisher-id aws-hooks \
     --type-name-alias {{MyOrg::Security::ComplianceHook}} \
     --region {{us-west-2}}
   ```

1. フックのアクティブ化を完了するには、JSON 設定ファイルを使用してフックを設定する必要があります。

   **cat** コマンドを使用して、次の構造で JSON ファイルを作成します。詳細については、「[フック設定スキーマ構文リファレンス](hook-configuration-schema.md)」を参照してください。

   次の例では、 `CREATE`および `UPDATE`オペレーション中に特定の IAM、Amazon EC2、および Amazon S3 リソースで を呼び出すフックを設定します。3 つのプロアクティブコントロール (`CT.IAM.PR.5`、`CT.EC2.PR.17`、`CT.S3.PR.12`) を適用して、これらのリソースをコンプライアンス標準に照らして検証します。フックは `WARN` モードで動作します。つまり、警告付きの非準拠リソースにフラグが付けられますが、デプロイはブロックされません。

   ```
   $ cat > config.json
   {
     "CloudFormationConfiguration": {
       "HookConfiguration": {
         "HookInvocationStatus": "{{ENABLED}}",
         "TargetOperations": ["RESOURCE"],
         "FailureMode": "{{WARN}}",
         "Properties": {
           "ControlsToApply": "{{CT.IAM.PR.5,CT.EC2.PR.17,CT.S3.PR.12}}"
         },
         "TargetFilters": {
           "Actions": [
             "{{CREATE}}",
             "{{UPDATE}}"
           ]
         }
       }
     }
   }
   ```
   + `HookInvocationStatus`: フックを有効にする`ENABLED`には、 に設定します。
   + `TargetOperations`: これはプロアクティブコントロールベースのフックでサポートされている唯一の値`RESOURCE`であるため、 に設定します。
   + `FailureMode`: `FAIL` または `WARN` に設定します。
   + `ControlsToApply`: 使用するプロアクティブコントロールのコントロール IDs を指定します。詳細については、[AWS Control Tower 「 Control Catalog](https://docs.aws.amazon.com/controltower/latest/controlreference/controls-reference.html)」を参照してください。
   + (オプション) `TargetFilters`: では`Actions`、フックが呼び出されるタイミングを制御するために、 `CREATE`または `UPDATE`、またはその両方 (デフォルト) を指定できます。`CREATE` 単独で指定すると、フックは `CREATE`オペレーションのみに制限されます。他の`TargetFilters`プロパティは効果がありません。

1. 次の[https://docs.aws.amazon.com/cli/latest/reference/cloudformation/set-type-configuration.html](https://docs.aws.amazon.com/cli/latest/reference/cloudformation/set-type-configuration.html)コマンドと作成した JSON ファイルを使用して、設定を適用します。プレースホルダーを特定の値に置き換えます。

   ```
   aws cloudformation set-type-configuration \
     --configuration {{file://config.json}} \
     --type-arn {{"arn:aws:cloudformation:us-west-2:123456789012:type/hook/MyOrg-Security-ComplianceHook"}} \
     --region {{us-west-2}}
   ```