为 Change Manager 通知配置 Amazon SNS 主题 - Amazon Systems Manager
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

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

为 Change Manager 通知配置 Amazon SNS 主题

您可以将 Amazon Systems Manager 的功能 Change Manager 配置为针对与更改请求和更改模板有关的事件向 Amazon Simple Notification Service (Amazon SNS) 主题发送通知。要接收针对您向其添加了主题的 Change Manager 事件的通知,请完成以下任务。

任务 1:创建并订阅 Amazon SNS 主题

首先,必须创建一个 Amazon SNS 主题并订阅此主题。有关更多信息,请参阅 Amazon Simple Notification Service 开发人员指南中的创建 Amazon SNS 主题订阅 Amazon SNS 主题

注意

要接收通知,您必须指定与委托管理员账户位于相同 Amazon Web Services 区域 和 Amazon Web Services 账户 的 Amazon SNS 主题的 Amazon Resource Name (ARN)。

任务 2:更新 Amazon SNS 访问策略

请使用以下过程更新 Amazon SNS 访问策略,以便 Systems Manager 能将 Change Manager 通知发布到您在“任务 1”中创建的 Amazon SNS 主题。如果不完成这项任务,Change Manager 将没有权限针对您为其添加主题的事件发送通知。

  1. 访问 https://console.aws.amazon.com/sns/v3/home,登录 Amazon Web Services Management Console 并打开 Amazon SNS 控制台。

  2. 在导航窗格中,选择 Topics (主题)

  3. 选择您在“任务 1”中创建的主题,然后选择 Edit (编辑)

  4. 展开 Access policy (访问策略)

  5. 将以下 Sid 数据块添加并更新到现有策略中,并将每个用户输入占位符替换为您的信息。

    { "Sid": "Allow Change Manager to publish to this topic", "Effect": "Allow", "Principal": { "Service": "ssm.amazonaws.com" }, "Action": "sns:Publish", "Resource": "arn:aws:sns:region:account-id:topic-name", "Condition": { "StringEquals": { "aws:SourceAccount": [ "account-id" ] } } }

    在现有 Sid 数据块后输入此数据块,然后针对您创建的主题,将 regionaccount-idtopic-name 替换为适当的值。

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

现在,当您添加到主题中的事件类型发生时,系统将向 Amazon SNS 主题发送通知。

重要

如果您已使用 Amazon Key Management Service (Amazon KMS) 服务器端加密密钥配置了 Amazon SNS 主题,则必须完成“任务 3”。

任务 3:(可选)更新 Amazon Key Management Service 访问策略

如果您为 Amazon SNS 主题启用了 Amazon Key Management Service (Amazon KMS) 服务器端加密,则还必须更新您在配置该主题时选择的 Amazon KMS key 的访问策略。请使用以下过程更新访问策略,以便 Systems Manager 能将 Change Manager 批准通知发布到您在“任务 1”中创建的 Amazon SNS 主题。

  1. 访问 https://console.aws.amazon.com/kms,打开 Amazon KMS 控制台。

  2. 在导航窗格中,选择 Customer managed keys (客户托管密钥)

  3. 选择您在创建主题时选择的客户托管密钥的 ID。

  4. Key Policy (密钥策略) 部分中,选择 Switch to policy view (切换到策略视图)

  5. 选择编辑

  6. 在现有策略中的现有 Sid 块之一之后输入以下 Sid 块。将每个用户输入占位符替换为您自己的信息。

    { "Sid": "Allow Change Manager to decrypt the key", "Effect": "Allow", "Principal": { "Service": "ssm.amazonaws.com" }, "Action": [ "kms:Decrypt", "kms:GenerateDataKey*" ], "Resource": "arn:aws:kms:region:account-id:key/key-id", "Condition": { "StringEquals": { "aws:SourceAccount": [ "account-id" ] } } }
  7. 现在,在资源策略中现有的 Sid 块之一之后输入以下 Sid 块,以帮助防止跨服务混淆代理问题

    此块使用 aws:SourceArnaws:SourceAccount 全局条件上下文键来限制 Systems Manager 向资源提供其他服务的权限。

    将每个用户输入占位符替换为您自己的信息。

    { "Version": "2008-10-17", "Statement": [ { "Sid": "Configure confused deputy protection for Amazon KMS keys used in Amazon SNS topic when called from Systems Manager", "Effect": "Allow", "Principal": { "Service": "ssm.amazonaws.com" }, "Action": [ "sns:Publish" ], "Resource": "arn:aws:sns:region:account-id:topic-name", "Condition": { "ArnLike": { "aws:SourceArn": "arn:aws:ssm:region:account-id:*" }, "StringEquals": { "aws:SourceAccount": "account-id" } } } ] }
  8. 选择 Save changes(保存更改)。