アカウントでガードフックをアクティブ化する - AWS CloudFormation

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

アカウントでガードフックをアクティブ化する

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

ガードフックをアクティブ化する (コンソール)

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

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

  3. Guard ルールをまだ作成していない場合は、Guard ルールを作成して Amazon S3 に保存し、この手順に戻ります。開始ガードフックのリソースを評価するためのガードルールを記述するするには、「」のルール例を参照してください。

    既に Guard ルールを作成して S3 に保存している場合は、次のステップに進みます。

    注記

    S3 に保存されるオブジェクトには、、.guard.zipまたは のいずれかのファイル拡張子が必要です.tar.gz

  4. Guard Hook ソースの場合、S3 に Guard ルールを保存します。次の操作を行います。

    • S3 URI の場合は、ルールファイルへの S3 パスを指定するか、S3 の参照ボタンを使用してダイアログボックスを開き、S3 オブジェクトを参照して選択します。

    • (オプション) オブジェクトバージョンで、S3 バケットでバージョニングが有効になっている場合は、S3 オブジェクトの特定のバージョンを選択できます。

      ガードフックは、フックが呼び出されるたびに S3 からルールをダウンロードします。誤って変更または削除されないように、ガードフックを設定するときは バージョンを使用することをお勧めします。

  5. (オプション) Guard 出力レポートの S3 バケットで、Guard 出力レポートを保存する S3 バケットを指定します。このレポートには、Guard ルールの検証結果が含まれます。

    出力レポートの宛先を設定するには、次のいずれかのオプションを選択します。

    • 「Guard ルールが保存されているのと同じバケットを使用する」チェックボックスをオンにして、Guard ルールが配置されているのと同じバケットを使用します。

    • Guard 出力レポートを保存する別の S3 バケット名を選択します。

  6. (オプション) ガードルール入力パラメータを展開し、S3 にガードルール入力パラメータを保存する」に次の情報を入力します。

    • S3 URI の場合は、パラメータファイルへの S3 パスを指定するか、S3 の参照ボタンを使用してダイアログボックスを開き、S3 オブジェクトを参照して選択します。

    • (オプション) オブジェクトバージョンで、S3 バケットでバージョニングが有効になっている場合は、S3 オブジェクトの特定のバージョンを選択できます。

  7. [Next (次へ)] を選択します。

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

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

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

  9. フックターゲットで、評価対象を選択します。

    • スタック — ユーザーがスタックを作成、更新、または削除するときに、スタックテンプレートを評価します。

    • リソース — ユーザーがスタックを更新するときに、個々のリソースの変更を評価します。

    • 変更セット — ユーザーが変更セットを作成するときに、計画された更新を評価します。

    • Cloud Control APICloud Control API によって開始された作成、更新、または削除オペレーションを評価します。

  10. アクション で、フックを呼び出すアクション (作成、更新、削除) を選択します。

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

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

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

  12. 実行ロール で、CloudFormation フックが S3 から Guard ルールを取得するために引き受ける IAM ロールを選択し、オプションで詳細な Guard 出力レポートを書き戻します。CloudFormation が実行ロールを自動的に作成できるようにするか、作成したロールを指定できます。

  13. [Next (次へ)] を選択します。

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

    1. リソースフィルターで、フックを呼び出すことができるリソースタイプを指定します。これにより、フックは関連するリソースに対してのみ呼び出されます。

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

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

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

      注記

      Cloud Control API オペレーションでは、すべてのスタック名スタックロールフィルターは無視されます。

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

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

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

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

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

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

  15. [Next (次へ)] を選択します。

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

  17. 続行する準備ができたら、フックのアクティブ化を選択します。

ガードフックをアクティブ化する (AWS CLI)

続行する前に、このフックで使用する Guard ルールと実行ロールが作成されていることを確認します。詳細については、ガードフックのリソースを評価するためのガードルールを記述するおよびガードフックの実行ロールを作成するを参照してください。

アカウントで使用するガードフックをアクティブ化するには (AWS CLI)
  1. フックのアクティブ化を開始するには、次のactivate-typeコマンドを使用して、プレースホルダーを特定の値に置き換えます。このコマンドは、 フックが から指定された実行ロールを使用することを許可します AWS アカウント。

    aws cloudformation activate-type --type HOOK \ --type-name AWS::Hooks::GuardHook \ --publisher-id aws-hooks \ --type-name-alias Private::Guard::MyTestHook \ --execution-role arn:aws:iam::123456789012:role/my-execution-role \ --region us-west-2
  2. フックのアクティブ化を完了するには、JSON 設定ファイルを使用してフックを設定する必要があります。

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

    $ cat > config.json { "CloudFormationConfiguration": { "HookConfiguration": { "HookInvocationStatus": "ENABLED", "TargetOperations": [ "STACK", "RESOURCE", "CHANGE_SET" ], "FailureMode": "WARN", "Properties": { "ruleLocation": "s3://amzn-s3-demo-bucket/MyGuardRules.guard", "logBucket": "amzn-s3-demo-logging-bucket" } } } }
    • HookInvocationStatus: フックを有効にするENABLEDには、 に設定します。

    • TargetOperations: フックを実行するオペレーションを指定します。

    • FailureMode: FAIL または WARN に設定します。

    • ruleLocation: ルールが保存されている S3 URI に置き換えます。S3 に保存されるオブジェクトには、、.guard.zipおよび のいずれかのファイル拡張子が必要です.tar.gz

    • logBucket: (オプション) Guard JSON レポートの S3 バケットの名前を指定します。

  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/MyTestHook" \ --region us-west-2

CloudFormation スタックテンプレートで Guard Hook を宣言する方法を理解するために使用できるテンプレートの例を示します。詳細については、AWS CloudFormation  ユーザーガイドの AWS::CloudFormation::GuardHookを参照してください。