Amazon Simple Storage Service (S3) — это гибкое и масштабируемое облачное хранилище. Одним из наиболее распространенных вариантов использования S3 является размещение статических ресурсов веб-сайта, таких как изображения, видео и документы. В некоторых случаях вы можете захотеть поделиться файлом, хранящимся в S3, с внешним пользователем или приложением, но вы не хотите делать его общедоступным. Здесь пригодятся предварительно подписанные URL-адреса S3.

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

В этом руководстве мы будем использовать интерфейс командной строки AWS (CLI) для создания предварительно подписанного URL-адреса S3 для определенного объекта.

Предпосылки

  • AWS CLI установлен и настроен
  • Доступ к корзине S3 и объекту

Шаги

  1. Откройте терминал или командную строку.
  2. Выполните следующую команду, чтобы сгенерировать предварительно подписанный URL-адрес для определенного объекта S3:
aws s3 presign s3://bucket-name/object-key --expires-in 3600

Замените `bucket-name` и `object-key` на имя вашей корзины S3 и объекта соответственно. Параметр `—expires-in` указывает продолжительность действия URL-адреса в секундах. В этом примере срок действия URL-адреса истечет через один час (3600 секунд).

  1. Команда выведет предварительно подписанный URL. Скопируйте URL-адрес в буфер обмена.
  2. Поделитесь URL-адресом с предполагаемым пользователем или приложением. Они смогут получить доступ к объекту, используя URL-адрес, пока не истечет срок его действия.

Заключение

С помощью интерфейса командной строки AWS создание предварительно подписанного URL-адреса S3 — это быстрый и простой способ обмена файлами, хранящимися в S3, с внешними пользователями или приложениями без ущерба для безопасности. С помощью шагов, описанных в этом руководстве, вы можете уверенно генерировать предварительно подписанные URL-адреса для своих объектов S3.