分享方式:


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/361DA5D4-A47A-4C79-AFDD-XXXXXXXXXXXX/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":"1950a258-227b-4e31-a9cf-XXXXXXXXXXXX"}},
                "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 狀態碼。 此外,在因為提出要求 (例如,KeyCreateVaultGet) 而傳回物件時,此欄位也會包含金鑰 URI (形式為 id)、保存庫 URI 或祕密 URI。

operationName 欄位值的格式為 ObjectVerb。 例如:

  • 所有金鑰保存庫作業都有 Vault<action> 格式,例如 VaultGetVaultCreate
  • 所有金鑰作業都有 Key<action> 格式,例如 KeySignKeyList
  • 所有祕密作業都有 Secret<action> 格式,例如 SecretGetSecretListVersions

下表列出 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 記錄查詢

下一步