实施一个应用程序,其中S3图像只能通过列入白名单的列表进行热链接。
对于一个简单的案例,我可以创建一个带有静态域名列表的Referer Policy,例如:
{
"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/*"]}
}
}
]
}
我希望通过脚本语言从数据库动态生成此列表,然后通过API SDK发布到AWS。
这可以通过为:
生成动态JSON字符串来完成["http://www.example.com/*","http://example.com/*"]
这是最好的吗?我无法找到有关此问题的任何文档,但我认为StringLike条件中字符串匹配的数量有限制吗?
在Condition中创建一个单独的StringLike条目会更好吗,每个域一个?
我可能有10000个域到白名单,所以试图找到最好的缩放方式。
答案 0 :(得分:0)
鉴于S3政策框架中的长度限制,未使用此解决方案。