在事件管理器中为响应者创建和集成聊天频道 - Incident Manager

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

在事件管理器中为响应者创建和集成聊天频道

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

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

AWS Chatbot 和事件管理器支持以下应用程序中的聊天频道:

  • Slack

  • Microsoft Teams

  • Amazon Chime

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

任务 1:为您的聊天频道创建或更新亚马逊SNS话题

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

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

提示

要获得更线性的设置工作流程,我们建议您先配置您的 Amazon SNS 主题,以便与事件管理器一起使用。配置完成后,您就可以创建聊天频道了。

为您的聊天频道创建或更新 Amazon SNS 话题
  1. 按照《亚马逊简单通知服务开发者指南》中 “创建亚马逊” 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" } } }

    更换 placeholder values 如下所示:

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

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

  5. 选择 Save changes(保存更改)

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

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

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

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

In Slack 频道和 Microsoft Teams 在中创建的频道 AWS Chatbot,事件响应者可以直接从中运行多个事件管理器CLI命令 Slack 或者 Microsoft Teams 应用程序的修订。有关更多信息,请参阅 通过聊天频道进行互动

重要

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

有关的一般信息 AWS Chatbot,请参阅《AWS Chatbot 管理员指南》 AWS Chatbot中的内容

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

Slack

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

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

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

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

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

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

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

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

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

Microsoft Teams

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

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

    • 在步骤 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 webhook 发送通知SNS的主题:

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

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

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

注意

聊天命令,事件响应者可以在其中使用这些命令 Slack 以及 Microsoft Teams Amazon Chime 不支持聊天频道。

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

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

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

通过聊天频道进行互动

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

要在活动事件的聊天频道中运行命令,请使用以下格式。Replace(替换) 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