

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

# 通知用に Amazon SNS トピックを設定する
<a name="set-up-sns"></a>

通知を設定する最も簡単な方法は、通知ルールを作成するときに Amazon SNS トピックを作成することです。以下の要件を満たしている場合は、既存の Amazon SNS トピックを使用できます。
+ これは、通知ルールを作成するリソース (ビルドプロジェクト、デプロイアプリケーション、リポジトリ、またはパイプライン) AWS リージョン と同じ に作成されました。
+ 2019 年 11 月 5 日より前の CodeCommit の通知を送信するためには使用されていません。使用している場合は、その機能を有効にしたポリシーステートメントが含まれます。このトピックを使用することもできますが、手順で指定されているように、追加のポリシーを追加する必要があります。2019 年 11 月 5 日より前に通知用に 1 つ以上のリポジトリーが設定されている場合は、既存のポリシーステートメントを削除しないでください。
+ これには、 AWS CodeStar Notifications がトピックに通知を発行することを許可するポリシーがあります。<a name="set-up-sns-procedure"></a>

**AWS CodeStar Notifications 通知ルールのターゲットとして使用するように Amazon SNS トピックを設定するには**

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

1. ナビゲーションバーで、[**トピック**] を選択し、設定するトピックを選択して、[**編集**] を選択します。

1. [**アクセスポリシー**]を展開し、**アドバンスト**を選択します。

1. JSON エディタで、ポリシーに次のポリシーステートメントを追加します。トピック ARN、 AWS リージョン AWS アカウント ID、トピック名を含めます。

   ```
   	{
         "Sid": "AWSCodeStarNotifications_publish",
         "Effect": "Allow",
         "Principal": {
           "Service": [
             "codestar-notifications.amazonaws.com"
           ]
         },
         "Action": "SNS:Publish",
         "Resource": "arn:aws:sns:us-east-2:123456789012:codestar-notifications-MyTopicForNotificationRules"
       }
   ```

   このポリシーステートメントは、次のようになります。

   ```
   {
     "Version": "2008-10-17",		 	 	 
     "Id": "__default_policy_ID",
     "Statement": [
       {
         "Sid": "__default_statement_ID",
         "Effect": "Allow",
         "Principal": {
           "AWS": "*"
         },
         "Action": [
           "SNS:GetTopicAttributes",
           "SNS:SetTopicAttributes",
           "SNS:AddPermission",
           "SNS:RemovePermission",
           "SNS:DeleteTopic",
           "SNS:Subscribe",
           "SNS:ListSubscriptionsByTopic",
           "SNS:Publish"
         ],
         "Resource": "arn:aws:sns:us-east-2:123456789012:codestar-notifications-MyTopicForNotificationRules",
         "Condition": {
           "StringEquals": {
             "AWS:SourceOwner": "123456789012"
           }
         }
       },
   	{
         "Sid": "AWSCodeStarNotifications_publish",
         "Effect": "Allow",
         "Principal": {
           "Service": [
             "codestar-notifications.amazonaws.com"
           ]
         },
         "Action": "SNS:Publish",
         "Resource": "arn:aws:sns:us-east-2:123456789012:codestar-notifications-MyTopicForNotificationRules"
       }
     ]
   }
   ```

1. **[Save changes]** (変更の保存) をクリックします。

1.  AWS KMS暗号化された Amazon SNS トピックを使用して通知を送信する場合は、次のステートメントを のポリシーに追加して、イベントソース (AWS CodeStar Notifications) と暗号化されたトピックとの互換性も有効にする必要があります AWS KMS key。 AWS リージョン (この例では us-east-2) を、キーが作成された AWS リージョン に置き換えます。

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

****  

   ```
   {
       "Version":"2012-10-17",		 	 	 
       "Statement": [
           {
               "Effect": "Allow",
               "Principal": {
                   "Service": "codestar-notifications.amazonaws.com"
               },
               "Action": [
                   "kms:GenerateDataKey*",
                   "kms:Decrypt"
               ],
               "Resource": "*",
               "Condition": {
                   "StringEquals": {
                       "kms:ViaService": "sns.us-east-2.amazonaws.com"
                   }
               }
           }
       ]
   }
   ```

------

   詳細については、「[保管時の暗号化](https://docs.aws.amazon.com/kms/latest/developerguide/sns-server-side-encryption.html#sns-what-permissions-for-sse)」および「[AWS KMSでのポリシー条件の使用](https://docs.aws.amazon.com/kms/latest/developerguide/policy-conditions.html)」の*AWS Key Management Service デベロッパーガイド*を参照してください。