备注
建议使用 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 资源启用诊断日志记录
在 Azure 门户中,导航到要监视的 Key Vault 资源
选择“诊断设置”,打开以下页面
单击“打开诊断”打开以下页面
为诊断设置提供名称。
单击“发送到 Log Analytics”对应的复选框
选择现有的 Log Analytics 工作区,或创建一个工作区
若要启用 AuditEvent 日志,请单击“日志”下面的复选框
单击“保存”,启用在 Log Analytics 工作区中记录诊断日志。
以下 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 Key Vault 解决方案直接从 Key Vault 收集诊断日志。 不需要将日志写入 Azure Blob 存储,且数据收集无需代理。
下表显示了数据收集方法,以及有关如何为 Azure 密钥保管库收集数据的其他详细信息。
平台 | 直接代理 | Systems Center Operations Manager 代理 | Azure | 需要 Operations Manager? | Operations Manager 代理数据通过管理组发送 | 收集频率 |
---|---|---|---|---|---|---|
Azure | • | 到达时 |
安装解决方案后,请在 Azure Monitor 的“概览”页中单击“Key Vault 分析”磁贴,查看 Key Vault 数据。 通过点击“见解”部分下的“更多”,从“Azure Monitor”菜单打开此页面 。
单击“Key Vault 分析”磁贴后,可以查看日志摘要,并钻取以下类别的详细信息:
- 一段时间内的所有密钥保管库操作量
- 一段时间内失败的操作量
- 按操作显示的平均操作延迟
- 对于操作数目需要超过 1000 毫秒和操作列表需超过 1000 毫秒的此类操作的服务质量
在“概览”页上,单击“Key Vault 分析”磁贴。
在“Azure 密钥保管库”仪表板中,查看其中一个边栏选项卡中的摘要信息,并单击一个以在日志搜索页查看其详细信息。
在任何日志搜索页上,都可以按时间、详细结果和日志搜索历史记录查看结果。 也可以按方面进行筛选以缩减搜索结果。
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 |
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
在发生此项更改之前收集的数据不会显示在新解决方案中。 可以继续使用旧类型和字段名称查询此数据。
如果收到以下错误消息,说明未注册 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 数据。