

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

# 建立或設定通知規則目標
<a name="notification-target-create"></a>

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

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

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

如果您使用現有 Amazon SNS 主題，必須為它設定存取政策，以允許資源將通知傳送至該主題。如需範例，請參閱 [設定通知的 Amazon SNS 主題](set-up-sns.md)。

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

如果您想要擴展通知的範圍，您可以手動設定通知與 AWS Chatbot 之間的整合，以便將通知傳送到 Amazon Chime 聊天室。如需詳細資訊，請參閱[目標](concepts.md#targets)及[將通知與 AWS Chatbot 和 Amazon Chime 整合](notifications-chatbot.md#notifications-chatbot-chime)。<a name="notification-target-create-console"></a>

# 設定現有 Amazon SNS 主題做為通知規則目標 (主控台)
<a name="notification-target-create-console"></a>

1. 登入 AWS 管理主控台 並開啟位於 https：//[https://console.aws.amazon.com/sns/v3/home](https://console.aws.amazon.com/sns/v3/home) 的 Amazon SNS 主控台。

1. 於導覽列中，選擇 **Topics (主題)**。選擇主題，然後選擇 **Edit (編輯)**。

1. 展開 **Access policy (存取政策)**，然後選擇 **Advanced (進階)**。

1. 在 JSON 編輯器中，為政策新增下列陳述式。包含主題 ARN、、 AWS 帳戶 ID AWS 區域和主題名稱。

   ```
   	{
         "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. 選擇**儲存變更**。

1. 在 **Subscriptions (訂閱)** 中，檢閱主題訂閱者的清單。適當地新增、編輯或刪除此通知規則目標的訂閱者。請確定訂閱者清單只包含允許查看資源相關資訊的使用者。如需詳細資訊，請參閱[了解通知內容和安全性](security.md#security-notifications)。

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


1. 請依照 *AWS Chatbot 管理員指南*中的[在 Slack 中設定 AWS Chatbot](https://docs.aws.amazon.com/chatbot/latest/adminguide/slack-setup.html#slack-client-setup) 的指示操作。當您執行這項操作時，請考慮下列選項，以便與通知進行最佳整合：
   + 建立 IAM 角色時，請考慮選擇一個容易識別該角色的角色名稱 (例如 **AWSCodeStarNotifications-Chatbot-Slack-Role**)。這有助於識別未來角色的用途。
   + 在 **SNS 主題**中，您不需要選擇主題或 AWS 區域。當您選擇 AWS Chatbot 用戶端做為[目標](concepts.md#targets)時，系統會為 AWS Chatbot 用戶端建立和設定具有所有必要許可的 Amazon SNS 主題，做為通知規則建立程序的一部分。

1. 完成用戶端建立程序。然後，您可以在建立通知規則時選擇此用戶端做為目標。如需詳細資訊，請參閱[建立通知規則](notification-rule-create.md)。
**注意**  
設定 Amazon SNS 主題後，請勿將其從 AWS Chatbot 用戶端中移除。這樣做會讓通知無法傳送至 Slack。

# 使用 Microsoft Teams 建立 AWS Chatbot 用戶端以用作目標


1. 請依照《AWS Chatbot 管理員指南》**中的[在 Microsoft Teams 中設定 AWS Chatbot](https://docs.aws.amazon.com/chatbot/latest/adminguide/teams-setup.html#teams-client-setup) 的指示操作。當您執行這項操作時，請考慮下列選項，以便與通知進行最佳整合：
   + 建立 IAM 角色時，請考慮選擇一個容易識別該角色的角色名稱 (例如 **AWSCodeStarNotifications-Chatbot-Microsoft-Teams-Role**)。這有助於識別未來角色的用途。
   + 在 **SNS 主題**中，您不需要選擇主題或 AWS 區域。當您選擇 AWS Chatbot 用戶端做為[目標](concepts.md#targets)時，系統會為 AWS Chatbot 用戶端建立和設定具有所有必要許可的 Amazon SNS 主題，做為通知規則建立程序的一部分。

1. 完成用戶端建立程序。然後，您可以在建立通知規則時選擇此用戶端做為目標。如需詳細資訊，請參閱[建立通知規則](notification-rule-create.md)。
**注意**  
設定 Amazon SNS 主題後，請勿將其從 AWS Chatbot 用戶端中移除。這樣做會讓通知無法傳送至 Microsoft Teams。