本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
在 Amazon SQS 中测试基于属性的访问控制
以下示例展示了如何在 Amazon SQS 中测试基于属性的访问控制。
创建一个队列,将标签键设置为环境,将标签值设置为生产
运行此 AWS CLI 命令来测试创建队列,将标签键设置为环境,将标签值设置为生产。如果您没有 AWS CLI,可以为您的计算机下载和配置该 CLI。
aws sqs create-queue --queue-name prodQueue —region us-east-1 —tags "environment=prod"
您会收到来自 Amazon SQS 端点的 AccessDenied
错误:
An error occurred (AccessDenied) when calling the CreateQueue operation: Access to the resource <queueUrl> is denied.
这是因为 IAM 用户的标签值与 CreateQueue
API 调用中传递的标签不匹配。请记住,我们向 IAM 用户应用了一个标签,其键设置为 environment
,值设置为 beta
。
创建一个队列,将标签键设置为环境,将标签值设置为测试
运行此 CLI 命令来测试创建队列,将标签键设置为 environment
,将标签值设置为 beta
。
aws sqs create-queue --queue-name betaQueue —region us-east-1 —tags "environment=beta"
您会收到一条消息,确认队列已成功创建,如下所示。
{ "QueueUrl": "<queueUrl>“ }
向队列发送消息
运行此 CLI 命令以测试向队列发送消息。
aws sqs send-message --queue-url <queueUrl> --message-body testMessage
响应会显示消息已成功传送到 Amazon SQS 队列。IAM 用户权限允许您向带有 beta
标签的队列发送消息。响应包括 MD5OfMessageBody
和包含消息的 MessageId
。
{ "MD5OfMessageBody": "<MD5OfMessageBody>", "MessageId": "<MessageId>" }