带有HTTP Referer的AWS S3存储桶策略始终提供403

时间:2020-09-09 15:07:15

标签: amazon-web-services amazon-s3

我正试图在我的S3存储桶中添加存储桶策略。我要求只有我的网站才能访问存储桶中的资源。我发现HTTP Referer在当前情况下很有用,因此我经历了以下步骤:

  1. 创建了存储桶
  2. 将png文件上传到其中
  3. 已禁用阻止所有公共访问
  4. 添加了以下存储桶策略
{
  "Id": "Policy1599658083694",
  "Version": "2012-10-17",
  "Statement": [
      {
          "Sid": "Stmt1599658081534",
          "Action": [
              "s3:GetObject"
          ],
          "Effect": "Allow",
          "Resource": "arn:aws:s3:::mywebsiteso/*",
          "Condition": {
              "StringLike": {
                  "aws:Referer": "https://blue.mywebsite.io/*"
              }
          },
          "Principal": "*"
      }
  ]
}

我现在假设应该可以从我的网站访问它,而不是直接使用URL。这是两者的结果

使用直接URL enter image description here

  1. 我创建了一个包含以下内容的HTML页面(test.html),并将其添加到网站的根目录中。
<a href="https://mywebsiteso.s3.ap-south-1.amazonaws.com/403.PNG">click here</a>

enter image description here

但是,当我单击链接时,它显示的响应与403相同。

我尝试了几种方法:

 "aws:Referer": [
                 "http://blue.mywebsite.io",
                 "http://blue.mywebsite.io/*",
                 "http://www.blue.mywebsite.io/*",
                 "https://blue.mywebsite.io",
                 "https://blue.mywebsite.io/*",
                 "https://www.blue.mywebsite.io/*"
                ]

0 个答案:

没有答案