запретить прямой доступ к файлу на S3 - PullRequest
7 голосов
/ 28 октября 2011

Я создаю приложение django / s3 со следующим поведением:

  1. Пользователь входит в систему
  2. Пользователь загружает документ -> документ отправляется на S3 (в конечном итоге с именем UID и псевдонимом в БД?)
  3. Пользователь может загрузить документ

Я ищу способ запретить другим пользователям (или, что еще хуже, не регистрироваться) запрашивать и получать доступ к файлам. Я мог бы найти одно решение:

  • для каждого файла на странице есть ссылки на скрипт обработки
  • при щелчке ссылки, представление обрабатывает ее (проверяет, аутентифицирован ли пользователь, определяет правильный файл в S3) и перенаправляет на нее

Этого достаточно? Есть ли более элегантные решения для этого?

1 Ответ

7 голосов
/ 28 октября 2011

Не делайте ваши файлы общедоступными.Это не позволит неавторизованным пользователям получить доступ к файлам.

Затем в приложении Django вы можете создавать URL-адреса с помощью строки запроса, которая позволяет авторизованному пользователю получать доступ к файлу S3 в течение ограниченного времени.1004 * Документы Amazon для аутентификации запроса строки запроса содержат дополнительную информацию.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...