Log de atestado do Azure
Se você criar um ou mais recursos de Atestado do Azure, desejará monitorar como e quando sua instância de atestado é acessada e por quem. Você pode fazer isso habilitando o registro em log para o Atestado do Microsoft Azure, que salva informações em uma conta de armazenamento do Azure fornecida.
As informações de registro estarão disponíveis até 10 minutos após a operação ocorrer (na maioria dos casos, será mais rápido). Como você fornece a conta de armazenamento, pode proteger seus logs por meio de controles de acesso padrão do Azure e excluir logs que não deseja mais manter em sua conta de armazenamento.
Interpretar seus logs de Atestado do Azure
Quando o registro em log está habilitado, até três contêineres podem ser criados automaticamente para você em sua conta de armazenamento especificada: insights-logs-auditevent, insights-logs-operational, insights-logs-notprocessed. Recomenda-se usar apenas insights-logs-operational e insights-logs-notprocessed. insights-logs-auditevent foi criado para fornecer acesso antecipado a logs para clientes que usam VBS. Aprimoramentos futuros no registro em log ocorrerão nos insights-logs-operational e insights-logs-notprocessed.
Insights-logs-operational contém informações genéricas em todos os tipos de TEE.
Insights-logs-notprocessed contém solicitações que o serviço não conseguiu processar, normalmente devido a cabeçalhos HTTP malformados, corpos de mensagens incompletos ou problemas semelhantes.
Os blobs individuais são armazenadas como texto, formatados como um blob JSON. Vejamos um exemplo de entrada de log:
{
"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": ""
}
}
}
A maioria desses campos está documentada no esquema comum de nível superior. A tabela a seguir lista os nomes de campo e as descrições das entradas não incluídas no esquema comum de nível superior:
Nome do Campo | Description |
---|---|
traceContext | Blob JSON representando o contexto de rastreamento do W3C |
uri | URI do pedido |
As propriedades contêm contexto específico adicional de atestado do Azure:
Nome do Campo | Description |
---|---|
failureResourceId | ID de recurso do componente que resultou em falha de solicitação |
failureCategory | Categoria ampla que indica a categoria de uma falha de solicitação. Inclui categorias como AzureNetworkingPhysical, AzureAuthorization etc. |
failureDetalhes | Informações detalhadas sobre uma falha de solicitação, se disponível |
infoDataReceived | Informação sobre o pedido recebido do cliente. Inclui alguns cabeçalhos HTTP, o número de cabeçalhos recebidos, o tipo de conteúdo e o comprimento do conteúdo |