하나 이상의 키 자격 증명 모음을 만든 후에는 누가, 어떻게, 언제 키 자격 증명 모음에 액세스하는지를 모니터링하고 싶을 것입니다. Azure Key Vault에 대한 로깅을 사용하도록 설정하면 사용자가 제공한 Azure Storage 계정에 이 정보가 저장됩니다. 단계별 지침은 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/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}
}
]
}
다음 표에는 필드 이름 및 설명이 나와 있습니다.
필드 이름 | 설명 |
---|---|
시간 | UTC 형식의 날짜 및 시간입니다. |
resourceId | Azure Resource Manager 리소스 ID입니다. Key Vault 로그의 경우 항상 Key Vault 리소스 ID입니다. |
operationName | 다음 표에 설명된 작업의 이름입니다. |
작업 버전 | 클라이언트에서 요청한 REST API 버전입니다. |
범주 | 결과 유형입니다. Key Vault 로그의 AuditEvent 경우 사용 가능한 단일 값입니다. |
결과유형 | REST API 요청의 결과입니다. |
결과서명 | HTTP 상태입니다. |
결과 설명 | 사용 가능한 경우 결과에 대한 더 많은 설명입니다. |
durationMs | 밀리초 단위로 REST API 요청을 처리하는 데 걸린 시간입니다. 시간에는 네트워크 대기 시간이 포함되지 않으므로 클라이언트 쪽에서 측정하는 시간이 이번에는 일치하지 않을 수 있습니다. |
callerIpAddress | 요청한 클라이언트의 IP 주소입니다. |
correlationId | 클라이언트 쪽 로그와 서비스 쪽(Key Vault) 로그의 상관 관계를 지정하기 위해 클라이언트가 전달할 수 있는 선택적 GUID입니다. |
신원 | REST API 요청에 제공된 토큰의 ID입니다. 일반적으로 요청이 Azure PowerShell cmdlet에서 시작될 때 "사용자", "서비스 주체" 또는 조합 "사용자+앱ID"입니다. |
속성 | 작업(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 명령을 나열합니다.
작업 이름 테이블
작업이름 | REST API 명령 |
---|---|
인증 | Microsoft Entra 엔드포인트를 통해 인증 |
VaultGet | 키 저장소에 대한 정보 얻기 |
VaultPut | 키 자격 증명 보관소 만들기 또는 업데이트 |
VaultDelete | 키 보관소 삭제 |
VaultPatch | 키 볼트 업데이트 |
VaultRecover | 삭제된 저장소 복구 |
보관소 접근 정책 변경 이벤트 그리드 알림 | 자격 증명 모음 액세스 정책 변경 이벤트가 게시됨. Event Grid 구독이 있는지와 관계없이 기록됩니다. |
Azure Monitor 로그 사용
Azure Monitor 로그의 Key Vault 솔루션을 사용하여 Key Vault AuditEvent
로그를 검토할 수 있습니다. Azure Monitor 로그에서 로그 쿼리를 사용하여 데이터를 분석하고 필요한 정보를 가져옵니다.
설정하는 방법을 비롯한 자세한 내용은 Azure Monitor의 Azure Key Vault를 참조하세요.
로그를 분석하는 방법을 이해하려면 샘플 Kusto 로그 쿼리를 참조하세요.
다음 단계
- 키 자격 증명 모음 로깅을 사용하는 방법
- Azure Monitor
- .NET 웹 애플리케이션에서 Azure Key Vault를 사용하는 자습서는 웹 애플리케이션에서 Azure Key Vault 사용을 참조하세요.
- 프로그래밍 참조는 Azure Key Vault 개발자 가이드를 참조하세요.
- Azure Key Vault용 Azure PowerShell 1.0 cmdlet 목록은 Azure Key Vault cmdlet을 참조하세요.