如何在Azure KeyVault中检测到机密变更时接收告警
解决Azure KeyVault机密更新告警问题
第一步:检查并修正KeyVault诊断设置
活动日志和Log Analytics中找不到机密更新日志,核心原因大概率是诊断设置未配置正确的日志类别:
- 进入目标KeyVault的诊断设置页面,点击「添加诊断设置」
- 选择要发送日志的目标(比如已关联的Log Analytics工作区)
- 必须勾选AuditEvent类别(该类别包含机密的创建、更新、删除等核心操作日志)
- 保存设置后,等待10-15分钟让日志开始流入目标存储
第二步:创建基于Log Analytics的告警规则
诊断配置完成后,按以下步骤创建告警:
- 打开关联的Log Analytics工作区,进入日志页面,运行以下Kusto查询验证日志是否正常收集:
AzureDiagnostics | where ResourceProvider == "MICROSOFT.KEYVAULT" | where OperationName in ("SecretUpdate", "SecretSet") | project TimeGenerated, Resource, OperationName, CallerIpAddress
若能返回对应操作的日志条目,说明收集正常
2. 点击查询页面的「新建告警规则」
3. 配置条件:保留当前查询结果,设置触发规则为「结果数大于0」,同时配置评估频率和窗口大小(比如每5分钟评估一次,窗口时长5分钟)
4. 配置操作组:添加邮件、短信等通知方式,确保告警能触达指定接收人
5. 设置告警名称、描述,完成规则保存
第三步:验证告警触发
手动更新一次KeyVault中的机密值,等待15分钟左右,检查是否收到告警通知,同时再次运行上述Kusto查询确认日志已生成
额外排查点
- 若仍无日志,检查KeyVault的访问策略,确认诊断设置的系统分配身份拥有足够的日志收集权限(默认会自动配置,但若被手动修改需重新授权)
- 确认操作的是机密值更新而非机密属性修改(后者的OperationName会不同,需调整查询中的匹配值)
内容的提问来源于stack exchange,提问作者havij
相关产品推荐
相关产品推荐

