我在S3中有视频文件和一个通过src属性加载文件的简单播放器。
我希望只能通过我的网站查看视频,而不是直接通过S3网址查看(可能在页面的源代码中可以看到,也可以通过右键单击访问)
通过AWS文档查看似乎我通过HTTP执行此操作的唯一方法是在查询中附加签名和到期日期,但这还不够。 其他访问限制是指AWS用户。
我如何解决这个问题或实施此服务器/客户端?
答案 0 :(得分:11)
我认为您可以从管理界面设置的存储桶策略将执行此操作。语法有一些变化(您可以围绕拒绝或允许条件构建策略)并过滤特定文件名,但我更喜欢拆分媒体类型进入离散桶
{
"Version": "2008-10-17",
"Id": "Restrict based on HTTP referrer policy",
"Statement": [
{
"Sid": "1",
"Effect": "Deny",
"Principal": {
"AWS": "*"
},
"Action": "s3:GetObject",
"Resource": "arn:aws:s3:::mybucket/myprefix/*",
"Condition": {
"StringNotLike": {
"aws:Referer": [
"http://www.mydomain.com/*",
"http://www.subdomain.mydomain.com/*"
]
}
}
}
]
}