0

Учитывая сохраненный файл в Azure Storage (капли, таблицы или очереди - не имеет значения), можно ли разрешить доступ к нему для всех, но только на основе разрешений?Разрешение доступа к узлам Azure Storage для выбора пользователей?

Например, у меня есть большое хранилище изображений и БД, содержащая пользователей и авторизации. Я хочу, чтобы пользователь X мог иметь доступ только к изображениям Y и Z. Таким образом, URL-адрес будет вообще недоступен, если вы не предоставите какой-то временный токен безопасности вместе с ним. Как это возможно? Я знаю, что я могу закрыть хранилище из внешнего мира и разрешить доступ к нему только через приложение, проверяющее этот материал, но для этого потребуется, чтобы приложение также находилось на Azure, а приложение на локальном уровне не сможет доставлять любой контент из хранилища Azure.

Насколько я понимаю, большинство CDN предоставляют такую ​​возможность, и я надеюсь, что Azure также найдет решение для этого!

Itamar.

ответ

1

Я не думаю, что вы можете достичь этого уровня фильтрации доступа. Единственные методы, которые я знаю о описаны в этой статье MSDN

Managing Access to Containers and Blobs

и здесь блог, который описывает небольшая часть кода для его реализации

Using Container-Level Access Policies in Windows Azure Storage

Я не уверен, что это подойдет вам. Если бы я понял это правильно, я бы сделал это так: 1. Организуйте свой контент в контейнере, который соответствует ролям. 2. В своем приложении на месте проверьте, имеет ли пользователь доступ, и если да, создайте правильный URL-адрес, чтобы предоставить ему временный доступ к ресурсу.

Конечно, это работает только в том случае, если пользователям необходимо пройти через центральную точку, чтобы получить доступ к контенту в блобе. Если они закладывают ссылку на сгенерированную ссылку, она будет сбой по истечении срока годности.

Удачи.

0

Это действительно возможно реализовать с хранилищем Blob. Рассмотрим (a) пользовательский интерфейс, похожий на проводник, и (b) что пользователи уже прошли аутентификацию (может использовать службу контроля доступа, но не нужно).

Интерфейс, подобный проводнику, может отображать ресурсы, подходящие для аутентифицированного пользователя. Основной доступ к этим ресурсам будет контролироваться с помощью общего доступа, с учетом детализации, подходящей для объектов - например, ограничивать просмотр только одного файла в папке или всей папки или возможности создания файла в папке и т. Д. , все могут быть выражены.

Этот пользовательский интерфейс, подобный проводнику, но нуждается в доступе к логике, которая представила бы правильные файлы для данного пользователя, а также при необходимости создала соответствующие сигнатуры общего доступа. Обратите внимание, что эту логику не нужно размещать в Azure, а просто нужен доступ к правильному ключу хранения (с портала Azure).