Azure Blob文档上传失败:AuthorizationFailure错误排查求助
核心问题定位
报错提示Signature did not match,说明请求签名与服务器验证签名不一致,导致403授权失败,以下分两种认证场景给出排查步骤:
场景一:使用StorageSharedKeyCredential认证
- 开启签名字符串日志:在上传方法调用中传入上下文键值对
'Azure-Storage-Log-String-To-Sign': true,获取SDK生成的待签名字符串,手动对比本地计算的签名与服务器返回的签名差异 - 验证Access Key正确性:确认存储账户的Access Key无复制错误(如多余空格、特殊字符遗漏),确保使用的是当前有效的账户密钥(而非已轮换的旧密钥)
- 核对请求参数一致性:检查请求中的存储账户名、Blob容器名、目标文件名是否与实际资源完全匹配;确认本地时钟与Azure服务器时钟偏差不超过15分钟(时钟偏差会导致签名验证失败)
场景二:使用SAS Token认证
- 开启签名字符串日志:在调用
generateSas方法时传入上下文键值对'Azure-Storage-Log-String-To-Sign': true,获取SDK生成的待签名字符串,对比生成逻辑是否符合预期 - 检查SAS权限与有效期:确认SAS Token包含
Write或Create权限,且当前时间在SAS的有效期范围内(避免使用已过期或未生效的SAS) - 核对SAS生成参数:验证生成SAS时指定的资源类型(Blob/Container)、存储账户名、权限范围等参数是否正确,无拼写或配置错误
重要注意事项
生产环境部署前必须禁用'Azure-Storage-Log-String-To-Sign',该字符串可能包含PII(个人可识别信息),存在数据泄露风险
内容的提问来源于stack exchange,提问作者SATWIK BADANI
相关产品推荐
相关产品推荐

