Эффективный обратный прокси-сервер для S3

Эффективный обратный прокси-сервер для S3

Я хочу предотвратить прямое взаимодействие с моим S3 bucket. Хотя мой S3 bucket настроен правильно, я хочу найти (производительный) метод блокировки доступа к одному IP, продолжая при этом обслуживать файлы из S3.

Архитектура, которую я себе представляю, это:

user request -> proxy web application -> s3 bucket

Так, чтобы пользователь не подвергался воздействию или не был осведомлен об использовании S3. Обязательство, которое я пытаюсь обойти, заключается в том, что это потребует от меня оплаты нагрузки ЦП для каждого запроса, что сведет на нет многие преимущества использования S3 в первую очередь. Я представляю, что достижение этой цели потребует очень быстрого и очень минимального веб-сервиса.

Есть ли способ скрыть S3 от пользователей, не теряя его преимуществ в прокси?

Примечание:

Я не хочу считать, что S3 может быть безопасно сконфигурирован. В моем случае есть организационные причины рассмотреть дополнительные процедуры безопасности. Я бы с удовольствием поразмышлял над этим, даже если это действительно неправильный выбор.

Кроме того, это не вариант использовать сервис вместо S3. Мы говорим только о S3 здесь.

решение1

Если вы хотите заблокировать доступ к IP-адресу, вы можете установить соответствующее разрешение через IAM — таким образом, вам не придется заниматься всякой ерундой с обратным прокси-сервером.

Вы можете создать глобальную политику чтения S3, а затем задать условие, что запросы должны поступать с определенного IP-адреса.

Пример условного оператора:

"Condition" :  {
       "IpAddress" : {
          "aws:SourceIp" : ["192.0.2.0/24", "203.0.113.0/24"]
      }
}

Связанный контент