HTTP 引荐来源网址 - AWS、Sharepoint 和浏览器

HTTP referrer - AWS, Sharepoint and browsers

我已将一些文件上传到 S3 存储桶。为了限制访问,我设置了一个带有 HTTP 引荐来源网址的存储桶策略,允许从 Sharepoint 站点重定向。由于将访问 S3 文件的用户授权,我使用 Sharepoint。这很好用。但仅限于 Firefox!

四处搜索后,其他浏览器(我试过 Chrome 和 Edge)似乎阻止了 HTTP 引荐来源网址?是什么赋予了?

我当然可以通过 AWS 和 IAM 提供访问权限,但这会使事情变得有点复杂。在这一点上,使用 O365 进行访问控制似乎是最简单的。但我不想强迫客户使用Firefox。

(注意:根据您可能会问的信息,为什么不使用 Sharepoint 来托管文件。我有一个静态 html,并且在 S3 上设置起来非常容易。但也许有一些Sharepoint 上的替代品?)

考虑一下这是否真的是您想要的,如果您使用 http referrer 策略,那么任何人都可以访问该资源,正如您从这个答案中看到的那样:https://security.stackexchange.com/a/135706 所以它没有提供任何真正的保护。

在这种情况下,您可能决定只授予任何人访问权限,正如从亚马逊 aws documentation:

中获取的那样

授予匿名用户只读权限

以下示例策略向任何 public 匿名用户授予 s3:GetObject 权限。 (有关权限列表及其允许的操作,请参阅 Specifying Permissions in a Policy.)此权限允许任何人读取对象数据, 这在您将存储桶配置为网站并希望每个人都使用时非常有用能够读取存储桶中的对象。

{
  "Version":"2012-10-17",
  "Statement":[
    {
      "Sid":"AddPerm",
      "Effect":"Allow",
      "Principal": "*",
      "Action":["s3:GetObject"],
      "Resource":["arn:aws:s3:::examplebucket/*"]
    }
  ]
}

警告 授予对 S3 存储桶的匿名访问权限时要小心。当您授予匿名访问权限时,世界上任何人都可以访问您的存储桶。我们强烈建议您永远不要授予对 S3 存储桶的任何类型的匿名写入访问权限。