Django Boto S3 Access

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

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

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

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

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

7
задан imns 17 August 2010 в 00:29
поделиться

2 ответа

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

7
ответ дан 6 December 2019 в 15:17
поделиться

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

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

5
ответ дан 6 December 2019 в 15:17
поделиться
Другие вопросы по тегам:

Похожие вопросы: