Azure 存储共享访问签名 (SAS) REST API 是否需要授权 header
Is an authorization header required by the azure storage shared access signature (SAS) REST API
我需要 read/write 一个 azure 存储 table。
客户端程序配置为使用 read/write 远程 azure table.
的共享访问签名
任何人都可以给我一个很好的例子来说明如何构造授权 header 以使用 sas 吗?
我收到 HTTP 错误代码 403。
Microsoft 文档指定所有其余 API 都必须嵌入授权 header。默认情况下,文档建议我可以使用存储帐户访问密钥为授权 header 生成 HMAC-SHA 代码。我想我在这里遗漏了一些东西。
使用共享访问签名 (SAS) 的整个想法是保护存储帐户访问密钥。同时,文档似乎暗示存储帐户所有者需要提供帐户访问密钥,以便客户端可以使用访问密钥生成 HMAC-SHA 代码。我在这里错过了什么?任何人都可以在这里阐明一下吗?谢谢,
如果您在 request url
中使用 sas_token
,则无需在 header 中提供 Authorization
。
如何检查应该提供哪个header?在 related api page -> go to the Request Headers 部分 -> 检查每个 header,如果 header 是必需的,那么它将在它的描述中描述。这是一个截图供您参考:
使用sas_token查询实体的步骤如下:
1.Generate sas_token 来自 Azure 门户。您可以参考下面的截图:
2.Check 其中 header 是必需的,根据 query-entities -> request-headers,我们知道 x-ms-date
是必需的(这里不需要 Authorization
,因为我们使用 sas_token)。您可以为 x-ms-date
提供一个值,例如 Wed, 13 Jan 2021 01:29:31 GMT
.
如果您不知道如何获取 x-ms-date
header 的值,您可以打开 powershell -> 输入 Get-Date
命令 -> 然后它将生成日期:
3.Prepare 请求 url 和 sas_token,如下所示:
4.Use 一些工具,如 Postman,使用适当的 header 发送请求。这是使用 Postman
:
的测试结果
我需要 read/write 一个 azure 存储 table。 客户端程序配置为使用 read/write 远程 azure table.
的共享访问签名任何人都可以给我一个很好的例子来说明如何构造授权 header 以使用 sas 吗? 我收到 HTTP 错误代码 403。
Microsoft 文档指定所有其余 API 都必须嵌入授权 header。默认情况下,文档建议我可以使用存储帐户访问密钥为授权 header 生成 HMAC-SHA 代码。我想我在这里遗漏了一些东西。
使用共享访问签名 (SAS) 的整个想法是保护存储帐户访问密钥。同时,文档似乎暗示存储帐户所有者需要提供帐户访问密钥,以便客户端可以使用访问密钥生成 HMAC-SHA 代码。我在这里错过了什么?任何人都可以在这里阐明一下吗?谢谢,
如果您在 request url
中使用 sas_token
,则无需在 header 中提供 Authorization
。
如何检查应该提供哪个header?在 related api page -> go to the Request Headers 部分 -> 检查每个 header,如果 header 是必需的,那么它将在它的描述中描述。这是一个截图供您参考:
使用sas_token查询实体的步骤如下:
1.Generate sas_token 来自 Azure 门户。您可以参考下面的截图:
2.Check 其中 header 是必需的,根据 query-entities -> request-headers,我们知道 x-ms-date
是必需的(这里不需要 Authorization
,因为我们使用 sas_token)。您可以为 x-ms-date
提供一个值,例如 Wed, 13 Jan 2021 01:29:31 GMT
.
如果您不知道如何获取 x-ms-date
header 的值,您可以打开 powershell -> 输入 Get-Date
命令 -> 然后它将生成日期:
3.Prepare 请求 url 和 sas_token,如下所示:
4.Use 一些工具,如 Postman,使用适当的 header 发送请求。这是使用 Postman
: