Типичная архитектура - хранить корзины Amazon S3 полностью конфиденциальными .
Когда ваше приложение определяет, что пользователю разрешено загружать или скачивать файл, оно может сгенерировать Предписанный URL .Это ограниченный по времени URL-адрес, который позволяет загружать или загружать объект.
При загрузке также можно Создать политику POST - , чтобы применить некоторые ограничения при загрузке, например, его длина, тип и место хранения.Если загрузка соответствует требованиям, файл будет принят.
Вам следует вести базу данных , которая идентифицирует все загруженные объекты и сопоставляет ее с «владельцем», группами разрешений,акции и т. д. Все это зависит от приложения.Позже, когда пользователь запрашивает определенный объект для загрузки, ваше приложение может сгенерировать предварительно подписанный URL-адрес, который позволяет пользователю загружать объект, даже если это частный объект.
Всегда разрешайте приложению определять разрешения для доступаобъект. Не определяйте пользователей приложения как пользователей IAM.
Если существует модель прямого разрешения (например, все файлы одного пользователя находятся в одном пути / папке в сегменте S3), выможет генерировать временные учетные данные, используя Сервис токенов безопасности AWS , который предоставляет разрешения List и Get для данного пути.Это может быть полезно для мобильных приложений, которые затем могут напрямую вызывать API Amazon S3 для извлечения объектов.Однако он не подходит для веб-приложений.