小编Sal*_*hah的帖子

容器的 Azure SAS 令牌引发“无效签名大小”错误

我正在尝试从 Azure 上的容器中列出和下载 blob。当我尝试使用存储帐户访问密钥这样做时,它工作得非常好。但是,在使用 SAS 令牌时失败。我使用以下 PowerShell 脚本生成了 SAS 令牌:

    $storageContext = New-AzureStorageContext -StorageAccountName "myAccount" -StorageAccountKey "<account key>"
$permission = "rwdl"
$sasToken = New-AzureStorageContainerSASToken  -Name "myContainer" -Policy "testPolicy" -Context $storageContext >>sastoken.txt
"
Run Code Online (Sandbox Code Playgroud)

我得到以下结果:

?sv=2017-04-17&sr=c&si=testPolicy&sig=dbS680%2FXgPp4o%2BQCCzpYzGZszCnDHVjCkdHZRf6KDeg%3D
Run Code Online (Sandbox Code Playgroud)

我将资源 URI 附加到 sas 令牌以获取:

https://myAccount.blob.core.windows.net/myContainer?sv=2017-04-17&sr=c&si=testPolicy&sig=dbS680%2FXgPp4o%2BQCCzpYzGZszCnDHVjCkdHZRf6KDeg%3D
Run Code Online (Sandbox Code Playgroud)

并运行以下 CLI 命令:

az storage blob list --container-name myContainer --account-name myAccount --auth-mode key --debug --sas-token "https://myAccount.blob.core.windows.net/myContainer?sv=2017-04-17&sr=c&si=testPolicy&sig=dbS680%2FXgPp4o%2BQCCzpYzGZszCnDHVjCkdHZRf6KDeg%3D" >> bloblist.txt
Run Code Online (Sandbox Code Playgroud)

我收到以下错误:

azure.multiapi.storage.v2018_03_28.common.storageclient :Client-Request-ID=0f7a 7762-3729-11e9-8b32-ffc4c9592d0a 重试策略不允许重试:服务器-时间戳=星期六,2000年2月25日30 GMT,Server-Request-ID=21f07a6a-f01e-00e9-32 35-cb7d5c000000,HTTP 状态代码=403,异常=服务器无法验证请求。确保 Authorization 标头的值正确形成,包括签名。错误代码:AuthenticationFailedAuthenticationFailed服务器无法对请求进行身份验证。确保 Authorization 标头的值正确形成,包括签名。RequestId:21f07a6a-f01e-00e9-3235-cb7d5c000000Time :2019-02-23T05:08:30.7149353Z Signature size is invalid

您没有执行此操作所需的权限。根据您的操作,您可能需要被分配以下角色之一:

"Storage …
Run Code Online (Sandbox Code Playgroud)

containers blob list azure

1
推荐指数
1
解决办法
1720
查看次数

标签 统计

azure ×1

blob ×1

containers ×1

list ×1