Azure Key Vault 記錄
在建立一或多個金鑰保存庫之後,您可能會想要監視金鑰保存庫的存取方式、時間和存取者。 為 Azure Key Vault 啟用記錄功能,以便將這些資訊儲存在您提供的 Azure 儲存體帳戶中。 如需逐步指引,請參閱如何啟用 Key Vault 記錄。
在金鑰保存庫作業 10 分鐘 (最多) 後,您就可以存取記錄資訊。 但大多不需要這麼久。 儲存體帳戶中的記錄由您全權管理:
- 在儲存體帳戶中使用標準的 Azure 存取控制方法,透過限制可存取記錄的人員來保護記錄。
- 刪除不想繼續保留在儲存體帳戶中的記錄。
如 Key Vault 的概觀資訊,請參閱什麼是 Azure Key Vault? 如需 Key Vault 適用地區的詳細資訊,請參閱定價頁面。 如需使用適用於 Key Vault 的 Azure 監視器相關資訊。
解譯 Key Vault 記錄
當您啟用記錄時,系統會自動為您指定的儲存體帳戶建立稱為 insights-logs-auditevent 的新容器。 您可以使用此相同儲存體帳戶來收集多個金鑰保存庫的記錄。
各個 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.azure.net/subscriptions/361da5d4-a47a-4c79-afdd-XXXXXXXXXXXX/resourcegroups/contosoresourcegroup/providers/Microsoft.KeyVault/vaults/contosokeyvault?api-version=2015-06-01","id":"https://contosokeyvault.vault.azure.net/","httpStatusCode":200}
}
]
}
下表列出各個欄位的名稱和其描述:
欄位名稱 | 描述 |
---|---|
time | 日期和時間 (UTC)。 |
resourceId | Azure Resource Manager 資源識別碼。 對於 Key Vault 記錄來說,這一律是 Key Vault 的資源識別碼。 |
operationName | 下一份表格所述作業的名稱。 |
operationVersion | 用戶端所要求的 REST API 版本。 |
category | 結果的類型。 對於 Key Vault 記錄來說,AuditEvent 是其唯一可用的值。 |
resultType | REST API 要求的結果。 |
resultSignature | HTTP 狀態。 |
resultDescription | 結果的詳細描述 (若有提供)。 |
durationMs | 服務 REST API 要求時所花費的時間,以毫秒為單位。 時間不包括網路延遲,因此在用戶端所測量到的時間可能不符合此時間。 |
callerIpAddress | 提出要求用戶端的 IP 位址。 |
correlationId | 選擇性的 GUID,用戶端可傳遞此 GUID 來讓用戶端記錄與服務端 (金鑰保存庫) 記錄相互關聯。 |
identity | 權杖中的身分識別,會在 REST API 要求中提供。 例如,要求來自 Azure PowerShell Cmdlet 時,通常是「使用者」、「服務主體」或「使用者+appId」的組合。 |
properties | 根據作業 (operationName) 而有所不同的資訊。 在大部分情況下,此欄位會包含用戶端資訊 (用戶端傳遞的使用者代理程式字串)、完全符合的 REST API 要求 URI 和 HTTP 狀態碼。 此外,在因為提出要求 (例如,KeyCreate 或 VaultGet) 而傳回物件時,此欄位也會包含金鑰 URI (形式為 id )、保存庫 URI 或祕密 URI。 |
operationName 欄位值的格式為 ObjectVerb。 例如:
- 所有金鑰保存庫作業都有
Vault<action>
格式,例如VaultGet
和VaultCreate
。 - 所有金鑰作業都有
Key<action>
格式,例如KeySign
和KeyList
。 - 所有祕密作業都有
Secret<action>
格式,例如SecretGet
和SecretListVersions
。
下表列出 operationName 值和相對應的 REST API 命令:
作業名稱資料表
operationName | REST API 命令 |
---|---|
驗證 | 透過 Microsoft Entra 端點進行驗證 |
VaultGet | 取得金鑰保存庫的相關資訊 |
VaultPut | 建立或更新金鑰保存庫 |
VaultDelete | 刪除金鑰保存庫 |
VaultPatch | 更新金鑰保存庫 |
VaultList | 列出資源群組中的所有金鑰保存庫 |
VaultPurge | 清除已刪除的保存庫 |
VaultRecover | 復原已刪除的保存庫 |
VaultGetDeleted | 取得已刪除的保存庫 |
VaultListDeleted | 列出已刪除的保存庫 |
VaultAccessPolicyChangedEventGridNotification | 已發佈保存庫存取原則已變更事件。 不論事件方格訂用帳戶是否存在,都會予以記錄。 |
使用 Azure 監視器記錄
您可以使用 Azure 監視器記錄中的 Key Vault 解決方案來檢閱 Key Vault 的 AuditEvent
記錄。 在 Azure 監視器記錄中,您可以使用記錄查詢來分析資料,並取得所需的資訊。
如需詳細資訊 (包括如何進行此設定),請參閱 Azure 監視器中的 Azure Key Vault。
若要瞭解如何分析記錄,請參閱範例 kusto 記錄查詢
下一步
- 如何啟用 Key Vault 記錄
- Azure 監視器
- 如需在 .NET Web 應用程式中使用 Azure Key Vault 的教學課程,請參閱從 Web 應用程式使用 Azure Key Vault。
- 如需程式設計參考,請參閱 Azure 金鑰保存庫開發人員指南。
- 如需 Azure 金鑰保存庫的 Azure PowerShell 1.0 Cmdlet 清單,請參閱 Azure 金鑰保存庫 Cmdlet。