Azure Monitor 中的 Azure Key Vault 分析解决方案
注意
建议使用 Azure Az PowerShell 模块与 Azure 交互。 请参阅安装 Azure PowerShell 以开始使用。 若要了解如何迁移到 Az PowerShell 模块,请参阅 将 Azure PowerShell 从 AzureRM 迁移到 Az。
可以在 Azure Monitor 中使用 Azure 密钥保管库解决方案来查看 Azure Key Vault AuditEvent 日志。
要使用该解决方案,需要启用 Azure Key Vault 诊断的日志记录,并将诊断引导到 Log Analytics 工作区。 不需要将日志写入 Azure Blob 存储。
注意
2017 年 1 月,从 Key Vault 向 Log Analytics 发送日志的受支持方式已发生更改。 如果所用 Key Vault 解决方案的标题中演示了“(已弃用)”中,请参阅从旧 Key Vault 解决方案迁移,了解需要执行的步骤。
安装和配置解决方案
使用以下说明来安装和配置 Azure 密钥保管库解决方案:
- 使用从解决方案库中添加 Azure Monitor 解决方案中所述的流程,将 Azure Key Vault 解决方案添加到 Log Analytics 工作区。
- 使用门户或 PowerShell 为要监视的 Key Vault 资源启用诊断日志记录
在门户中启用 Key Vault 诊断
在 Azure 门户中,导航到要监视的 Key Vault 资源
选择“诊断设置”,打开以下页面
单击“打开诊断”打开以下页面
为诊断设置提供名称。
单击“发送到 Log Analytics”对应的复选框
选择现有的 Log Analytics 工作区,或创建一个工作区
若要启用 AuditEvent 日志,请单击“日志”下面的复选框
单击“保存”,启用在 Log Analytics 工作区中记录诊断日志。
使用 PowerShell 启用 Key Vault 诊断
以下 PowerShell 脚本提供了如何使用 Set-AzDiagnosticSetting
为 Key Vault 启用资源日志记录的示例:
$workspaceId = "/subscriptions/d2e37fee-1234-40b2-5678-0b2199de3b50/resourcegroups/oi-default-CNE2/providers/microsoft.operationalinsights/workspaces/rollingbaskets"
$kv = Get-AzKeyVault -VaultName 'ContosoKeyVault'
Set-AzDiagnosticSetting -ResourceId $kv.ResourceId -WorkspaceId $workspaceId -Enabled $true
查看 Azure 密钥保管库数据集合详细信息
Azure Key Vault 解决方案直接从 Key Vault 收集诊断日志。 不需要将日志写入 Azure Blob 存储,且数据收集无需代理。
下表显示了数据收集方法,以及有关如何为 Azure 密钥保管库收集数据的其他详细信息。
平台 | 直接代理 | Systems Center Operations Manager 代理 | Azure | 需要 Operations Manager? | Operations Manager 代理数据通过管理组发送 | 收集频率 |
---|---|---|---|---|---|---|
Azure | • | 到达时 |
使用 Azure 密钥保管库
安装解决方案后,请在 Azure Monitor 的“概览”页中单击“Key Vault 分析”磁贴,查看 Key Vault 数据。 通过点击“见解”部分下的“更多”,从“Azure Monitor”菜单打开此页面 。
单击“Key Vault 分析”磁贴后,可以查看日志摘要,并钻取以下类别的详细信息:
- 一段时间内的所有密钥保管库操作量
- 一段时间内失败的操作量
- 按操作显示的平均操作延迟
- 对于操作数目需要超过 1000 毫秒和操作列表需超过 1000 毫秒的此类操作的服务质量
查看任何操作的详细信息
在“概览”页上,单击“Key Vault 分析”磁贴。
在“Azure 密钥保管库”仪表板中,查看其中一个边栏选项卡中的摘要信息,并单击一个以在日志搜索页查看其详细信息。
在任何日志搜索页上,都可以按时间、详细结果和日志搜索历史记录查看结果。 也可以按方面进行筛选以缩减搜索结果。
Azure Monitor 日志记录
Azure 密钥保管库解决方案可分析从 Azure 诊断中的 AuditEvent 日志收集的类型为 KeyVaults 的记录。 这些记录的属性如下表中所列:
属性 | 说明 |
---|---|
Type |
AzureDiagnostics |
SourceSystem |
Azure |
CallerIpAddress |
发出请求的客户端 IP 地址 |
Category |
AuditEvent |
CorrelationId |
一个可选 GUID,客户端可传递此 GUID 来使客户端日志与服务端 (Key Vault) 日志相关联。 |
DurationMs |
为 REST API 请求提供服务所花费的时间,以毫秒为单位。 此时间不包括网络延迟,因此在客户端上测得的时间可能与此时间不匹配。 |
httpStatusCode_d |
由请求返回的 HTTP 状态代码(例如,200) |
id_s |
请求的唯一 ID |
identity_claim_appid_g |
应用程序 ID 的 GUID |
OperationName |
Azure 密钥保管库日志记录中所述操作的名称 |
OperationVersion |
客户端请求的 REST API 版本(例如,2015-06-01) |
requestUri_s |
请求的 URI |
Resource |
密钥保管库的名称 |
ResourceGroup |
密钥保管库的资源组 |
ResourceId |
Azure 资源管理器资源 ID。 对于 Key Vault 日志而言,这是 Key Vault 资源 ID。 |
ResourceProvider |
MICROSOFT.KEYVAULT |
ResourceType |
VAULTS |
ResultSignature |
HTTP 状态(例如,确定) |
ResultType |
REST API 请求的结果(例如,成功) |
SubscriptionId |
包含密钥保管库的订阅的 Azure 订阅 ID |
从旧 Key Vault 解决方案迁移
2017 年 1 月,从 Key Vault 向 Log Analytics 发送日志的受支持方式已发生更改。 这些更改带来了以下优势:
- 日志将直接写入 Log Analytics 工作区,无需使用存储帐户
- 从生成日志到在 Log Analytics 中显示日志的延迟时间已缩短
- 配置步骤更少
- 所有类型的 Azure 诊断的通用格式
若要使用更新的解决方案,请执行以下操作:
- 将诊断配置为直接从 Key Vault 发送到 Log Analytics 工作区
- 使用从解决方案库中添加 Azure Monitor 解决方案中所述的过程,启用 Azure Key Vault 解决方案
- 更新所有已保存的查询、仪表板或警报,以使用的新数据类型
- 类型从KeyVaults 更改为 AzureDiagnostics。 可以使用 ResourceType 筛选 Key Vault 日志。
- 不要使用
KeyVaults
,应使用AzureDiagnostics | where ResourceType'=="VAULTS"
- 字段:(字段名称区分大小写)
- 对于名称中包含 _s、_d 或 _g 后缀的任何字段,请将第一个字符更改为小写
- 对于名称中包含 _o 后缀的任何字段,数据会根据嵌套的字段名称拆分为单个字段。 例如,调用方的 UPN 存储在字段
identity_claim_http_schemas_xmlsoap_org_ws_2005_05_identity_claims_upn_s
中 - 字段 CallerIpAddress 已更改为 CallerIPAddress
- 字段 RemoteIPCountry 不再存在
- 删除“Key Vault Analytics (已弃用)”解决方案。 如果使用的是 PowerShell,请使用
Set-AzureOperationalInsightsIntelligencePack -ResourceGroupName <resource group that the workspace is in> -WorkspaceName <name of the log analytics workspace> -IntelligencePackName "KeyVault" -Enabled $false
在发生此项更改之前收集的数据不会显示在新解决方案中。 可以继续使用旧类型和字段名称查询此数据。
疑难解答
排查 Azure 诊断问题
如果收到以下错误消息,说明未注册 Microsoft.insights 资源提供程序:
Failed to update diagnostics for 'resource'. {"code":"Forbidden","message":"Please register the subscription 'subscription id' with Microsoft.Insights."}
若要注册资源提供程序,请在 Azure 门户中执行以下步骤:
- 在左侧导航窗格中,单击“订阅”
- 选择在错误消息中标识的订阅
- 单击“资源提供程序”
- 找到 Microsoft.insights 提供程序
- 单击“注册”链接
注册 Microsoft.insights 资源提供程序以后,可重试配置诊断。
在 PowerShell 中,如果收到以下错误消息,则需更新 PowerShell 版本:
Set-AzDiagnosticSetting : A parameter cannot be found that matches parameter name 'WorkspaceId'.
更新 Azure PowerShell 的版本,按照安装 Azure PowerShell 一文中的说明进行操作。
后续步骤
- 使用 Azure Monitor 中的日志查询查看详细的 Azure Key Vault 数据。