Мы только начинаем работу с Azure Storage. В нашем сценарии мы загружаем в частные капли, которые позже нам нужно получить непосредственно из нашего клиентского приложения, например изображений.
Есть ли способ адресовать частные капли в Azure Storage с URL-адресом, содержащим ключ доступа?
Просеивание документов MS, которые я смог найти до сих пор, - это простой доступ к URL через URI blob, например, как указано в свойстве URI
экземпляра CloudBlockBlob
при перечислении blobs через API.net.
Естественно, доступ к этому из веб-браузера невозможен из-за того, что blob не является общедоступным.
Однако можем ли мы присвоить URL-адрес, чтобы также включить ключ доступа, чтобы разрешить авторизованным клиентам доступ к блобу...?
Это API для того, как вы читаете blobs из хранилища:
https://docs.microsoft.com/en-us/rest/api/storageservices/get-blob
Для передачи ключа доступа нет URL-параметра, а только значение заголовка " Authorization
. Таким образом, вы можете сделать запрос вручную и, например, добавить результирующие данные в качестве кодированного изображения base64. Я бы посоветовал ему, если это вообще возможно.
Вы также должны знать, что, передавая свой ключ доступа клиенту, вы фактически делаете свой блоб открытым в любом случае. Вы поставили бы ваши данные на более высокий риск, чем анонимный доступ, поскольку ключ доступа позволяет выполнять больше операций, чем анонимный доступ. Это также будет справедливо для вашего приложения-объекта, хотя его гораздо более запутанный там. SAS - путь туда - создать бэкэнд-сервис, который создает определенный набор токенов SAS для заданных ресурсов. Однако гораздо больше усилий, чем просто запутывание ключа доступа.
См. "Возможности, доступные анонимным пользователям":
https://docs.microsoft.com/en-us/azure/storage/blobs/storage-manage-access-to-resources