Реализация приложения, в котором изображения S3 могут быть только горячесвязаны по списку белых доменов.AWS S3 Динамическая политика HTTP-ссылок с N доменами
Для простого случая, я могу создать политику 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/*"]}
}
}
]
}
Я хотел бы иметь этот список динамически генерируется из БД с помощью языка сценариев, и затем отправляется в AWS через API SDK.
Это может быть сделано путем создания динамической строки JSON для:
["http://www.example.com/*","http://example.com/*"]
Это лучший делать это? Я не мог найти документацию по этому поводу, но я бы предположил, что существует ограничение на количество совпадений строк в состоянии StringLike?
Было бы лучше создать отдельную запись StringLike внутри Condition, по одному для каждого домена?
Я мог бы иметь до 10000 доменов в белый список, поэтому, пытаясь найти лучший способ масштабирования этого.
Вся политика ведра [ограничена 20 КБ] (http://docs.aws.amazon.com/AmazonS3/latest/dev/access-policy-language-overview.html), поэтому это, вероятно, неправильное решение. –