其他人可以在他们的网站上显示我的Amazon S3公共只读图像吗?(让我支付使用费用)

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

我在Amazon S3中有一些图像,我在我的网站上显示它们,因此公开(不需要登录)可以查看图像。我不确定是否还有其他人也可以在他们的网站上显示图像,因为他们会有图像的网址。如果是这样我该怎么控制?

(我不想要签名的URL,因为我希望每个人都能够在没有登录的情况下查看图像。)

amazon-web-services amazon-s3
1个回答
3
投票

来自Restricting Access to a Specific HTTP Referrer

假设您有一个域名(www.example.comexample.com)的网站,其中包含存储在S3存储桶中的照片和视频的链接,examplebucket。默认情况下,所有S3资源都是私有的,因此只有创建资源的AWS账户才能访问它们。要允许从您的网站对这些对象进行读取访问,您可以使用s3:GetObject密钥添加允许aws:referer权限的存储桶策略,该请求必须来自特定网页。以下策略使用StringLike条件键指定aws:Referer条件。

{
  "Version":"2012-10-17",
  "Id":"http referer policy example",
  "Statement":[
    {
      "Sid":"Allow get requests originating from www.example.com and example.com.",
      "Effect":"Allow",
      "Principal":"*",
      "Action":"s3:GetObject",
      "Resource":"arn:aws:s3:::examplebucket/*",
      "Condition":{
        "StringLike":{"aws:Referer":["http://www.example.com/*","http://example.com/*"]}
      }
    }
  ]
}

该文档还说明了如何应用显式DENY。

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