Azure Attestation 로깅
하나 이상의 Azure Attestation 리소스를 만드는 경우 증명 인스턴스에 액세스하는 방법과 시기 및 대상을 모니터링해야 합니다. Microsoft Azure Attestation에 대한 로깅을 사용하도록 설정하면 사용자가 제공하는 Azure Storage 계정에 정보를 저장할 수 있습니다.
로깅 정보는 작업이 발생한 후 최대 10분까지 사용할 수 있습니다(대부분의 경우 더 빠를 수 있음). 스토리지 계정을 제공하므로 표준 Azure 액세스 제어를 통해 로그를 보호하고 스토리지 계정에 더 이상 유지하지 않으려는 로그를 삭제할 수 있습니다.
Azure Attestation 로그 해석
로깅을 사용하도록 설정하면 지정된 스토리지 계정 에서 insights-logs-auditevent, insights-logs-operational, insights-logs-notprocessed 등 최대 3개의 컨테이너가 자동으로 생성될 수 있습니다. insights-logs-operational 및 insights-logs-notprocessed만 사용하는 것이 좋습니다. insights-logs-auditevent는 VBS를 사용하는 고객에게 로그에 대한 초기 액세스를 제공하기 위해 만들어졌습니다. 로깅에 대한 향후 향상된 기능은 insights-logs-operational 및 insights-logs-notprocessed에서 발생합니다.
Insights-logs-operational에는 모든 TEE 유형에 대한 일반 정보가 포함됩니다.
Insights-logs-notprocessed 에는 일반적으로 잘못된 형식의 HTTP 헤더, 불완전한 메시지 본문 또는 유사한 문제로 인해 서비스가 처리할 수 없는 요청이 포함됩니다.
개별 Blob은 JSON Blob 형식으로 텍스트로 저장됩니다. 로그 항목 예제를 살펴보겠습니다.
{
"Time": "2021-11-03T19:33:54.3318081Z",
"resourceId": "/subscriptions/<subscription ID>/resourceGroups/<resource group name>/providers/Microsoft.Attestation/attestationProviders/<instance name>",
"region": "EastUS",
"operationName": "AttestSgxEnclave",
"category": "Operational",
"resultType": "Succeeded",
"resultSignature": "400",
"durationMs": 636,
"callerIpAddress": "::ffff:24.17.183.201",
"traceContext": "{\"traceId\":\"e4c24ac88f33c53f875e5141a0f4ce13\",\"parentId\":\"0000000000000000\",}",
"identity": "{\"callerAadUPN\":\"deschuma@microsoft.com\",\"callerAadObjectId\":\"6ab02abe-6ca2-44ac-834d-42947dbde2b2\",\"callerId\":\"deschuma@microsoft.com\"}",
"uri": "https://deschumatestrp.eus.test.attest.azure.net:443/attest/SgxEnclave?api-version=2018-09-01-preview",
"level": "Informational",
"location": "EastUS",
"properties":
{
"failureResourceId": "",
"failureCategory": "None",
"failureDetails": "",
"infoDataReceived":
{
"Headers":
{
"User-Agent": "PostmanRuntime/7.28.4"
},
"HeaderCount": 10,
"ContentType": "application/json",
"ContentLength": 6912,
"CookieCount": 0,
"TraceParent": ""
}
}
}
이러한 필드의 대부분은 최상위 공통 스키마에 설명되어 있습니다. 다음 표에서는 최상위 공통 스키마에 포함되지 않은 항목에 대한 필드 이름과 설명을 나열합니다.
필드 이름 | 설명 |
---|---|
traceContext | W3C 추적 컨텍스트를 나타내는 JSON Blob |
uri | 요청 URI |
속성에는 추가 Azure 증명 특정 컨텍스트가 포함됩니다.
필드 이름 | 설명 |
---|---|
failureResourceId | 요청 실패를 초래한 구성 요소의 리소스 ID |
failureCategory | 요청 실패의 범주를 나타내는 광범위한 범주 AzureNetworkingPhysical, AzureAuthorization 등의 범주를 포함합니다. |
failureDetails | 요청 실패에 대한 자세한 정보(사용 가능한 경우) |
infoDataReceived | 클라이언트에서 받은 요청에 대한 정보 일부 HTTP 헤더, 수신된 헤더 수, 콘텐츠 형식 및 콘텐츠 길이를 포함합니다. |