#amazon-s3 #policy #http-referer #whitelist #bucket
#amazon-s3 #политика #http-реферер #белый список #корзина
Вопрос:
Реализация приложения, в котором изображения S3 могут быть связаны только с помощью списка доменов, внесенных в белый список.
Для простого случая я могу создать политику ссылок со статическим списком доменов, таких как:
{
"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?
Было бы лучше создать отдельную строковую запись внутри условия, по одной для каждого домена?
Потенциально у меня может быть 10000 доменов в белом списке, поэтому я пытаюсь найти наилучший способ масштабирования этого.
Комментарии:
1. Вся политика корзины ограничена 20 КБ , поэтому это, вероятно, неправильное решение.
Ответ №1:
Учитывая ограничение длины в структуре политики S3, это решение не использовалось.