Авторизация общего ключа для службы таблиц в версии 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>)))