建立或設定通知規則目標 - 開發人員工具主控台

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

建立或設定通知規則目標

通知規則目標是針對 Slack 或 Microsoft 團隊通道設定的 Amazon SNS 主題或 AWS Chatbot 用戶端。

您必須先建立 AWS Chatbot 用戶端,才能選取用戶端做為目標。當您選擇 AWS Chatbot 用戶端作為通知規則的目標時,系統會為該 AWS Chatbot 用戶端設定 Amazon SNS 主題,其中包含將通知傳送至 Slack 或 Microsoft Teams 頻道所需的所有政策。您不需要為 AWS Chatbot 用戶端設定任何現有的 Amazon SNS 主題。

建立通知規則時,您可以在開發人員工具主控台中建立 Amazon SNS 通知規則目標。將會為您套用允許通知傳送至該主題的政策。這是為通知規則建立目標的最簡單方法。如需詳細資訊,請參閱 建立通知規則

如果您使用現有 Amazon SNS 主題,必須為它設定存取政策,以允許資源將通知傳送至該主題。如需範例,請參閱設定通知的 Amazon SNS 主題

注意

如果您要使用現有 Amazon SNS 主題而非建立新主題,請在 Targets (目標) 中選擇其 ARN。請確定主題具有適當的存取政策,而且訂閱者清單只包含允許查看資源相關資訊的使用者。如果 Amazon SNS 主題是在 2019 年 11 月 5 日之前用於 CodeCommit 通知的主題,則該主題將包含允許發佈 CodeCommit 到該主題的政策,該主題包含與 AWS CodeStar 通知所需權限不同的政策。不建議使用這些主題。如果您想要使用針對該體驗建立的原則,除了已存在的原則之外,您還必須新增 AWS CodeStar 通知的必要原則。如需詳細資訊,請參閱 設定通知的 Amazon SNS 主題了解通知內容和安全性

如果您想要擴大通知的範圍,可以手動設定通知與 C AWS hatbot 之間的整合,以便將通知傳送到 Amazon Chime 聊天室。如需詳細資訊,請參閱「目標」及「將通知與 AWS Chatbot 和 Amazon Chime 整合」。

設定現有 Amazon SNS 主題做為通知規則目標 (主控台)

  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. Subscriptions (訂閱) 中,檢閱主題訂閱者的清單。適當地新增、編輯或刪除此通知規則目標的訂閱者。請確定訂閱者清單只包含允許查看資源相關資訊的使用者。如需詳細資訊,請參閱 了解通知內容和安全性

使用 Slack 建立 AWS Chatbot 用戶端以用作目標

  1. 請依照 AWS Chatbot 管理員指南中的在 Slack 中設定 AWS Chatbot 的指示操作。當您執行這項操作時,請考慮下列選項,以便與通知進行最佳整合:

    • 建立 IAM 角色時,請考慮選擇一個容易識別該角色的角色名稱 (例如 AWSCodeStarNotifications-Chatbot-Slack-Role)。這有助於識別未來角色的用途。

    • SNS 主題中,您不必選擇主題或 AWS 地區。當您選擇 AWS Chatbot 用戶端做為目標時,系統會為 C AWS hatbot 用戶端建立並設定具有所有必要許可的 Amazon SNS 主題,作為通知規則建立程序的一部分。

  2. 完成用戶端建立程序。然後,您可以在建立通知規則時選擇此用戶端做為目標。如需詳細資訊,請參閱 建立通知規則

    注意

    為您設定 Amazon SNS 主題後,請勿從 AWS Chatbot 用戶端移除該主題。這樣做會讓通知無法傳送至 Slack。

使用 Microsoft 團隊創建 AWS Chatbot 客戶端以用作目標

  1. 請依照《AWS Chatbot 管理員指南》中的在 Microsoft Teams 中設定 AWS Chatbot 的指示操作。當您執行這項操作時,請考慮下列選項,以便與通知進行最佳整合:

    • 建立 IAM 角色時,請考慮選擇一個容易識別該角色的角色名稱 (例如 AWSCodeStarNotifications-Chatbot-Microsoft-Teams-Role)。這有助於識別未來角色的用途。

    • SNS 主題中,您不必選擇主題或 AWS 地區。當您選擇 AWS Chatbot 用戶端做為目標時,系統會為 C AWS hatbot 用戶端建立並設定具有所有必要許可的 Amazon SNS 主題,作為通知規則建立程序的一部分。

  2. 完成用戶端建立程序。然後,您可以在建立通知規則時選擇此用戶端做為目標。如需詳細資訊,請參閱 建立通知規則

    注意

    為您設定 Amazon SNS 主題後,請勿從 AWS Chatbot 用戶端移除該主題。這樣做會讓通知無法傳送至 Microsoft Teams。