Джанго Бото S3 Access - PullRequest
       13

Джанго Бото S3 Access

7 голосов
/ 17 августа 2010

Я не могу понять это.

Вот что я хочу, чтобы произошло ...

У меня есть приложения, которые пользователи загружают файлы на S3, используя boto и django. Я хочу, чтобы эти файлы были частными и доступны только через мое приложение с использованием моих учетных данных API.

Таким образом, если пользователь загружает фотографию через мое приложение, единственный способ, которым он или кто-либо другой может загрузить ее, - через его учетную запись в моем приложении. Возможно ли это, и если да, то как мне настроить его, используя правила acl для boto? Мне не нужен код, (надеюсь), я могу понять это, просто пошагово, как это сделать.

Имеет ли это смысл? Я знаю, что не очень хорошо это передаю и заранее извиняюсь. Также спасибо за помощь.

Ответы [ 3 ]

7 голосов
/ 17 августа 2010

Документы для ACL Бото: здесь .Я предлагаю просто использовать private «стандартную политику» - поскольку у ваших пользователей все равно нет учетных записей S3, это самая простая идея.Ваше приложение, конечно, должно будет отслеживать, какой пользователь «владеет» какими файлами (что должно быть очень, очень простой моделью Django!).

5 голосов
/ 17 августа 2010

Я думаю, что вы можете искать не в той области, чего бы вы хотели достичь.Интерфейс ACL позволяет предоставлять разрешения, но они зависят от пользователей, имеющих учетные записи Amazon S3.@ Алекс Мартелли предложил использовать стандартную политику private, и я согласен - это предотвратит доступ любой учетной записи, кроме вашей, к вашим корзинам / ключам.

Чтобы пользователи могли загружать только черезваше собственное приложение, просто передайте небольшое значение параметру expires_in, когда генерирует URL .Пользователи получат действительную ссылку для скачивания только через ваше приложение, и эта ссылка будет недействительной после их загрузки.

2 голосов
/ 14 апреля 2011

django-storerages уже имеет методы для этой проблемы и имеет бото-интерфейс.Не катай свой, кроме назидания.

...