Политика динамических HTTP-ссылок AWS S3 с N доменами

#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, это решение не использовалось.