本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
创建或配置通知规则目标
通知规则目标是为 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 主题以用作通知规则目标(控制台)
登录 AWS Management Console 并打开亚马逊 SNS 控制台,网址为 https://console.aws.amazon.com/sns/v3/home。
-
在导航栏中,选择主题。选择主题,然后选择 Edit (编辑)。
-
展开 Access policy (访问策略),然后选择 Advanced (高级)。
-
在 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
" } ] } -
选择保存更改。
-
在 Subscriptions (订阅) 中,查看主题订阅者的列表。添加、编辑或删除适用于此通知规则目标的订阅者。确保订阅者列表仅包含那些被允许查看有关资源的信息的用户。有关更多信息,请参阅 了解通知内容和安全性。
使用 Slack 创建用作目标的 AWS Chatbot 客户端
按照《AWS Chatbot 管理员指南》中的设置 AWS Chatbot 与 Slack 结合使用中的说明进行操作。执行此操作时,请考虑以下选项以实现与通知的最佳集成:
创建 IAM 角色时,请考虑选择一个角色名称,以便轻松识别此角色的用途(例如
AWSCodeStarNotifications-Chatbot-Slack-Role
)。这可以帮助您确定未来角色的用途。在 SNS 主题中,您无需选择主题或 AWS 区域。当您选择 AWS 聊天机器人客户端作为目标时,将在通知规则创建过程中为 AWS 聊天机器人客户端创建和配置具有所有所需权限的 Amazon SNS 主题。
-
完成客户端创建过程。然后,您可以在创建通知规则时选择此客户端作为目标。有关更多信息,请参阅 创建通知规则。
注意
在为您配置了 Amazon SNS 主题后,请勿将其从 AWS 聊天机器人客户端中删除。这样做将阻止向 Slack 发送通知。
使用 Microsoft Teams 创建 AWS 聊天机器人客户端以用作目标
按照《AWS Chatbot 管理员指南》中的设置 AWS Chatbot 与 Microsoft Teams 结合使用中的说明进行操作。执行此操作时,请考虑以下选项以实现与通知的最佳集成:
创建 IAM 角色时,请考虑选择一个角色名称,以便轻松识别此角色的用途(例如
AWSCodeStarNotifications-Chatbot-Microsoft-Teams-Role
)。这可以帮助您确定未来角色的用途。在 SNS 主题中,您无需选择主题或 AWS 区域。当您选择 AWS 聊天机器人客户端作为目标时,将在通知规则创建过程中为 AWS 聊天机器人客户端创建和配置具有所有所需权限的 Amazon SNS 主题。
-
完成客户端创建过程。然后,您可以在创建通知规则时选择此客户端作为目标。有关更多信息,请参阅 创建通知规则。
注意
在为您配置了 Amazon SNS 主题后,请勿将其从 AWS 聊天机器人客户端中删除。这样做将阻止向 Microsoft Teams 发送通知。