如何在Azure Portal的Key Vault中查询密钥创建/编辑人?含超90天场景
查询Azure密钥保管库超过90天的密钥创建/修改者
如果活动日志(默认仅保留90天)已无法覆盖目标操作时间,能否查询到信息取决于你之前是否配置了日志长期存储方案,以下是可行的解决方式:
1. 检查活动日志是否导出到Azure存储账户
如果之前已配置将Key Vault的活动日志导出到存储账户,存储账户中的日志会按照你自定义的保留期存储(最长可设置为无限期):
- 操作步骤:
- 打开目标存储账户,进入「容器」找到存储日志的容器(通常名为
insights-logs-audit) - 按日期层级(年/月/日)定位到目标操作时间段的日志文件(JSON格式)
- 可通过Azure Storage Explorer下载日志,或用PowerShell解析:
# 示例:列出指定时间段的Key Vault日志Blob Get-AzStorageBlob -Container insights-logs-audit -Prefix "resourceId=/subscriptions/[你的订阅ID]/resourceGroups/[资源组名]/providers/Microsoft.KeyVault/vaults/[密钥保管库名]/y=[年份]/m=[月份]/d=[日期]" - 在日志内容中查找对应密钥的
Microsoft.KeyVault/vaults/keys/create或Microsoft.KeyVault/vaults/keys/update操作,caller字段即为操作发起者的账户信息。
- 打开目标存储账户,进入「容器」找到存储日志的容器(通常名为
2. 检查活动日志是否发送到Log Analytics工作区
若之前将活动日志导入到Log Analytics,工作区的日志保留期可设置为最多730天,可通过Kusto查询检索:
- 示例Kusto查询语句:
执行查询后,AzureActivity | where ResourceProvider == "Microsoft.KeyVault" | where Resource == "[你的密钥保管库名称]" | where OperationNameValue in ("Microsoft.KeyVault/vaults/keys/create/action", "Microsoft.KeyVault/vaults/keys/update/action") | where Properties contains "[目标密钥名称]" | project EventTimestamp, OperationName, Caller, PropertiesCaller列会显示操作发起者的账户详情。
3. 检查Key Vault诊断日志
Key Vault的诊断日志包含更细致的密钥操作记录,若之前已启用并导出到存储账户或Log Analytics:
- 若导出到存储账户,日志容器通常为
insights-logs-keyvaultlogs,解析方式与活动日志一致; - 若导出到Log Analytics,可使用类似Kusto查询筛选目标操作,提取发起者信息。
无提前配置的情况
如果之前未配置任何日志长期存储方案,超过90天的活动日志已被Azure自动清理,无法再查询到对应的创建/修改者信息。建议后续为Key Vault配置日志导出到存储账户或Log Analytics,并设置合适的保留期,避免此类问题重复发生。
内容的提问来源于stack exchange,提问作者apasic
相关产品推荐
相关产品推荐

