监控AmazonAmazon SQS 的资源变更 - Amazon Config
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 Amazon Web Services 服务入门

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

监控AmazonAmazon SQS 的资源变更

Amazon Config每次受支持时使用 Amazon Simple Notification Service (SNS) 向您发送通知Amazon资源是由于用户 API 活动而创建、更新或以其他方式修改的。但是您可能只关注特定资源配置的更改。例如,您可能认为知道何时有人修改了安全组的配置至关重要,但不必每次更改 Amazon EC2 实例上的标签时都知道。或者,您可能想要编写一个在指定资源被更新时执行指定操作的程序。例如,您可能想要在某个安全组的配置发生更改时启动特定工作流程。如果你想以编程方式使用来自的数据Amazon Config以这些或其他方式,使用 Amazon Simple Queue Service 队列作为 Amazon SNS 的通知终端节点。

注意

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

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

Amazon SQS 的权限

要将 Amazon SQS 与Amazon 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 队列之间的连接权限。以下是策略示例,它允许带有亚马逊资源名称 (ARN) 的 SNS 主题 arn: aws: sns: us-east-2:111122223333: test-topic 对名为 arn: aws: sqs: us-east-2:111122223333 的队列执行任何操作:test-topic-queue.

注意

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

{ "Version": "2012-10-17", "Id": "SNStoSQS", "Statement": { "Sid":"rule1", "Effect": "Allow", "Principal": { "Service": "sns.amazonaws.com" }, "Action": "SQS:SendMessage", "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 政策的特殊信息.