Azure Attestation のロギング
1 つ以上の Azure Attestation リソースを作成する場合は、認証インスタンスにアクセスする方法とタイミング、およびアクセス者を監視する必要があります。 これは、Microsoft Azure Attestation のロギングを有効にすることによって実行でき、その結果、指定した Azure ストレージ アカウントに情報が保存されます。
ロギング情報は、操作が発生してから最大 10 分後に利用できるようになります (ほとんどの場合、速くなります)。 ストレージ アカウントを指定するため、標準の Azure アクセス制御を使用してログを保護し、ストレージ アカウントに保持する必要がなくなったログを削除できます。
Azure Attestation ログを解釈する
ロギングを有効にすると、指定したストレージ アカウントに最大 3 つのコンテナー (insights-logs-auditevent、insights-logs-operational、insights-logs-notprocessed) が自動的に作成されます。 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 ヘッダー、受信したヘッダーの数、コンテンツの種類とコンテンツの長さなどがあります |