

本文属于机器翻译版本。若本译文内容与英语原文存在差异，则一律以英文原文为准。

# 创建或配置通知规则目标
<a name="notification-target-create"></a>

通知规则目标是为 Slack 或 Microsoft Teams 频道配置的亚马逊 SNS 主题或 AWS 聊天机器人客户端。

必须先创建 AWS Chatbot 客户端，然后才能选择客户作为目标。当您选择 AWS 聊天机器人客户端作为通知规则的目标时，系统会为该 AWS 聊天机器人客户端配置一个 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 权限不同。建议不使用这些主题。如果要使用为该体验创建的策略，则除了已有的 AWS CodeStar 通知策略外，还必须添加所需的通知策略。有关更多信息，请参阅[配置通知的 Amazon SNS 主题](set-up-sns.md)和[了解通知内容和安全性](security.md#security-notifications)。

如果您想扩大通知的覆盖范围，可以手动配置通知和 AWS 聊天机器人之间的集成，以便将通知发送到 Amazon Chime 聊天室。有关更多信息，请参阅[Targets](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 管理控制台 并在 v3/home 上打开亚马逊 SNS 控制台。https://console.aws.amazon.com/sns/](https://console.aws.amazon.com/sns/v3/home)

1. 在导航栏中，选择**主题**。选择主题，然后选择 **Edit (编辑)**。

1. 展开 **Access policy (访问策略)**，然后选择 **Advanced (高级)**。

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. 选择**保存更改**。

1. 在 **Subscriptions (订阅)** 中，查看主题订阅者的列表。添加、编辑或删除适用于此通知规则目标的订阅者。确保订阅者列表仅包含那些被允许查看有关资源的信息的用户。有关更多信息，请参阅 [了解通知内容和安全性](security.md#security-notifications)。

# 使用 Slack 创建用作目标的 AWS Chatbot 客户端


1. 按照《AWS Chatbot 管理员指南》**中的[设置 AWS Chatbot 与 Slack 结合使用](https://docs.aws.amazon.com/chatbot/latest/adminguide/slack-setup.html#slack-client-setup)中的说明进行操作。执行此操作时，请考虑以下选项以实现与通知的最佳集成：
   + 创建 IAM 角色时，请考虑选择一个角色名称，以便轻松识别此角色的用途（例如 **AWSCodeStarNotifications-Chatbot-Slack-Role**）。这可以帮助您确定未来角色的用途。
   + 在 **SNS 主题**中，您不必选择主题或 AWS 区域。当您选择 AWS 聊天机器人客户端作为[目标](concepts.md#targets)时，将在通知规则创建过程中为 AWS 聊天机器人客户端创建和配置具有所有所需权限的 Amazon SNS 主题。

1. 完成客户端创建过程。然后，您可以在创建通知规则时选择此客户端作为目标。有关更多信息，请参阅 [创建通知规则](notification-rule-create.md)。
**注意**  
在为您配置了 Amazon SNS 主题后，请勿将其从 AWS 聊天机器人客户端中删除。这样做将阻止向 Slack 发送通知。

# 使用 Microsoft Teams 创建 AWS 聊天机器人客户端，将其用作目标


1. 按照《AWS Chatbot 管理员指南》**中的[设置 AWS Chatbot 与 Microsoft Teams 结合使用](https://docs.aws.amazon.com/chatbot/latest/adminguide/teams-setup.html#teams-client-setup)中的说明进行操作。执行此操作时，请考虑以下选项以实现与通知的最佳集成：
   + 创建 IAM 角色时，请考虑选择一个角色名称，以便轻松识别此角色的用途（例如 **AWSCodeStarNotifications-Chatbot-Microsoft-Teams-Role**）。这可以帮助您确定未来角色的用途。
   + 在 **SNS 主题**中，您不必选择主题或 AWS 区域。当您选择 AWS 聊天机器人客户端作为[目标](concepts.md#targets)时，将在通知规则创建过程中为 AWS 聊天机器人客户端创建和配置具有所有所需权限的 Amazon SNS 主题。

1. 完成客户端创建过程。然后，您可以在创建通知规则时选择此客户端作为目标。有关更多信息，请参阅 [创建通知规则](notification-rule-create.md)。
**注意**  
在为您配置了 Amazon SNS 主题后，请勿将其从 AWS 聊天机器人客户端中删除。这样做将阻止向 Microsoft Teams 发送通知。