設定通知的 Amazon SNS 主題 - 開發人員工具主控台

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

設定通知的 Amazon SNS 主題

設定通知最簡單方法是,在建立通知規則時建立 Amazon SNS 主題。如果現有 Amazon SNS 主題符合下列要求,您可以使用該主題:

  • 它的建立方式與 AWS 區域 您要建立通知規則的資源 (建置專案、部署應用程式、存放庫或管道) 相同。

  • 它尚未用於在 2019 年 11 月 5 日 CodeCommit 之前傳送通知。如果已使用,則其將包含啟用該功能時的政策陳述式。您可以選擇使用此主題,但是您將必須依照前面程序規定來加入其他的政策。如果在 2019 年 11 月 5 日之前,仍有一或多個儲存庫設定用於通知,則現有的政策陳述式即不應移除。

  • 它具有允許「通知」將 AWS CodeStar 通知發佈到主題的策略。

將 Amazon SNS 主題設定為用作通知通 AWS CodeStar 知規則的目標
  1. 登入 AWS Management Console 並開啟 Amazon SNS 主控台,網址為 https://console.aws.amazon.com/sns/v3/home

  2. 在導覽列中,選擇 Topics (主題)、選擇您要設定的主題,然後選擇 Edit (編輯)

  3. 展開 Access policy (存取政策),然後選擇 Advanced (進階)

  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" ], "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. 選擇儲存變更

  6. 如果您想要使用加 AWS KMS密的 Amazon SNS 主題傳送通知,您還必須在的政策中新增以下陳述式,以啟用事件來源 (AWS CodeStar 通知) 和加密主題之間的相容性。 AWS KMS key將 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 Key Management Service 開發人員指南中的靜態加密搭配 AWS KMS使用政策條件