Бакет в S3 — не просто папка для файлов, а ресурс, на котором хранилище принимает решение о доступе к объектам. Пока доступ контролирует только nginx или собственный прокси, обладатель действующего ключа может обратиться напрямую к S3 endpoint: достаточно указать другой --endpoint-url в aws-cli. Прокси не увидит запрос, а хранилище вернёт 200, если политика на бакете позволяет.

Материал на Хабре описывает подход Bucket Access Policy, при котором авторизацию возвращают в само хранилище, а прокси отключают из схемы контроля. Это устраняет обходной путь, когда защита сосредоточена только на промежуточном слое между клиентом и S3.

Для команд, управляющих объектным хранилищем, практический вывод: политики доступа должны действовать на уровне бакета, а не полагаться на внешний прокси как единственный барьер. Авторизацию возвращают в хранилище — прокси выключают.