本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
在 Amazon 上使用临时安全证书 SQS
除了使用自己的安全证书创建用户外,IAM还允许您向任何用户授予临时安全证书,从而允许该用户访问您的 Amazon 服务和资源。您可以管理拥有 Amazon Web Services 账户的用户。您还可以管理系统中没有的用户 Amazon Web Services 账户 (联合用户)。此外,您为访问 Amazon 资源而创建的应用程序也可以被视为 “用户”。
您可以使用这些临时安全证书向 Amazon 提出请求SQS。这些API库使用这些凭据计算必要的签名值来验证您的请求。如果您使用过期的凭证发送请求,Amazon 会SQS拒绝该请求。
注意
您不能基于临时凭证设置策略。
先决条件
-
IAM用于创建临时安全证书:
-
安全令牌
-
访问密钥 ID
-
秘密访问密钥
-
-
使用临时访问密钥 ID 和安全令牌准备待签字符串。
-
使用临时私有访问密钥而不是您自己的私有访问密钥来签署您的查询API请求。
注意
提交已签名的查询API请求时,请使用临时访问密钥 ID 而不是您自己的访问密钥 ID,并添加安全令牌。有关IAM支持临时安全证书的更多信息,请参阅IAM用户指南中的授予对 Amazon 资源的临时访问权限。
使用临时安全证书调用 Amazon SQS Query 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