如何允许 SendMessage 匿名访问 Amazon SQS?

问题描述 投票:0回答:1

AWS SQS 文档指出支持匿名访问:https://aws.amazon.com/sqs/faqs/#:~:text=Q%3A%20Does%20Amazon%20SQS%20support%20anonymous%20access%3F

它还提供了向所有用户授予权限的示例策略:https://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/sqs-basic-examples-of-sqs-policies.html#:~ :text=示例%205%3A%20授予%20a%20权限%20至%20all%20用户

我尝试使用以下访问策略创建 SQS 队列:

{
  "Version": "2012-10-17",
  "Id": "__default_policy_ID",
  "Statement": [
    {
      "Sid": "__owner_statement",
      "Effect": "Allow",
      "Principal": {
        "AWS": "*"
      },
      "Action": "SQS:*",
      "Resource": "*"
    }
  ]
}

但是,匿名客户端(使用 cURL 请求)在尝试执行 SendMessage 时会收到以下错误:

Access to the resource The specified queue does not exist or you do not have access to it. is denied.

以前的解决方案(如何启用对 SQS 队列的匿名写访问?)似乎不再起作用。

AWS 不再支持匿名访问 SQS 吗?

amazon-web-services amazon-sqs
1个回答
0
投票

允许匿名访问您的 SQS 并不是一件好事。在您的策略中,您不允许匿名访问,但允许访问任何经过 AWS 身份验证的用户。要允许匿名,您应该将策略的

Principal
部分更改为:

"Principal": "*",

© www.soinside.com 2019 - 2024. All rights reserved.