Registro em log do Atestado do Azure
Se você criar um ou mais recursos do Atestado do Azure, você vai querer 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 por você.
As informações de registro estarão disponíveis até 10 minutos após a operação (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. É recomendável usar apenas insights-logs-operational e insights-logs-notprocessados. insights-logs-auditevent foi criado para fornecer acesso antecipado aos logs para clientes que usam a VBS. Melhorias futuras no log ocorrerão no insights-logs-operational e insights-logs-notprocessados.
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, geralmente devido a cabeçalhos HTTP malformados, corpos de mensagens incompletos ou problemas semelhantes.
Os blobs individuais são armazenados como texto, formatados como um blob JSON. Vamos examinar 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 | Descrição |
---|---|
traceContext | Blob do JSON que representa o contexto de rastreamento do W3C |
uri | URI da solicitação |
As propriedades contêm contexto específico de atestado do Azure adicional:
Nome do campo | Descrição |
---|---|
failureResourceId | ID do recurso do componente que resultou em falha na solicitação |
failureCategory | Categoria ampla que indica a categoria de uma falha de solicitação. Inclui categorias como AzureNetworkingPhysical, AzureAuthorization etc. |
failureDetails | Informações detalhadas sobre uma falha de solicitação, se disponível |
infoDataReceived | Informações sobre a solicitação recebida 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 |