在 Incident Manager 中使用聊天频道 - Incident Manager

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

在 Incident Manager 中使用聊天频道

Incident Manager 是一种 AWS Systems Manager 功能,使事件响应者能够在事件发生期间直接通过聊天频道进行沟通。聊天频道是您在 AWS Chatbot 中设置的聊天室。然后,您可以将该频道连接到 Incident Manager 中的响应计划。

在事件发生期间,响应者使用聊天频道就事件相互沟通。Incident Manager 还会将有关事件的所有更新和通知直接推送到聊天频道。它会使用您在聊天室配置中指定的一个或多个 Amazon Simple Notification Service (Amazon SNS) 主题发送这些通知。

AWS Chatbot 和 Incident Manager 支持以下应用程序中的聊天频道:

  • Slack

  • Microsoft Teams

  • Amazon Chime

在事件中设置聊天频道的过程包括在三种不同的 Amazon Web Services 服务中执行任务。

任务 1:为您的聊天频道创建或更新 Amazon SNS 主题

Amazon SNS 是一项托管服务,提供从发布者向订阅者(也称为创建者使用者)的消息传输。发布者通过将消息发送至主题与订阅者进行异步交流,主题是一个逻辑访问点和通信渠道。Incident Manager 使用与响应计划关联的一个或多个主题,向事件响应者发送有关事件的通知。

在响应计划中,您可以在事件通知中加入一个或多个 Amazon SNS 主题。作为最佳实践,您应该在复制集中添加的每个 AWS 区域 中创建一个 SNS 主题。

提示

要使设置工作流程更有条理,我们建议您先配置 Amazon SNS 主题,以便与 Incident Manager 一起使用。配置完成后,您就可以创建聊天频道了。

要为您的聊天频道创建或更新 Amazon SNS 主题
  1. 请按照《Amazon Simple Notification Service 开发人员指南》中的创建 Amazon SNS 主题的步骤进行操作。

    注意

    创建主题后,编辑主题以更新其访问策略。

  2. 选择创建的主题,并记下或复制主题的 Amazon 资源名称 (ARN),格式如 arn:aws:sns:us-east-2:111122223333:My_SNS_topic

  3. 选择编辑,然后展开访问策略部分,配置默认值之外的其他访问权限。

  4. 将以下语句添加到策略的语句数组:

    { "Sid": "IncidentManagerSNSPublishingPermissions", "Effect": "Allow", "Principal": { "Service": "ssm-incidents.amazonaws.com" }, "Action": "SNS:Publish", "Resource": "sns-topic-arn", "Condition": { "StringEqualsIfExists": { "AWS:SourceAccount": "account-id" } } }

    按如下方式替换占位符值

    • snsnsopic-arn 是您为该区域创建的主题的 Amazon 资源名称(ARN),格式为 arn:aws:sns:us-east-2:111122223333:My_SNS_topic

    • account-id 是您正在使用的 AWS 账户 的 ID,例如 111122223333

  5. 选择保存更改

  6. 在复制集中包含的每个区域重复该过程。

任务 2:在 AWS Chatbot 中创建聊频道

您可以在 Slack、Microsoft Teams 或 Amazon Chime 中创建聊天频道。每个响应计划只需一个聊天频道。

对于您的聊天频道,我们建议您遵循最低权限原则(不要向用户提供超过完成任务所需的权限)。您还应定期查看 AWS Chatbot 聊天频道的成员情况。查看有助于检查只有相应的响应者和其他利益相关者才能访问聊天频道。

在启用了 AWS Chatbot 的 Slack 频道和 Microsoft Teams 频道中,事件响应者可以直接从 Slack 或 Microsoft Teams 应用程序中运行大量 Incident Manager CLI 命令。有关更多信息,请参阅 通过聊天频道进行互动

重要

您添加到聊天频道的用户必须与上报或响应计划中列出的联系人相同。您还可以向聊天频道添加其他用户,例如利益相关者和事件观察者。

有关 AWS Chatbot 的一般信息,请参阅《AWS Chatbot 管理员指南》中的什么是 AWS Chatbot?。

从以下应用程序中进行选择以创建您的频道:

Slack

该步骤提供了建议的权限设置,允许所有频道用户使用 Incident Manager 的聊天命令。使用支持的聊天命令,您的事件响应者可直接从 Slack 聊天频道更新事件并与之互动。有关信息,请参阅 通过聊天频道进行互动

要在 Slack 中创建聊天频道
  • 按照《AWS Chatbot 管理员指南》中的教程:开始使用 Slack 中的步骤进行操作,并在配置中加入以下内容。

    • 在步骤 10 中,对于角色设置,选择 频道角色

    • 在步骤 10d 中,对于策略模板,选择Incident Manager 权限

    • 在步骤 11 中,对于频道防护机制策略,在策略名称中,选择 AWSIncidentManagerResolverAccess

    • 在步骤 12 中的 SNS 主题部分,执行以下操作:

      • 对于区域 1,选择您的复制集中包含的 AWS 区域。

      • 对于主题 1,选择您在该区域创建的 SNS 主题,用于向聊天频道发送事件通知。

      • 对于复制集中的每个其他区域,请选择添加其他区域,然后添加其他区域和 SNS 主题。

Microsoft Teams

该步骤提供了建议的权限设置,允许所有频道用户使用 Incident Manager 的聊天命令。使用支持的聊天命令,您的事件响应者可直接从 Microsoft Teams 聊天频道更新事件并与之互动。有关信息,请参阅 通过聊天频道进行互动

要在 Microsoft Teams 中创建聊天频道
  • 按照《AWS Chatbot 管理员指南》中的教程:开始使用 Microsoft Teams 中的步骤进行操作,并在配置中加入以下内容:

    • 在步骤 10 中,对于角色设置,选择 频道角色

    • 在步骤 10d 中,对于策略模板,选择Incident Manager 权限

    • 在步骤 11 中,对于频道防护机制策略,在策略名称中,选择 AWSIncidentManagerResolverAccess

    • 在步骤 12 中的 SNS 主题部分,执行以下操作:

      • 对于区域 1,选择您的复制集中包含的 AWS 区域。

      • 对于主题 1,选择您在该区域创建的 SNS 主题,用于向聊天频道发送事件通知。

      • 对于复制集中的每个其他区域,请选择添加其他区域,然后添加其他区域和 SNS 主题。

Amazon Chime
要在 Amazon Chime 中创建聊天频道
  • 按照《AWS Chatbot 管理员指南》中的教程:开始使用 Amazon Chime中的步骤进行操作,并在配置中加入以下内容:

    • 在步骤 11 中,对于策略模板,选择 Incident Manager 权限

    • 在步骤 12 中,在 SNS 主题部分,选择将向 Amazon Chime 网络钩子发送通知的 SNS 主题:

      • 对于区域 1,选择您的复制集中包含的 AWS 区域。

      • 对于主题 1,选择您在该区域创建的 SNS 主题,用于向聊天频道发送事件通知。

      • 对于复制集中的每个其他区域,请选择添加其他区域,然后添加其他区域和 SNS 主题。

注意

Amazon Chime 不支持事件响应者可在 Slack 和 Microsoft Teams 聊天频道中使用的聊天命令。

任务 3:将聊天频道添加到 Incident Manager 的响应计划中

创建或更新响应计划时,您可以添加聊天渠道,供响应者通过聊天频道进行沟通和接收更新。

按照 制定响应计划 中的步骤操作时,在 (可选)指定事件响应聊天频道 部分中,选择要用于处理与该响应计划相关的事件的频道。

通过聊天频道进行互动

对于 Slack 和 Microsoft Teams 中的频道,Incident Manager 允许响应者使用以下 ssm-incidents 命令直接从聊天频道与事件进行互动:

要在活动事件的聊天频道中运行命令,请使用以下格式。将 cli-options 替换为要包含在命令中的任何选项。

@aws ssm-incidents cli-options

例如:

@aws ssm-incidents start-incident --response-plan-arn arn:aws:ssm-incidents::111122223333:response-plan/test-response-plan-chat --region us-east-2
@aws ssm-incidents create-timeline-event --event-data "\"example timeline event"\" --event-time 2023-03-31 T20:30:00.000 --event-type Custom Event --incident-record-arn arn:aws:ssm-incidents::111122223333:incident-record/MyResponsePlanChat/98c397e6-7c10-aa10-9b86-f199aEXAMPLE
@aws ssm-incidents list-incident-records