Как клиент должен загрузить ресурс с AWS S3
Я новичок в AWS S3 - использую EC2 (веб-приложение для хостинга) и S3 (хранилище ресурсов) в одном регионе AWS и назначил EC2 с ролью IAM s3access
Таким образом, EC2 можно легко скачать с S3.
Вопрос в том, как клиент должен скачать с S3? Видимо клиент не имеет IAM role
или же Access Key
как EC2 делает. Кажется, у клиента есть только signedDownloadUrl
создано aws-sdk
, но для этого также требуется ключ доступа.
Итак, должен ли я сделать хранилище общедоступным, чтобы любой клиент мог его загрузить, или я должен найти какой-то подход для предоставления клиенту учетных данных?
1 ответ
Все объекты по умолчанию являются частными. Только владелец объекта имеет разрешение на доступ к этим объектам.
Так что если вы хотите поделиться объектом с кем-то, вы можете
- Вы можете сделать это публичным или
- Вы, владелец объекта, можете делиться объектами с другими, создав предварительно подписанный URL-адрес, используя свои собственные учетные данные безопасности, чтобы предоставить ограниченное по времени разрешение на загрузку объектов.
Для получения дополнительной информации о предварительно подписанных URL-адресах см. S3 Share Objects с PreSignedURL.