本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
将临时安全凭证用于 Amazon SQS
除了创建有其自己的安全凭证的用户之外,IAM 还可以让您给任何用户授予临时安全凭证,从而使此用户可以访问您的Amazon服务和资源。您可以管理有的用户Amazon Web Services 账户。此外,您还可以对您系统中没有Amazon Web Services 账户(联合身份用户)的用户进行管理。此外,您创建的能访问 Amazon 资源的应用程序也可被视为用户。
您还可以使用这些临时安全证书向 Amazon SQS 发出请求。API 库会使用这些凭证计算必要的签名值,以便对您的请求进行身份验证。如果您使用过期的证书发送请求,Amazon SQS 会拒绝请求。
注意
您不能基于临时凭证设置策略。
先决条件
-
使用 IAM 创建临时安全凭证:
-
安全令牌
-
访问密钥 ID
-
秘密访问密钥
-
-
使用临时访问密钥 ID 和安全令牌准备待签字符串。
-
使用临时秘密访问密钥 (而不是您自己的秘密访问密钥) 对您的查询 API 请求签名。
注意
在提交已签名的查询 API 请求时,请使用临时访问密钥 ID (而不是您自己的访问密钥 ID),并且包含安全令牌。有关 IAM 对临时安全凭证的支持的更多信息,请参阅《I AM 用户指南》中的授予对您的Amazon资源的临时访问。
使用临时安全证书调用 Amazon SQS 查询 API 操作
-
使用 Amazon Identity and Access Management 请求临时安全令牌。有关更多信息,请参阅 IAM 用户指南中的创建临时安全证书以支持 IAM 用户访问权限。
IAM 返回安全令牌、访问密钥 ID 和私有访问密钥。
-
使用临时访问密钥 ID (而不是您自己的访问密钥 ID) 准备查询,并且包含安全令牌。使用临时秘密访问密钥 (而不是您自己的秘密访问密钥) 对请求签名。
-
提交已使用临时访问密钥 ID 和安全令牌签名的查询字符串。
以下示例展示了如何使用临时安全证书验证 Amazon SQS 请求。的结构
取决于 API 请求的签名。有关更多信息,请参阅 Amazon Web Services 一般参考中的签名 Amazon API 请求。AUTHPARAMS
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