将临时安全凭证用于 Amazon SQS - Amazon Simple Queue Service
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 Amazon Web Services 服务入门

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

将临时安全凭证用于 Amazon SQS

除了创建有其自己的安全凭证的 IAM 用户之外,IAM 还可以让您给任何用户授予临时安全凭证,从而使该用户可以访问Amazon服务和资源. 您可以管理具有 Amazon Web Services 账户 (IAM 用户)。您还可以对系统中没有 Amazon Web Services 账户 (联合用户)。此外,您创建的能访问 Amazon 资源的应用程序也可被视为用户。

您可以使用上述临时安全凭证对 Amazon SQS 发出请求。API 库会使用这些凭证计算必要的签名值,以便对您的请求进行身份验证。如果您使用过期凭证发送请求,Amazon SQS 会拒绝该请求。

注意

您不能基于临时凭证设置策略。

Prerequisites

  1. 使用 IAM 创建临时安全凭证:

    • 安全令牌

    • 访问密钥 ID

    • 秘密访问密钥

  2. 使用临时访问密钥 ID 和安全令牌准备待签字符串。

  3. 使用临时秘密访问密钥 (而不是您自己的秘密访问密钥) 对您的查询 API 请求签名。

注意

在提交已签名的查询 API 请求时,请使用临时访问密钥 ID (而不是您自己的访问密钥 ID),并且包含安全令牌。有关 IAM 支持临时安全凭证的更多信息,请参阅 “”。授予对您的临时访问权限Amazon资源中的IAM 用户指南.

使用临时安全凭证调用 Amazon SQS 查询 API 操作

  1. 使用 Amazon Identity and Access Management 请求临时安全令牌。有关更多信息,请参阅 。创建临时安全证书以启用 IAM 用户访问中的IAM 用户指南.

    IAM 会返回一个安全令牌、一个访问密钥 ID 和一个秘密访问密钥。

  2. 使用临时访问密钥 ID (而不是您自己的访问密钥 ID) 准备查询,并且包含安全令牌。使用临时秘密访问密钥 (而不是您自己的秘密访问密钥) 对请求签名。

  3. 提交已使用临时访问密钥 ID 和安全令牌签名的查询字符串。

    以下示例展示了如何使用临时安全证书对 Amazon SQS 请求进行身份验证。该结构AUTHPARAMS取决于 API 请求的签名。有关更多信息,请参阅 。簽名AmazonAPI 请求中的Amazon Web Services 一般参考.

    https://sqs.us-east-2.amazonaws.com/ ?Action=CreateQueue &DefaultVisibilityTimeout=40 &QueueName=MyQueue &Attribute.1.Name=VisibilityTimeout &Attribute.1.Value=40 &Expires=2020-12-18T22%3A52%3A43PST &SecurityToken=wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY &AWSAccessKeyId=AKIAIOSFODNN7EXAMPLE &Version=2012-11-05 &AUTHPARAMS

    以下示例使用了临时安全凭证来通过 SendMessageBatch 操作发送两条消息。

    https://sqs.us-east-2.amazonaws.com/ ?Action=SendMessageBatch &SendMessageBatchRequestEntry.1.Id=test_msg_001 &SendMessageBatchRequestEntry.1.MessageBody=test%20message%20body%201 &SendMessageBatchRequestEntry.2.Id=test_msg_002 &SendMessageBatchRequestEntry.2.MessageBody=test%20message%20body%202 &SendMessageBatchRequestEntry.2.DelaySeconds=60 &Expires=2020-12-18T22%3A52%3A43PST &SecurityToken=je7MtGbClwBF/2Zp9Utk/h3yCo8nvbEXAMPLEKEY &AWSAccessKeyId=AKIAI44QH8DHBEXAMPLE &Version=2012-11-05 &AUTHPARAMS