AWS Config
开发人员指南
AWS 文档中描述的 AWS 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 Amazon AWS 入门

使用 Amazon SQS 监控 AWS 资源更改

当用户通过 API 对支持的 AWS 资源进行创建、更新或修改时,AWS Config 会使用 Amazon Simple Notification Service (SNS) 向您发送通知。但是您可能只关注特定资源配置的更改。例如,您可能认为必须在有人修改了安全组配置时了解这一情况,但不需要在您的 Amazon EC2 实例标签每次更改时都得到通知。或者,您可能想要编写一个在指定资源被更新时执行指定操作的程序。例如,您可能想要在某个安全组的配置发生更改时启动特定工作流程。如果您想出于上述目的或其他目的以编程方式使用 AWS Config 的数据,请将 Amazon Simple Queue Service 队列作为 Amazon SNS 的通知终端节点。

注意

Amazon SNS 发出的通知的形式可以是电子邮件、发送到支持短信服务功能的手机和智能手机上的短信服务 (SMS) 消息、发送到移动设备应用程序上的通知消息,或者发送到一个或多个 HTTP 或 HTTPS 终端节点的通知消息。

无论每个区域只订阅一个主题还是每个区域的每个账户只订阅一个主题,您都可以使用单个 SQS 队列订阅多个主题。您必须用队列订阅您需要的 SNS 主题。(您可以用多个队列订阅一个 SNS 主题。)有关更多信息,请参阅发送 Amazon SNS 信息至 Amazon SQS 队列

Amazon SQS 权限

要将 Amazon SQS 与 AWS Config 配合使用,您必须配置一项策略来为您的账户授予权限,以便对 SQS 队列执行允许的所有操作。以下示例策略授予账户 111122223333 和 444455556666 权限,允许其在名为 arn:aws:sqs:us-east-2:444455556666:queue1. 的队列每次发生配置更改时发送相关消息。

{ "Version": "2012-10-17", "Id": "Queue1_Policy_UUID", "Statement": { "Sid":"Queue1_SendMessage", "Effect": "Allow", "Principal": { "AWS": ["111122223333","444455556666"] }, "Action": "sqs:SendMessage", "Resource": "arn:aws:sqs:us-east-2:444455556666:queue1" } }

您还必须创建一项策略,授予 SNS 主题和订阅该主题的 SQS 队列之间的连接权限。在以下示例策略中,Amazon 资源名称 (ARN) 为 arn:aws:sns:us-east-2:111122223333:test-topic 的 SNS 主题可以对名为 arn:aws:sqs:us-east-2:111122223333:test-topic-queue 的主题执行任何操作。

注意

SNS 主题和 SQS 队列的账户必须处于同一区域中。

{ "Version": "2012-10-17", "Id": "SNStoSQS", "Statement": { "Sid":"rule1", "Effect": "Allow", "Principal": "*", "Action": "sqs:*", "Resource": "arn:aws:sqs:us-east-2:111122223333:test-topic-queue", "Condition" : { "StringEquals" : { "aws:SourceArn":"arn:aws:sns:us-east-2:111122223333:test-topic" } } } }

每项策略中的规定可以只针对一个队列而不是多个队列。有关 Amazon SQS 策略受到的其他限制的信息,请参阅 Amazon SQS 策略的特别信息

本页内容: