为 Change Manager 通知配置 Amazon SNS 主题
您可以将 Change Manager(AWS Systems Manager 中的一项工具)配置为针对与更改请求和更改模板有关的事件向 Amazon Simple Notification Service(Amazon SNS)主题发送通知。要接收针对您向其添加了主题的 Change Manager 事件的通知,请完成以下任务。
任务 1:创建并订阅 Amazon SNS 主题
首先,必须创建一个 Amazon SNS 主题并订阅此主题。有关更多信息,请参阅 Amazon Simple Notification Service 开发人员指南中的创建 Amazon SNS 主题和订阅 Amazon SNS 主题。
注意
要接收通知,您必须指定与委托管理员账户位于相同 AWS 区域 和 AWS 账户 的 Amazon SNS 主题的 Amazon Resource Name (ARN)。
任务 2:更新 Amazon SNS 访问策略
请使用以下过程更新 Amazon SNS 访问策略,以便 Systems Manager 能将 Change Manager 通知发布到您在“任务 1”中创建的 Amazon SNS 主题。如果不完成这项任务,Change Manager 将没有权限针对您为其添加主题的事件发送通知。
访问 https://console.aws.amazon.com/sns/v3/home
,登录 AWS Management Console 并打开 Amazon SNS 控制台。 -
在导航窗格中,选择 Topics (主题)。
-
选择您在“任务 1”中创建的主题,然后选择 Edit (编辑)。
-
展开 Access policy (访问策略)。
-
将以下
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
数据块后输入此数据块,然后针对您创建的主题,将region
、account-id
和topic-name
替换为适当的值。 -
选择 Save changes (保存更改)。
现在,当您添加到主题中的事件类型发生时,系统将向 Amazon SNS 主题发送通知。
重要
如果您已使用 AWS Key Management Service (AWS KMS) 服务器端加密密钥配置了 Amazon SNS 主题,则必须完成“任务 3”。
任务 3:(可选)更新 AWS Key Management Service 访问策略
如果您为 Amazon SNS 主题启用了 AWS Key Management Service (AWS KMS) 服务器端加密,则还必须更新您在配置该主题时选择的 AWS KMS key 的访问策略。请使用以下过程更新访问策略,以便 Systems Manager 能将 Change Manager 批准通知发布到您在“任务 1”中创建的 Amazon SNS 主题。
-
访问 https://console.aws.amazon.com/kms
,打开 AWS KMS 控制台。 -
在导航窗格中,选择 Customer managed keys (客户托管密钥)。
-
选择您在创建主题时选择的客户托管密钥的 ID。
-
在 Key Policy (密钥策略) 部分中,选择 Switch to policy view (切换到策略视图)。
-
选择编辑。
-
在现有策略中的现有
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
" ] } } } -
现在,在资源策略中现有的
Sid
块之一之后输入以下Sid
块,以帮助防止跨服务混淆代理问题。此块使用
aws:SourceArn
和aws:SourceAccount
全局条件上下文键来限制 Systems Manager 向资源提供其他服务的权限。将每个
用户输入占位符
替换为您自己的信息。{ "Version": "2008-10-17", "Statement": [ { "Sid": "Configure confused deputy protection for AWS 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
" } } } ] } -
选择 Save changes(保存更改)。