Консоль управления
Консоль управления Amazon S3 будет отображать только сегменты S3, связанные с учетной записью AWS пользователя. Кроме того, невозможно ограничить отображаемые сегменты (будет отображаться все сегментов в учетной записи, даже если пользователь не сможет получить к ним доступ).
Таким образом, вы определенно не хотите предоставлять им доступ к вашей консоли управления AWS.
Предварительно подписанный URL
Ваш пользователь не требует, чтобы в AWS SDK использовался предварительно подписанный URL-адрес. Скорее, вы должны запустить свою собственную систему , которая генерирует предварительно подписанный URL-адрес и делает его доступным для пользователя (например, через веб-страницу или вызов API).
Веб-страница
Вы можете разместить статическую страницу загрузки на Amazon S3, но она не сможет аутентифицировать пользователя. Поскольку вы хотите предоставить доступ только определенным людям, вам потребуется некоторый код, выполняющийся на сервере, для их аутентификации.
Генерация ...
Вы спрашиваете: «Могу ли я не просто создать предварительно подписанный URL-адрес, который перемещает пользователя на консоль S3 и позволяет ему загружать до истечения срока действия?»
Да и нет. Да, вы можете создать предварительно подписанный URL. Однако его нельзя использовать с консолью S3 (см. Выше).
Почему это так сложно?
Потому что безопасность важна.
Итак, что делать?
Несколько вариантов:
- Сделайте ведро общедоступным, но не общедоступным. Сообщите своему клиенту, как загружать файлы. Недостатком является то, что любой может загрузить в корзину (если он об этом знает), так что это всего лишь безопасность по незаметности . Но это может быть простым решением для вас.
- Создание очень долгоживущего предварительно подписанного URL. Вы можете создать URL, который будет работать месяцами или годами. Предоставьте им это, и они смогут загрузить (например, через предоставленную вами статическую HTML-страницу).
- Создайте для них некоторые учетные данные пользователя IAM , а затем попросите их использовать такую утилиту, как Интерфейс командной строки AWS (CLI) или Cloudberry . Дайте им достаточно учетных данных для доступа к загрузке. Это предполагает, что у вас есть только несколько клиентов, которым нужен доступ.
Итог: Безопасность важна. Тем не менее, вы хотите «избежать хлопот при отправке им учетных данных», а также не хотите запускать систему для проверки подлинности. Вы не можете обеспечить безопасность, не выполняя какую-либо работу, и стоимость низкого уровня безопасности будет намного больше, чем стоимость внедрения хорошего уровня безопасности.