アカウントでプロアクティブコントロールベースのフックをアクティブ化する - AWS CloudFormation

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

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

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

プロアクティブコントロールベースのフックをアクティブ化する (コンソール)

アカウントで使用するプロアクティブコントロールベースのフックをアクティブ化するには
  1. にサインイン AWS Management Console し、https://console.aws.amazon.com/cloudformation で AWS CloudFormation コンソールを開きます。

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

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

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

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

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

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

  7. フック名で、次のいずれかのオプションを選択します。

    • の後に追加される短いわかりやすい名前を指定しますPrivate::Controls::。たとえば、 と入力するとMyTestHook、完全なフック名は になりますPrivate::Controls::MyTestHook

    • 次の形式を使用して、完全なフック名 (エイリアスとも呼ばれます) を指定します: Provider::ServiceName::HookName

  8. フックモードでは、コントロールが評価に失敗したときにフックがどのように応答するかを選択します。

    • 警告 — ユーザーに警告を発行しますが、アクションを続行できます。これは、重要でない検証や情報チェックに役立ちます。

    • 失敗 — アクションが続行されないようにします。これは、厳格なコンプライアンスまたはセキュリティポリシーを適用するのに役立ちます。

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

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

    1. フィルタリング条件で、スタック名とスタックロールフィルターを適用するロジックを選択します。

      • すべてのスタック名とスタックロール – フックは、指定されたすべてのフィルターが一致する場合にのみ呼び出されます。

      • スタック名とスタックロール – 指定されたフィルターの少なくとも 1 つが一致すると、フックが呼び出されます。

    2. スタック名には、フック呼び出しに特定のスタックを含めるか除外します。

      • 含める には、含めるスタック名を指定します。これは、ターゲットにする特定のスタックの小さなセットがある場合に使用します。このリストで指定されたスタックのみがフックを呼び出します。

      • Exclude には、除外するスタック名を指定します。これは、ほとんどのスタックでフックを呼び出すが、いくつかの特定のスタックを除外する場合に使用します。ここにリストされているスタックを除くすべてのスタックは、 フックを呼び出します。

    3. スタックロールの場合、関連付けられた IAM ロールに基づいてフック呼び出しに特定のスタックを含めるか除外します。

      • Include には、これらのロールに関連付けられたスタックをターゲットにする 1 つ以上の IAM ロール ARNs を指定します。これらのロールによって開始されたスタックオペレーションのみがフックを呼び出します。

      • Exclude には、除外するスタックの 1 つ以上の IAM ロール ARNs を指定します。フックは、指定されたロールによって開始されたスタックを除くすべてのスタックで呼び出されます。

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

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

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

プロアクティブコントロールベースのフックをアクティブ化する (AWS CLI)

続行する前に、このフックで使用するプロアクティブコントロールを特定したことを確認してください。詳細については、AWS Control Tower 「 Control Catalog」を参照してください。

アカウントで使用するプロアクティブコントロールベースのフックをアクティブ化するには (AWS CLI)
  1. フックのアクティブ化を開始するには、次のactivate-typeコマンドを使用して、プレースホルダーを特定の値に置き換えます。

    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
  2. フックのアクティブ化を完了するには、JSON 設定ファイルを使用してフックを設定する必要があります。

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

    次の例では、 CREATEおよび UPDATEオペレーション中に特定の IAM、Amazon EC2、および Amazon S3 リソースで を呼び出すフックを設定します。3 つのプロアクティブコントロール (CT.IAM.PR.5CT.EC2.PR.17CT.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」を参照してください。

    • (オプション) TargetFilters: ではActions、フックが呼び出されるタイミングを制御するために、 CREATEまたは UPDATE、またはその両方 (デフォルト) を指定できます。CREATE 単独で指定すると、フックは CREATEオペレーションのみに制限されます。他のTargetFiltersプロパティは効果がありません。

  3. 次のset-type-configurationコマンドと作成した 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