无法使用 Postman - AcessDenied 将消息添加到 AWS SQS?

jav*_*900 0 get http amazon-sqs amazon-web-services postman

SQS我正在尝试向我的using添加一条消息Postman

当我尝试以下操作时Postman

GET    https://sqs.us-east-1.amazonaws.com/205115639995/myQueue.fifo?Action=SendMessage&MessageBody={"message":"test1}
Run Code Online (Sandbox Code Playgroud)

我得到:

<?xml version="1.0"?>
<ErrorResponse xmlns="http://queue.amazonaws.com/doc/2012-11-05/">
    <Error>
        <Type>Sender</Type>
        <Code>AccessDenied</Code>
        <Message>Access to the resource https://sqs.us-east-1.amazonaws.com/205115639995/myQueue.fifo is denied.</Message>
        <Detail/>
    </Error>
    <RequestId>80ddb4e8-5eff-5143-adf6-e39d5cb46aa2</RequestId>
</ErrorResponse>
Run Code Online (Sandbox Code Playgroud)

我已将其AWS ACCESS and SECRET keys保存在环境变量中,并且它们是正确的。

这里可能有什么问题?我需要将我的添加KEYS到请求中吗?

May*_*Raj 6

AWS 凭证由 AWS 提供的工具(例如 AWS CLI、Boto3 (python) 等)获取。它们会查看各种位置,例如环境变量、生成的凭证文件aws configure

Postman 不是 AWS 属性,因此未内置此查找逻辑。这就是您面临此问题的原因。需要进行一些配置才能让 Postman 知道您想要将 AWS 凭证用于特定 API 调用。

  1. 编辑请求时,转到“Auth”选项卡。
  2. 从“类型”下拉列表中,选择“AWS 签名”
  3. 在这里您将找到一个位置来添加您的访问密钥秘密密钥以及其他可选参数(例如区域)。
  4. 一切就绪,如果您尝试连接的服务可公开访问,并且您使用的凭据具有访问该服务的策略,那么您现在应该经过身份验证才能访问它。

图片供您参考: 邮递员AWS签名