Я разрабатываю веб-приложение, в которое пользователи могут загружать свои файлы, и каждый пользователь может устанавливать разрешения для загруженного файла для доступа других пользователей.
Я хочу использовать хранилище BLOB-объектов Azure в хранилище файлов Azure для сохранения загруженных файлов.
Мне нужно проверить и подтвердить загруженные файлы перед их сохранением, хотя пользователи должны загружать свои файлы на веб-сервер, а затем веб-сервер проверит файлы и сохранит их в хранилище Azure с помощью ключа доступа.
Чтобы получить доступ к файлам, используя метод, описанный в SAS - подписи общего доступа, часть 1: понимание модели SAS, я хочу создать учетную запись SAS и сгенерировать URL-адрес на веб-сервере, а затем пользователь сможет загружать свои доступные файлы прямо из хранилища Azure.
Вот модель доступа (только для чтения данных):
А вот образец URL-адреса SAS:
https://myaccount.blob.core.windows.net/sascontainer/sasblob.txt?sv=2015-04-05&st=2015-04-29T22%3A18%3A26Z&se=2015-04-30T02%3A23%3A26Z&sr=b&sp=rw&sip=168.1.5.60-168.1.5.70&spr=https&sig=Z%2FRHIX5Xcg0Mq2rqI3OlWTjEg2tYkboXr1P9ZUXDtkk%3D
Но что, если пользователь поделится URL-адресом с анонимными пользователями напрямую: они могут получить доступ к файлу до истечения срока его действия или, возможно, они могут использовать URL-адрес для доступа к другим файлам (или нет?).
- Может ли аккаунт SAS ограничить доступ к определенным файлам или папкам?
- Могу ли я истечь на стороне сервера SAS?
- Какое было бы лучшее решение в этом сценарии?