Разрешения Amazon S3

Попытка понять S3... Как ограничить доступ к файлу, который вы загружаете на S3? Например, из веб-приложения у каждого пользователя есть файлы, которые они могут загружать, но как вы ограничиваете доступ, так что только у этого пользователя есть доступ к этому файлу? Кажется, что для проверки подлинности строки запроса требуется дата истечения срока действия, и это не сработает для меня, есть ли другой способ сделать это?

Ответ 1

Существуют различные способы управления доступом к объектам S3:

  • Используйте строку запроса auth - но, как вы отметили, для этого требуется дата истечения срока действия. Вы могли бы сделать это далеко в будущем, что было достаточно хорошим для большинства вещей, которые я сделал.

  • Используйте S3 ACLS - но для этого требуется, чтобы пользователь имел учетную запись AWS и аутентифицировал AWS для доступа к объекту S3. Это, вероятно, не то, что вы ищете.

  • Вы проксируете доступ к объекту S3 через свое приложение, которое реализует вашу логику управления доступом. Это принесет вам всю пропускную способность.

  • Вы можете настроить экземпляр EC2 с помощью вашей прокси-логики - это позволяет использовать пропускную способность ближе к S3 и может уменьшить задержку в определенных ситуациях. Разница между этим и # 3 может быть минимальной, но зависит от вашей конкретной ситуации.

Ответ 2

  • Удалите пользователя на сервер
  • Установил ли сервер аутентификацию строки запроса с коротким сроком действия (минуты, часы?).
  • Перенесите свой сервер на # 2

Ответ 3

Вам нужно будет построить всю логику доступа к S3 в ваших приложениях

Ответ 4

Я тоже общался с этим. Дон, который написал S3 PHP, который я использую, указал, что вы можете использовать dirs внутри ведер. Таким образом, вы можете поместить свой файл в каталог со случайной строкой, а затем перенаправить на него. mybucket.amazon.net/wef49kfe4j409jf4f4f9jdfd/myfile.zip Если вы вообще ничем не защищены, вы можете контролировать доступ к нему, изменяя разрешения или создавая и удаляя его (сохраняйте оригинал безопасно в другом ковше) по мере необходимости.