You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Azure Blob Storage SAS令牌本地IP可用,VM IP生成的令牌报403授权失败

Azure Blob Storage SAS令牌VM IP调用返回403授权失败的排查方案

问题描述

通过Azure Portal生成Azure Blob Storage的SAS令牌,本地IP访问时功能正常,但使用虚拟机(VM)IP调用Blob存储时返回403(未授权)错误。该令牌设置了10年有效期,原本可正常使用,数小时前突然失效。具体错误信息如下:

{
  "name": "RestError",
  "code": "AuthorizationFailure",
  "statusCode": 403,
  "request": {
    "streamResponseStatusCodes": {},
    "url": "https://ubstagingcontainer.blob.core.windows.net/ubstagingcontainer/ubstagingcontainer/contacts.png?sp=REDACTED&st=REDACTED&se=REDACTED&sip=REDACTED&spr=REDACTED&sv=REDACTED&sr=REDACTED&sig=REDACTED&comp=REDACTED&blockid=REDACTED",
    "method": "PUT",
    "headers": {
      "_headersMap": {
        "x-ms-version": "REDACTED",
        "content-length": "59935",
        "content-type": "application/octet-stream",
        "accept": "application/xml",
        "user-agent": "azsdk-js-storageblob/12.12.0 (NODE-VERSION v16.16.0; Linux 5.15.0-1029-azure)",
        "x-ms-client-request-id": "6242a2d8-b8bd-4d72-bd5b-7ca9dc0d0ad8",
        "cookie": "REDACTED"
      }
    },
    "withCredentials": false,
    "timeout": 0,
    "keepAlive": true,
    "decompressResponse": false,
    "requestId": "6242a2d8-b8bd-4d72-bd5b-7ca9dc0d0ad8"
  },
  "details": {
    "errorCode": "AuthorizationFailure",
    "content-length": "246",
    "content-type": "application/xml",
    "date": "Wed, 11 Jan 2023 11:12:48 GMT",
    "server": "Microsoft-HTTPAPI/2.0",
    "x-ms-client-request-id": "6242a2d8-b8bd-4d72-bd5b-7ca9dc0d0ad8",
    "x-ms-request-id": "c535ade9-701e-005a-20ad-25a762000000",
    "message": "This request is not authorized to perform this operation.\nRequestId:c535ade9-701e-005a-20ad-25a762000000\nTime:2023-01-11T11:12:48.4496393Z",
    "code": "AuthorizationFailure"
  },
  "message": "This request is not authorized to perform this operation.\nRequestId:c535ade9-701e-005a-20ad-25a762000000\nTime:2023-01-11T11:12:48.4496393Z"
}

排查与解决步骤

  • 核对SAS令牌的IP限制
    SAS令牌的sip参数指定了允许访问的IP范围,需确认VM的公网IP是否在该范围内。若VM使用动态公网IP,可能因IP变更导致不在允许列表中。可重新生成SAS并更新IP范围,或暂时取消IP限制验证是否恢复。

  • 确认VM真实出口IP
    部分VM通过NAT网关、负载均衡器访问公网,实际出口IP并非VM自身IP。在VM内执行curl ifconfig.me(Linux)或类似命令获取真实出口IP,对比SAS的IP限制规则。

  • 检查存储账户防火墙规则
    存储账户可能配置了防火墙,仅允许特定IP/虚拟网络访问。进入Azure Portal的存储账户 -> 网络 -> 防火墙和虚拟网络,确认VM的IP或所在虚拟网络已加入允许列表。

  • 验证SAS权限与资源范围
    检查SAS令牌的sp参数是否包含所需权限(如PUT操作需写入权限),sr参数确认权限覆盖的资源层级(容器或单个Blob)。若执行块Blob上传,需确保SAS包含对应写入权限。

  • 同步VM系统时间
    SAS令牌有效性依赖请求时间与Azure服务器时间的同步,若VM系统时间偏差超过15分钟,会被判定为过期。在Linux VM中执行timedatectl检查时间,确保与UTC时间同步;Windows VM可在日期时间设置中开启自动同步。

  • 排查Azure服务状态
    查看Azure Portal左侧导航的Azure状态页面,确认存储账户所在区域的服务是否正常,排除临时性服务故障影响。

内容的提问来源于stack exchange,提问作者Yash Damani

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.05 15:10:29