如何在Azure App Insights租户级配置忽略特定URL?
在Azure租户范围内配置App Insights忽略指定URL(避免PHI/PII数据采集)
可以通过以下两种租户级别的方案实现需求,确保传输PHI/PII数据的URL请求不被App Insights采集:
1. 利用Azure Policy强制应用级遥测过滤
通过Azure Policy将URL过滤规则强制应用到租户内所有相关资源,确保统一执行:
- 自定义遥测初始化器:在应用代码中实现遥测过滤逻辑(以.NET为例),检查请求URL是否在排除列表中,匹配则禁用该条遥测的采集。示例代码:
注册初始化器(Startup.cs):public class ExcludeSensitiveUrlsInitializer : ITelemetryInitializer { private readonly List<string> _blockedUrls = new() { "http://someservice.contsohealth.com/webhook" // 追加其他需排除的URL }; public void Initialize(ITelemetry telemetry) { if (telemetry is RequestTelemetry reqTelemetry) { if (_blockedUrls.Any(url => reqTelemetry.Url.AbsoluteUri.Contains(url))) { reqTelemetry.Context.TelemetryConfiguration.DisableTelemetry = true; } } } }services.AddSingleton<ITelemetryInitializer, ExcludeSensitiveUrlsInitializer>(); - 配置Azure Policy:创建Policy规则,要求租户内所有关联App Insights的应用服务必须包含上述遥测过滤逻辑,确保规则统一落地。
2. 通过Log Analytics工作区数据收集规则(DCR)过滤
若使用工作区型Application Insights,可在租户级管理的Log Analytics工作区层面设置数据过滤,在数据入库前丢弃敏感URL的遥测:
- 进入目标Log Analytics工作区,找到「数据收集规则」;
- 创建或编辑规则,添加过滤条件:当遥测数据的
url字段匹配指定URL列表时,丢弃该条数据; - 此方式无需修改应用代码,直接在数据管道层面拦截敏感请求的采集。
注意事项
- 配置生效后仅对新产生的遥测数据生效,已存储的历史数据无法回溯删除;
- 非.NET应用(如Java、Python)可通过对应语言框架的遥测API实现类似的URL过滤逻辑;
- 若使用采样规则,可对匹配敏感URL的请求设置0%采样率,实现同样的排除效果。
内容的提问来源于stack exchange,提问作者Jake
相关产品推荐
相关产品推荐

