Azure Key Vault 로깅

하나 이상의 키 자격 증명 모음을 만든 후에는 키 자격 증명 모음에 액세스하는 방법, 시기 및 사용자를 모니터링하려고 할 수도 있습니다. Azure Key Vault에 대해 로깅을 사용하도록 설정하면 제공하는 Azure 스토리지 계정에 이 정보를 저장합니다. 단계별 지침은 Key Vault 로깅을 사용하는 방법을 참조하세요.

키 자격 증명 모음 작업 후 최대 10분 동안 로깅 정보에 액세스할 수 있습니다. 대부분의 경우 더 빠릅니다. 스토리지 계정의 로그 관리에 따라 다릅니다.

  • 스토리지 계정에서 표준 Azure 액세스 제어 메서드를 사용하여 액세스할 수 있는 사용자를 제한함으로써 로그를 보호합니다.
  • 더 이상 스토리지 계정에 유지하지 않으려는 로그를 삭제합니다.

Key Vault에 대한 개요는 Azure Key Vault란?을 참조하세요. Key Vault를 사용할 수 있는 위치에 대한 자세한 내용은 가격 페이지를 참조하세요. Key Vault에 대한 Azure Monitor 사용에 대한 정보입니다.

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 리소스 ID입니다. Key Vault 로그의 경우 항상 Key Vault 리소스 ID입니다.
operationName 다음 표에 설명된 대로 작업의 이름입니다.
operationVersion 클라이언트에서 요청한 REST API 버전입니다.
category 결과 유형입니다. Key Vault 로그의 경우 AuditEvent는 사용 가능한 단일 값입니다.
resultType REST API 요청의 결과입니다.
resultSignature HTTP 상태입니다.
resultDescription 사용 가능한 경우 결과에 대한 더 많은 설명입니다.
durationMs 밀리초 단위로 REST API 요청을 처리하는 데 걸린 시간입니다. 시간은 네트워크 대기 시간을 포함하지 않으므로 클라이언트 쪽에서 측정한 시간은 이 시간과 일치하지 않을 수 있습니다.
callerIpAddress 요청한 클라이언트의 IP 주소입니다.
correlationId 클라이언트가 서비스 쪽(키 자격 증명 모음) 로그를 사용하여 클라이언트 쪽 로그 상관 관계를 지정하도록 전달할 수 있는 선택적 GUID입니다.
identity REST API 요청에 제공된 토큰의 ID입니다. 일반적으로 "사용자", "서비스 주체" 또는 "user+appId" 조합입니다. 예를 들어 요청이 Azure PowerShell cmdlet에서 제공되는 경우입니다.
properties 작업(operationName)에 따라 달라지는 정보입니다. 대부분의 경우 이 필드에는 클라이언트 정보(클라이언트에서 전달한 사용자 에이전트 문자열), 정확한 REST API 요청 URI 및 HTTP 상태 코드가 포함됩니다. 또한 개체가 요청의 결과로 반환되면(예: KeyCreate 또는 VaultGet) 키 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 자격 증명 모음 액세스 정책 변경 이벤트가 게시됨 Event Grid 구독이 있는지와 관계없이 기록됩니다.

Azure Monitor 로그 사용

Azure Monitor 로그에서 Key Vault 솔루션을 사용하여 Key Vault AuditEvent 로그를 검토할 수 있습니다. Azure Monitor 로그에서 로그 쿼리를 사용하여 데이터를 분석하고 필요한 정보를 가져옵니다.

이를 설정하는 방법을 포함한 자세한 내용은 Azure Monitor의 Azure Key Vault를 참조하세요.

로그를 분석하는 방법을 이해하려면 샘플 Kusto 로그 쿼리를 참조하세요.

다음 단계