创建或配置通知规则目标 - 开发工具控制台

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

创建或配置通知规则目标

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

必须先创建 AWS Chatbot 客户端,然后才能选择客户作为目标。当您选择 AWS 聊天机器人客户端作为通知规则的目标时,将为该 AWS 聊天机器人客户端配置一个 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 主题了解通知内容和安全性

如果您想扩大通知的覆盖范围,可以手动配置通知和 AWS 聊天机器人之间的集成,以便将通知发送到 Amazon Chime 聊天室。有关更多信息,请参阅 目标将通知与 AWS Chatbot 和 Amazon Chime 集成

配置现有 Amazon SNS 主题以用作通知规则目标(控制台)

  1. 登录 AWS Management Console 并打开亚马逊 SNS 控制台,网址为 https://console.aws.amazon.com/sns/v3/home。

  2. 在导航栏中,选择主题。选择主题,然后选择 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 管理员指南》中的设置 AWS Chatbot 与 Slack 结合使用中的说明进行操作。执行此操作时,请考虑以下选项以实现与通知的最佳集成:

    • 创建 IAM 角色时,请考虑选择一个角色名称,以便轻松识别此角色的用途(例如 AWSCodeStarNotifications-Chatbot-Slack-Role)。这可以帮助您确定未来角色的用途。

    • SNS 主题中,您无需选择主题或 AWS 区域。当您选择 AWS 聊天机器人客户端作为目标时,将在通知规则创建过程中为 AWS 聊天机器人客户端创建和配置具有所有所需权限的 Amazon SNS 主题。

  2. 完成客户端创建过程。然后,您可以在创建通知规则时选择此客户端作为目标。有关更多信息,请参阅 创建通知规则

    注意

    在为您配置了 Amazon SNS 主题后,请勿将其从 AWS 聊天机器人客户端中删除。这样做将阻止向 Slack 发送通知。

使用 Microsoft Teams 创建 AWS 聊天机器人客户端以用作目标

  1. 按照《AWS Chatbot 管理员指南》中的设置 AWS Chatbot 与 Microsoft Teams 结合使用中的说明进行操作。执行此操作时,请考虑以下选项以实现与通知的最佳集成:

    • 创建 IAM 角色时,请考虑选择一个角色名称,以便轻松识别此角色的用途(例如 AWSCodeStarNotifications-Chatbot-Microsoft-Teams-Role)。这可以帮助您确定未来角色的用途。

    • SNS 主题中,您无需选择主题或 AWS 区域。当您选择 AWS 聊天机器人客户端作为目标时,将在通知规则创建过程中为 AWS 聊天机器人客户端创建和配置具有所有所需权限的 Amazon SNS 主题。

  2. 完成客户端创建过程。然后,您可以在创建通知规则时选择此客户端作为目标。有关更多信息,请参阅 创建通知规则

    注意

    在为您配置了 Amazon SNS 主题后,请勿将其从 AWS 聊天机器人客户端中删除。这样做将阻止向 Microsoft Teams 发送通知。