如何获取Azure存储入站请求详情以监控排查异常来源请求
Azure存储未知请求来源排查方案
针对Azure容器存储出现非预期LRS读写计费、监控存在大量未知来源请求的问题,可通过以下步骤获取请求明细、定位来源:
开启事务级诊断日志获取全量请求详情
存储默认的聚合监控指标不会携带请求来源属性,必须开启诊断日志才能拿到单请求的全维度信息:
- 进入目标存储账号门户面板,在监视板块找到「诊断设置」,新建诊断规则
- 勾选收集
Blob读写事务、队列/文件/表事务(对应你使用的存储类型)全类别日志,日志可投递到同账号下的专属日志容器,或对接Log Analytics工作区,日志生效延迟约10-15分钟 - 日志生效后,若使用Log Analytics,执行以下查询即可拉取指定时间段的所有请求明细:
StorageBlobLogs | where TimeGenerated > ago(7d) | project TimeGenerated, OperationName, StatusCode, CallerIpAddress, UserAgentHeader, AuthenticationType, ObjectKey, RequestCharge | sort by TimeGenerated desc
- 核心定位字段说明:
CallerIpAddress:直接获取请求源IP,可通过IP归属判断是自有业务服务、Azure平台内部服务,还是未知公网来源UserAgentHeader:识别请求客户端类型,比如是特定版本的存储SDK、AzCopy工具、Azure平台服务、公网扫描器等AuthenticationType/调用主体:记录请求使用的认证方式(密钥、SAS、Azure AD),以及对应的服务主体/用户对象ID,可直接匹配到具体的调用方账号
排查高频非业务请求的常见来源
累计3.5万次的请求量级,大概率是配置的关联服务或内置规则触发,可优先排查:
- 存储账号内置功能:生命周期管理策略、对象复制规则、软删除快照清理、静态网站索引爬取,这类平台触发的请求UserAgent会带
Microsoft-Storage-Service标识 - 关联云服务:绑定的CDN/Front Door回源请求、Azure搜索索引爬取、Azure备份服务的定期同步、监控服务的健康探测
- 客户端配置问题:业务侧存储SDK的重试策略配置不合理、AKS挂载存储卷时kubelet的定期探活请求、本地开发环境残留的测试任务
- 安全风险:容器开启了匿名公网访问被扫描器爬取、SAS令牌泄露被未授权方调用
实时验证排查
- 可临时调整存储账号防火墙规则,仅放通已知业务的IP段/VNet,观察监控请求量是否回落,若回落则说明未知请求来自公网
- 开启存储账号对应端点的NSG流日志,通过流量分析实时统计访问源IP,快速定位高频请求的发起地址
注意:未开启诊断日志的状态下,无法回溯历史请求的来源信息,开启后仅能采集生效之后产生的请求记录,建议排查期间保持日志开启,直到定位到根因。
内容的提问来源于stack exchange,提问作者Abhishek Yadav
相关产品推荐
相关产品推荐

