通知用に Amazon SNS トピックを設定する - デベロッパーツールコンソール

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

通知用に Amazon SNS トピックを設定する

通知を設定する最も簡単な方法は、通知ルールを作成するときに Amazon SNS トピックを作成することです。以下の要件を満たしている場合は、既存の Amazon SNS トピックを使用できます。

  • 通知ルールを作成する対象のリソース (ビルドプロジェクト、デプロイアプリケーション、リポジトリ、またはパイプライン) と同じ AWS リージョン に作成されています。

  • 2019 年 11 月 5 日より前の CodeCommit の通知を送信するためには使用されていません。使用している場合は、その機能を有効にしたポリシーステートメントが含まれます。このトピックを使用することもできますが、手順で指定されているように、追加のポリシーを追加する必要があります。2019 年 11 月 5 日より前に通知用に 1 つ以上のリポジトリーが設定されている場合は、既存のポリシーステートメントを削除しないでください。

  • トピックに通知を発行することを AWS CodeStar Notifications に許可するポリシーがあります。

AWS CodeStar Notifications の通知ルールのターゲットとして使用する Amazon SNS トピックを設定するには
  1. AWS Management Console にサインインし、Amazon SNS コンソール (https://console.aws.amazon.com/sns/v3/home) を開きます。

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

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

  4. 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", "SNS:Receive" ], "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" } ] }
  5. [Save changes] (変更の保存) をクリックします。

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

    { "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" } } } ] }

    詳細については、「保管時の暗号化」および「AWS KMS でのポリシー条件の使用」のAWS Key Management Serviceデベロッパーガイドを参照してください。