Я удивлен, но я не смог найти никого с такими же требованиями в Google, так что здесь я иду. Я разрабатываю проект Django, и я знаю, что конфиденциальные документы будут загружаться пользователями, поэтому мне нужно ввести какой-то механизм контроля разрешений (сейчас я думаю об использовании JWT).
Чтобы сделать мой проект без сохранения состояния с операционной точки зрения (планируя запустить его в контейнерах), я бы хотел хранить свои загруженные пользователем файлы в распределенной системе хранения объектов (S3 / minio).
Здесь я заблудился. Я знаю, что в «обычной» производственной среде Django загруженные пользователем медиа-файлы, как правило, попадают в папку ./media
, и веб-сервер обслуживает ее непосредственно оттуда, без какой-либо аутентификации. На мой взгляд, это рискованно и неприемлемо, потому что общие прямые ссылки могут быть прослушаны / утечки, а неавторизованные люди могут получить доступ к конфиденциальным документам.
Завершение :
- Какова практика хранения / обслуживания загруженного пользователем содержимого
в / из S3 / minio?
- Как мне контролировать доступ к этим файлам?
Спасибо!