Маркер SAS для хранилища BLOB-объектов Azure — можно ли создать маркер для загружаемого файла? Только писать?

Итак, у меня есть фреймворк, работающий с библиотекой azurestorejs (2.10.102) и использующий примеры здесь:

https://dmrelease.blob.core.windows.net/azurestoragejssample/samples/sample-blob.html

Но они, как правило, сосредоточены на получении SAS для всего контейнера. Принимая во внимание, что мне нужно загрузить большой файл в blob прямо из браузера. Поэтому я могу использовать свое промежуточное ПО для создания токена только для записи, срок действия которого истекает. Но это весь контейнер. Это довольно безопасно, но я не могу отделаться от ощущения, что должен создавать sas, который также использует конкретное имя файла URI и блокирует его для этой единственной загрузки.

Но ничего из того, что я сделал, похоже, не работает, всегда терпит неудачу с ошибками аутентификации.

Итак, во-первых, я хочу проверить, что то, что я думаю, что я должен делать, действительно возможно - заблокировать запрос на запись в определенный файл. Не просто заблокировать целый контейнер больших двоичных объектов? Я знаю, что вы делаете наоборот: если вы хотите прочитать один файл, вы можете создать SAS только с этим файлом, но это существующий объект. Я говорю о sas для еще не написанного объекта...


Так вот подробнее.

Код аналогичен примеру от MS. У меня есть 3 подхода для создания SAS. Один жестко закодирован с портала, который работает без проблем. Один использует библиотеку для создания SAS, и это, кажется, работает. Но ясно, что мне нужно промежуточное программное обеспечение, чтобы сделать это

    var sharedAccessPolicy = {
                  AccessPolicy: {
            Permissions: permissions,
            Start: startDate,
            Expiry: expiryDate
        } 
    };
    var sasToken = blobService.generateSharedAccessSignature(container,    blobName, sharedAccessPolicy);

Вышеприведенное, похоже, не использует имя BLOB-объекта (имя файла, который будет загружен.

Спасибо Павел

Да, безусловно, можно создать токен SAS для определенного большого двоичного объекта, даже если этот большой двоичный объект не существует. Пожалуйста, поделитесь тем, что вы пробовали до сих пор, и проблемами, с которыми вы столкнулись.

Gaurav Mantri 01.04.2019 13:13

Я собираюсь обновить вопрос, там больше места

paulinventome 01.04.2019 13:16

Ваше поколение токенов SAS выглядит нормально. Не могли бы вы отредактировать свой вопрос и включить код, в котором вы используете этот токен SAS для загрузки файла, и подробное сообщение об ошибке, которое вы получаете. Если вы отследите запрос/ответ, вы получите более подробную информацию об ошибке аутентификации.

Gaurav Mantri 01.04.2019 13:40

@paulinventome у тебя когда-нибудь это работало? в настоящее время в той же лодке - я хочу дать пользователю возможность загружать до <n> документов в контейнер.

SebastianG 17.06.2019 16:18
Как установить LAMP Stack - Security 5/5 на виртуальную машину Azure Linux VM
Как установить LAMP Stack - Security 5/5 на виртуальную машину Azure Linux VM
В предыдущей статье мы завершили установку базы данных, для тех, кто не знает.
Как установить LAMP Stack 1/2 на Azure Linux VM
Как установить LAMP Stack 1/2 на Azure Linux VM
В дополнение к нашему предыдущему сообщению о намерении Azure прекратить поддержку Azure Database для MySQL в качестве единого сервера после 16...
1
4
461
0

Другие вопросы по теме