Nota
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
在创建一个或多个 Key Vault 之后,可能需要监视 Key Vault 的访问方式、时间和访问者。 启用 Azure Key Vault 日志记录会将此信息保存在你提供的 Azure 存储帐户中。 有关分步指南,请参阅如何启用 Key Vault 日志记录。
最多在执行 Key Vault 操作 10 分钟后,就能访问其日志记录信息。 大多数情况下,速度会更快。 存储帐户中的日志完全由你管理:
- 请在存储帐户中使用标准的 Azure 访问控制方法限制可访问日志的人员,以此保护日志。
- 删除不想继续保留在存储帐户中的日志。
有关 Key Vault的概述信息,请参阅什么是 Azure Key Vault?。 有关 Key Vault 可用位置的信息,请参阅定价页。 有关将 Azure Monitor 用于 Key Vault 的信息。
解释 Key Vault 日志
启用日志记录时,系统会为你指定的存储帐户自动创建一个名为“insights-logs-auditevent”的新容器。 可以使用此同一个存储帐户来收集多个 Key Vault 的日志。
每个 Blob 存储为文本,并格式化为 JSON Blob。 让我们看一个示例日志项。
{
"records":
[
{
"time": "2016-01-05T01:32:01.2691226Z",
"resourceId": "/SUBSCRIPTIONS/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/RESOURCEGROUPS/CONTOSOGROUP/PROVIDERS/MICROSOFT.KEYVAULT/VAULTS/CONTOSOKEYVAULT",
"operationName": "VaultGet",
"operationVersion": "2015-06-01",
"category": "AuditEvent",
"resultType": "Success",
"resultSignature": "OK",
"resultDescription": "",
"durationMs": "78",
"callerIpAddress": "104.40.82.76",
"correlationId": "",
"identity": {"claim":{"http://schemas.microsoft.com/identity/claims/objectidentifier":"d9da5048-2737-4770-bd64-XXXXXXXXXXXX","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"live.com#username@outlook.com","appid":"00001111-aaaa-2222-bbbb-3333cccc4444"}},
"properties": {"clientInfo":"azure-resource-manager/2.0","requestUri":"https://control-prod-wus.vaultcore.chinacloudapi.cn/subscriptions/361da5d4-a47a-4c79-afdd-XXXXXXXXXXXX/resourcegroups/contosoresourcegroup/providers/Microsoft.KeyVault/vaults/contosokeyvault?api-version=2015-06-01","id":"https://contosokeyvault.vault.azure.cn/","httpStatusCode":200}
}
]
}
下表列出了字段的名称和描述:
字段名称 | 说明 |
---|---|
时间 | 日期和时间 (UTC)。 |
resourceId | Azure 资源管理器资源 ID。 对于密钥保管库日志,这始终是密钥保管库资源 ID。 |
operationName | 下一份表格中所述操作的名称。 |
操作版本 | 客户端请求的 REST API 版本。 |
类别 | 结果的类型。 对于 Key Vault 日志而言,AuditEvent 是唯一可用值。 |
结果类型 | REST API 请求的结果。 |
resultSignature | HTTP 状态。 |
resultDescription | 有关结果的更多描述(如果有)。 |
durationMs | 为 REST API 请求提供服务所花费的时间,以毫秒为单位。 此时间不包括网络延迟,因此在客户端上测得的时间可能与此时间不匹配。 |
callerIpAddress | 发出请求的客户端的 IP 地址。 |
correlationId | 一个可选 GUID,客户端可传递此 GUID 来使客户端日志与服务端 (Key Vault) 日志相关联。 |
身份 | 在 REST API 请求中提供的令牌中的标识。 通常为“用户”、“服务主体”或组合“用户+appId”,例如,当请求来自 Azure PowerShell cmdlet 时。 |
性能 | 此字段根据操作 (operationName) 包含不同的信息。 在大多数情况下,此字段包含客户端信息(客户端传递的用户代理字符串)、具体 REST API 请求 URI 和 HTTP 状态代码。 此外,在根据请求(例如,KeyCreate 或 VaultGet)返回对象时,此字段还将包含密钥 URI( 形式)、保管库 URI 或机密 URI。 |
operationName 字段值采用 ObjectVerb 格式。 例如:
- 所有 Key Vault 操作采用
Vault<action>
格式,例如VaultGet
和VaultCreate
。 - 所有密钥操作采用
Key<action>
格式,例如KeySign
和KeyList
。 - 所有机密操作采用
Secret<action>
格式,例如SecretGet
和SecretListVersions
。
下表列出了 operationName 值和对应的 REST API 命令:
操作名称表
操作名称 | REST API 命令 |
---|---|
身份验证 | 通过 Microsoft Entra 终结点进行身份验证 |
VaultGet | 获取有关密钥保管库的信息 |
VaultPut | 创建或更新密钥保管库 |
VaultDelete | 删除密钥保管库 |
VaultPatch | 更新密钥保管库 |
VaultRecover | 恢复已删除的保管库 |
VaultAccessPolicyChangedEventGridNotification | 保管库访问策略更改事件已发布。 无论是否存在事件网格订阅,都会记录该事件。 |
使用 Azure Monitor 日志
可以使用 Azure Monitor 日志中的 Key Vault 解决方案查看 Key Vault AuditEvent
日志。 在 Azure Monitor 日志中,可以使用日志查询来分析数据并获取所需的信息。
有关详细信息,包括如何进行设置,请参阅 Azure Monitor 中的 Azure Key Vault。
若要了解如何分析日志,请参阅 示例 Kusto 日志查询
后续步骤
- 如何启用 Key Vault 日志记录
- Azure Monitor
- 有关在 .NET Web 应用程序中使用 Azure Key Vault 的教程,请参阅从 Web 应用程序使用 Azure Key Vault。
- 有关编程参考,请参阅 Azure 密钥保管库开发人员指南。
- 有关 Azure Key Vault 的 Azure PowerShell 1.0 cmdlet 列表,请参阅 Azure Key Vault cmdlet。