Общий ключ для хранилища Azure - PullRequest
0 голосов
/ 27 июня 2018

У меня есть пробная учетная запись Azure, и я создал таблицу в хранилище. Я хочу читать таблицу с помощью REST API. Я просматриваю документ (https://docs.microsoft.com/en-us/rest/api/storageservices/authorization-for-the-azure-storage-services), чтобы подготовить заголовок авторизации для HTTP-запроса. Я не могу найти портал формы 'Общий ключ', Может ли кто-нибудь помочь?

Ответы [ 3 ]

0 голосов
/ 27 июня 2018

Авторизация общего ключа для службы таблиц в версии 2009-09-19 и более поздних версиях использует ту же строку подписи, что и в предыдущих версиях службы таблиц.

Формат заголовка авторизации следующий:

Authorization="[SharedKey|SharedKeyLite] <AccountName>:<Signature>"

Строка подписи Shared Key для запроса к службе таблиц не включает в себя часть CanonicalizedHeaders строки. Кроме того, заголовок Date в этом случае никогда не бывает пустым, даже если запрос устанавливает заголовок x-ms-date r. Если запрос устанавливает x-ms-date, это значение также используется для значения заголовка Date.

Чтобы закодировать строку подписи для запроса к службе таблиц, выполненной с использованием REST API, используйте следующий формат:

StringToSign = VERB + "\n" +   
               Content-MD5 + "\n" +   
               Content-Type + "\n" +  
               Date + "\n" +  
               CanonicalizedResource;  

Этот формат поддерживает Shared Key и Shared Key Lite для всех версий службы Table . Создайте строку CanonicalizedResource в этом формате следующим образом:

1. Начиная с пустой строки (""), добавьте косую черту (/), за которой следует имя учетной записи, которой принадлежит доступ к ресурсу.

2. Добавить кодированный путь URI ресурса. Если URI запроса обращается к компоненту ресурса, добавьте соответствующую строку запроса. Строка запроса должна содержать знак вопроса и параметр comp (например, ?comp=metadata).

Кодирование подписи

Для кодирования подписи используется следующий формат:

Signature=Base64(HMAC-SHA256(UTF8(StringToSign), Base64.decode(<your_azure_storage_account_shared_key>))) 
0 голосов
/ 11 декабря 2018

Вот рабочий пример, который создает файл:

https://github.com/mstaples84/azurefileserviceauth.git

Он основан на учебнике:

https://docs.microsoft.com/de-de/azure/storage/common/storage-rest-api-auth, но решает проблемы, возникшие при создании файла из учебника.

Просто запустите модульный тест «CreateFileAsync ()», чтобы проверить его. Обязательно отредактируйте константы, установленные классом Test, чтобы он работал.

0 голосов
/ 27 июня 2018

Чтобы просмотреть ключи доступа к хранилищу для учетной записи хранилища BLOB-объектов Azure, выполните следующие действия:

Войдите на панель управления Azure.

  1. На панели навигации нажмите Все ресурсы.

  2. Выберите нужную учетную запись хранения.

  3. Нажмите на значок ключа, чтобы просмотреть ключи доступа для учетной записи хранения. Примечание. У каждой учетной записи хранения есть два ключа доступа к хранилищу.

  4. Чтобы скопировать ключ доступа к хранилищу, щелкните значок Копировать рядом с ключом, который хотите скопировать.

...