Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/azure/11.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
通过带有SAS令牌的REST API在Azure Blob存储上获取AuthorizationFailure(403)响应_Azure_Azure Virtual Machine_Azure Blob Storage_Azure Virtual Network - Fatal编程技术网

通过带有SAS令牌的REST API在Azure Blob存储上获取AuthorizationFailure(403)响应

通过带有SAS令牌的REST API在Azure Blob存储上获取AuthorizationFailure(403)响应,azure,azure-virtual-machine,azure-blob-storage,azure-virtual-network,Azure,Azure Virtual Machine,Azure Blob Storage,Azure Virtual Network,在与这个问题斗争了几天之后,我决定将它发布在这里,以防有人可以通过给我一些建议来帮助我 我有一个Azure存储帐户,其中有一个Blob容器,其中包含加密的图像。已使用SAS签名(由Azure VM生成)和客户提供的密钥(x-ms-encryption头),通过PUT请求(从浏览器)将图像上载到Azure Blob存储REST API。但是,当尝试使用GET请求(使用curl)从Azure VM下载映像时,我收到以下403“AuthorizationFailure”错误: 有趣的是,当我使用cur

在与这个问题斗争了几天之后,我决定将它发布在这里,以防有人可以通过给我一些建议来帮助我

我有一个Azure存储帐户,其中有一个Blob容器,其中包含加密的图像。已使用SAS签名(由Azure VM生成)和客户提供的密钥(x-ms-encryption头),通过PUT请求(从浏览器)将图像上载到Azure Blob存储REST API。但是,当尝试使用GET请求(使用curl)从Azure VM下载映像时,我收到以下403“AuthorizationFailure”错误:

有趣的是,当我使用curl、Postman或浏览器从我自己的本地机器,甚至从位于不同资源组和不同虚拟网络中的其他Azure VM执行完全相同的GET请求(完全相同的头)时,它会按预期工作,我可以成功下载加密的映像。这将确认SAS签名和传递的标头构造正确

我已经检查了Azure门户中VM、网络安全组、虚拟网络和存储帐户的所有配置,并将其与成功下载映像的其他VM进行了比较,所有设置都完全相同,除了:

  • 在无法下载映像的VM中,我被授权为该VM的资源组的贡献者,而在工作的VM中,我是帐户的所有者

  • 在我拥有的帐户中,Azure创建了一个名为NetworkWatcherRG的新资源组,它似乎没有附加任何资源。在有问题的VM中,我无法访问该资源组,因此我忽略它是否由Azure创建,以及它是否对我面临的问题有任何影响


  • 如果您能就问题提出任何意见或建议,我将不胜感激。

    我认为当您通过c发送请求时,可能会出现问题,因为代码头可能设置不正确。你能分享你的代码吗?这样我们就能更好地帮助你。。对。
    <?xml version="1.0" encoding="utf-8”?>
    <Error>
      <Code>AuthorizationFailure</Code>
      <Message>
        This request is not authorized to perform this operation.
        RequestId:1b203db6-c01e-0013-1553-6adb9b000000
        Time:2020-08-04T11:33:42.9494992Z
      </Message>
    </Error>