是否有办法允许只在我的域xyz.com下访问存储在我的aws s3中的静态图像?
我知道这不能保护图像,我只是想通过在新的浏览器选项卡中粘贴s3网址来避免人们查看图像
感谢
答案 0 :(得分:0)
正如评论中Mark B所述,可以创建Amazon S3存储桶策略。
在许多可能的策略设置中,有一个Referrer
选项:
假设您的网站包含域名(
www.example.com
或example.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/*"]}
}
}
]
}