

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

# ガードフックを作成する準備をする
<a name="guard-hooks-prepare-to-create-hook"></a>

ガードフックを作成する前に、次の前提条件を満たす必要があります。
+ ガードルールは作成済みである必要があります。詳細については、「[フックの書き込みガードルール](guard-hooks-write-rules.md)」を参照してください。
+ フックを作成するユーザーまたはロールには、フックをアクティブ化するための十分なアクセス許可が必要です。詳細については、「[CloudFormation フックの IAM アクセス許可を付与する](grant-iam-permissions-for-hooks.md)」を参照してください。
+  AWS CLI または SDK を使用してガードフックを作成するには、IAM アクセス許可と信頼ポリシーを持つ実行ロールを手動で作成して、CloudFormation がガードフックを呼び出せるようにする必要があります。

## ガードフックの実行ロールを作成する
<a name="guard-hooks-create-execution-role"></a>

フックは、 でそのフックを呼び出すために必要なアクセス許可の実行ロールを使用します AWS アカウント。

このロールは、 からガードフックを作成すると自動的に作成できます AWS マネジメントコンソール。それ以外の場合は、このロールを自分で作成する必要があります。

次のセクションでは、ガードフックを作成するためのアクセス許可を設定する方法を示します。

### 必要なアクセス許可
<a name="guard-hooks-execution-role-permissions"></a>

「*IAM ユーザーガイド*」の「[カスタム信頼ポリシーを使用してロールを作成する](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_create_for-custom.html)」のガイダンスに従って、カスタム信頼ポリシーを使用してロールを作成します。

次に、次の手順を実行してアクセス許可を設定します。

1. 次の最小権限ポリシーを、ガードフックの作成に使用する IAM ロールにアタッチします。

------
#### [ JSON ]

****  

   ```
   {
     "Version":"2012-10-17",		 	 	 
     "Statement": [
       {
         "Effect": "Allow",
         "Action": [
           "s3:ListBucket",
           "s3:GetObject",
           "s3:GetObjectVersion"
         ],
         "Resource": [
           "{{arn:aws:s3:::my-guard-output-bucket}}/*",
           "{{arn:aws:s3:::my-guard-rules-bucket}}"
         ]
       },
       {
         "Effect": "Allow",
         "Action": [
           "s3:PutObject"
         ],
         "Resource": [
           "{{arn:aws:s3:::my-guard-output-bucket/*}}"
         ]
       }
     ]
   }
   ```

------

1. ロールに信頼ポリシーを追加して、ロールを引き受けるアクセス許可をフックに付与します。以下は、使用できる信頼ポリシーの例です。

------
#### [ JSON ]

****  

   ```
   {
     "Version":"2012-10-17",		 	 	 
     "Statement": [
       {
         "Effect": "Allow",
         "Principal": {
           "Service": [
             "hooks.cloudformation.amazonaws.com"
           ]
         },
         "Action": "sts:AssumeRole"
       }
     ]
   }
   ```

------