2013-01-23 2 views
5

Я использую службу хранения azure blab для Windows. Я хочу защитить свои капли от общего доступа (кроме моих пользователей). Для этого я использовал подпись общего доступа (SAS), и она отлично работает. Но моя проблема в том, что у меня есть контейнер, который содержит двоичный объект в структуре каталогов, например:Как защитить лазурные пятна

https://xxxxxxx.blob.core.windows.net/myContainer/directory1/blob1 
    https://xxxxxxx.blob.core.windows.net/myContainer/directory1/blob2 
    https://xxxxxxx.blob.core.windows.net/myContainer/directory1/blob3 
    https://xxxxxxx.blob.core.windows.net/myContainer/directory1/blob4 
    https://xxxxxxx.blob.core.windows.net/myContainer/directory1/blob5 

    https://xxxxxxx.blob.core.windows.net/myContainer/directory2/blob1  
    https://xxxxxxx.blob.core.windows.net/myContainer/directory2/blob2  
    https://xxxxxxx.blob.core.windows.net/myContainer/directory2/blob3  
    https://xxxxxxx.blob.core.windows.net/myContainer/directory2/blob4  
    https://xxxxxxx.blob.core.windows.net/myContainer/directory2/blob5 

    and so on... 

Теперь мое требование заключается в том, что я хочу, чтобы предоставить доступ общественности ко всем сгустков в myContainer under directory2, но не к сгустков, который находится под directory1 , я хочу, чтобы все blobs в каталоге1 были закрытыми. Как я могу достичь этого?

ответ

2

Вы можете создать два контейнера.

Один Частный контейнер с SAS на уровне контейнера и один контейнер общего доступа

https://xxxxxxx.blob.core.windows.net/private/blob1 
    https://xxxxxxx.blob.core.windows.net/private/blob2 
    https://xxxxxxx.blob.core.windows.net/private/blob3 
    https://xxxxxxx.blob.core.windows.net/private/blob4 
    https://xxxxxxx.blob.core.windows.net/private/blob5 

    https://xxxxxxx.blob.core.windows.net/public/blob1  
    https://xxxxxxx.blob.core.windows.net/public/blob2  
    https://xxxxxxx.blob.core.windows.net/public/blob3  
    https://xxxxxxx.blob.core.windows.net/public/blob4  
    https://xxxxxxx.blob.core.windows.net/public/blob5 
1

Вы можете устанавливать разрешения только на уровне контейнеров, поэтому у вас останутся два варианта.

Предпочтительный вариант) Создайте дополнительный общественный контейнер и переместите свои капли. Худший вариант) Создайте, казалось бы, бесконечную действительную ссылку sas для всех ваших файлов.

3

Каталогов в хранилище Azure нет. Те «каталоги», которые у вас есть сейчас, - это просто капли с встроенным именем. /. Поскольку разрешения разрешены только на уровне контейнера, вам придется создавать отдельные контейнеры.

+3

+1 за упоминание, что нет никаких каталогов. – JustAnotherUserYouMayKnow