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

自定义 Amazon SQS Access Policy Language示例

以下示例是典型的 Amazon SQS 访问策略。

示例 1:为一个账户授予权限

以下示例 Amazon SQS 策略向 AWS 账户 111122223333 授予权限,使其能够从 AWS 账户 444455556666 所拥有的 queue2 收发请求。

{ "Version": "2012-10-17", "Id": "UseCase1", "Statement" : [{ "Sid": "1", "Effect": "Allow", "Principal": { "AWS": [ "111122223333" ] }, "Action": [ "sqs:SendMessage", "sqs:ReceiveMessage" ], "Resource": "arn:aws-cn:sqs:us-east-2:444455556666:queue2" }] }

示例 2:对一个或多个账户授予权限

以下示例 Amazon SQS 策略允许一个或多个 AWS 账户在特定时间段内访问您的账户所拥有的队列。需要编写该策略并使用 SetQueueAttributes 将其上传至 Amazon SQS,因为 AddPermission 操作不允许在授予对队列的访问权限时指定时限。

{ "Version": "2012-10-17", "Id": "UseCase2", "Statement" : [{ "Sid": "1", "Effect": "Allow", "Principal": { "AWS": [ "111122223333", "444455556666" ] }, "Action": [ "sqs:SendMessage", "sqs:ReceiveMessage" ], "Resource": "arn:aws-cn:sqs:us-east-2:444455556666:queue2", "Condition": { "DateLessThan": { "AWS:CurrentTime": "2009-06-30T12:00Z" } } }] }

示例 3:对来自 Amazon EC2 实例的请求授予权限

以下示例 Amazon SQS 策略对来自 Amazon EC2 实例的请求授予访问权限。此示例根据“示例 2:对一个或多个账户授予权限”示例编写:它将访问时间限制在 2009 年 6 月 30 日中午 12 点 (UTC) 之前,将访问 IP 的范围限制在 10.52.176.0/24。需要编写该策略并使用 SetQueueAttributes 将其上传至 Amazon SQS,因为 AddPermission 操作不允许在授予对队列的访问权限时指定 IP 地址限制。

{ "Version": "2012-10-17", "Id": "UseCase3", "Statement" : [{ "Sid": "1", "Effect": "Allow", "Principal": { "AWS": [ "111122223333" ] }, "Action": [ "sqs:SendMessage", "sqs:ReceiveMessage" ], "Resource": "arn:aws-cn:sqs:us-east-2:444455556666:queue2", "Condition": { "DateLessThan": { "AWS:CurrentTime": "2009-06-30T12:00Z" }, "IpAddress": { "AWS:SourceIp": "10.52.176.0/24" } } }] }

示例 4:拒绝特定账户的访问

以下示例 Amazon SQS 策略拒绝特定 AWS 账户对您队列的访问。此示例根据“示例 1:为一个账户授予权限”示例编写:它拒绝指定 AWS 账户的访问。需要编写该策略并使用 SetQueueAttributes 将其上传至 Amazon SQS,因为 AddPermission 操作不允许拒绝访问某一队列 (它仅允许对队列授予访问权限)。

{ "Version": "2012-10-17", "Id": "UseCase4", "Statement" : [{ "Sid": "1", "Effect": "Deny", "Principal": { "AWS": [ "111122223333" ] }, "Action": [ "sqs:SendMessage", "sqs:ReceiveMessage" ], "Resource": "arn:aws-cn:sqs:us-east-2:444455556666:queue2" }] }