ログ クエリの監査ログには、Azure Monitor で実行されるログ クエリに関するテレメトリが用意されています。 これには、クエリがいつ実行されたか、誰が実行したか、どのツールが使用されたか、クエリ テキスト、クエリの実行を説明するパフォーマンス統計などの情報が含まれています。
クエリの監査を構成する
クエリの監査は、Log Analytics ワークスペースの診断設定を使用して有効にします。 これにより、現在のワークスペースまたはサブスクリプション内のその他のワークスペース、Azure Event Hubs (Azure の外部に送信するため)、または Azure Storage (アーカイブのため) に監査データを送信することができます。
Azure Portal
Azure portal で、次のいずれかの場所にある Log Analytics ワークスペースの診断設定にアクセスします。
[Azure Monitor] メニューから [診断設定] を選択し、ワークスペースを見つけて選択します。
[Log Analytics ワークスペース] メニューからワークスペースを選択し、 [診断設定] を選択します。
Resource Manager テンプレート
Resource Manager テンプレートの例は、「Log Analytics ワークスペースの診断設定」から入手できます。
監査データ
監査レコードは、クエリが実行されるたびに作成されます。 Log Analytics ワークスペースにデータを送信すると、LAQueryLogs というテーブルに格納されます。 監査データの各レコードのプロパティについて次の表で説明します。
フィールド | 説明 |
---|---|
タイムジェネレイテッド | クエリが送信された UTC 時刻。 |
CorrelationId | クエリを識別する一意の ID。 トラブルシューティングのシナリオで、Microsoft に問い合わせるときに使用できます。 |
AADObjectId | クエリを開始したユーザー アカウントの Microsoft Entra ID。 |
AADTenantId | クエリを開始したユーザー アカウントのテナントの ID。 |
AADEmail | クエリを開始したユーザー アカウントのテナントのメール アドレス。 |
AAD クライアント ID | クエリを開始するために使用されたアプリケーションの ID と解決済みの名前。 |
リクエストクライアントアプリ | クエリを開始するために使用されたアプリケーションの解決済みの名前。 詳細については、「クライアント アプリを要求する」を参照してください。 |
QueryTimeRangeStart | クエリに対して選択された時間範囲の開始。 これは一部のシナリオでは設定されない場合があります。たとえば、クエリが Log Analytics から開始され、時間範囲が時間ピッカーではなくクエリ内で指定されている場合などです。 |
クエリ時間範囲終了 | クエリに対して選択された時間範囲の終了。 これは一部のシナリオでは設定されない場合があります。たとえば、クエリが Log Analytics から開始され、時間範囲が時間ピッカーではなくクエリ内で指定されている場合などです。 |
クエリテキスト | 実行されたクエリのテキスト。 |
RequestTarget | クエリを送信するために API URL が使用されました。 |
リクエストコンテキスト | クエリが実行を要求された対象のリソースの一覧。 最大 3 つの文字列配列 (ワークスペース、アプリケーション、リソース) が含まれます。 サブスクリプションまたはリソース グループを対象とするクエリは、resources と示されます。 RequestTarget によって暗黙的に示されたターゲットが含まれます。 解決できる場合は、各リソースのリソース ID が含まれます。 リソースへのアクセス時にエラーが返された場合は、解決できない可能性があります。 この場合は、クエリの特定のテキストが使用されます。 クエリであいまいな名前 (複数のサブスクリプションに存在するワークスペース名など) が使用されている場合は、このあいまいな名前が使用されます。 |
リクエストコンテキストフィルター | クエリの呼び出しの一部として指定されたフィルターのセット。 最大で3つの文字列配列が含まれます。 - ResourceTypes - クエリのスコープを制限するリソースの種類 - Workspaces - クエリを制限するワークスペースの一覧 - WorkspaceRegions - クエリを制限するワークスペース リージョンの一覧 |
レスポンスコード | クエリの送信時に返された HTTP 応答コード。 |
応答時間 (ResponseDurationMs) | 応答が返されるまでの時間。 |
ResponseRowCount | クエリによって返される行の合計数。 |
StatsCPUTimeMs | 計算、解析、データの取得に使用された合計コンピューティング時間。 クエリが状態コード 200 で返された場合にのみ設定されます。 |
StatsDataProcessedKB | クエリを処理するためにアクセスされたデータの量。 対象のテーブルのサイズ、使用された期間、適用されたフィルター、参照されている列の数の影響を受けます。 クエリが状態コード 200 で返された場合にのみ設定されます。 |
統計データ処理開始 | クエリを処理するためにアクセスされた最も古いデータの時刻。 クエリの明示的な期間と適用されるフィルターの影響を受けます。 これは、データのパーティション分割のために、明示的な期間よりも長くなる場合があります。 クエリが状態コード 200 で返された場合にのみ設定されます。 |
統計データ処理完了 | クエリを処理するためにアクセスされた最も新しいデータの時刻。 クエリの明示的な期間と適用されるフィルターの影響を受けます。 これは、データのパーティション分割のために、明示的な期間よりも長くなる場合があります。 クエリが状態コード 200 で返された場合にのみ設定されます。 |
StatsWorkspaceCount | クエリによってアクセスされたワークスペースの数。 クエリが状態コード 200 で返された場合にのみ設定されます。 |
StatsRegionCount | クエリによってアクセスされたリージョンの数。 クエリが状態コード 200 で返された場合にのみ設定されます。 |
クライアント アプリを要求する
リクエストクライアントアプリ | 説明 |
---|---|
AAPBI | Log Analytics の Power BI との統合。 |
アプリ解析 | Azure ポータルでの Log Analytics のエクスペリエンス。 |
AppInsightsポータル拡張 | ワークブックまたはアプリケーションインサイト。 |
ASCポータル | Microsoft Defender for Cloud。 |
ASI_Portal | Sentinel。 |
AzureAutomation | Azure Automation。 |
AzureMonitorLogsConnector | Azure Monitor Logs コネクタ。 |
csharpsdk | ログアナリティクス クエリ API。 |
Draft-Monitor | Azure portal でのログ検索アラートの作成。 |
グラファナ | Grafana コネクタ。 |
IbizaExtension | Azure ポータルでの Log Analytics のエクスペリエンス。 |
infraInsights/container | コンテナーの分析情報。 |
infraInsights/vm | VM の分析情報。 |
LogAnalyticsExtension(ログ分析拡張機能) | Azure ダッシュボード。 |
LogAnalyticsPSClient | ログアナリティクス クエリ API。 |
OmsAnalyticsPBI | Log Analytics の Power BI との統合。 |
PowerBIConnector (パワーBIコネクター) | Log Analytics の Power BI との統合。 |
セントネル調査クエリ | Sentinel。 |
センチネル-データ収集集約器 | Sentinel。 |
センチネル-アナリティクス管理-カスタマー問い合わせ | Sentinel。 |
未知 | ログアナリティクス クエリ API。 |
アップデート管理 | 更新の管理。 |
考慮事項
- クエリは、ユーザー コンテキストで実行された場合にのみログに記録されます。 Azure 内のサービス間のものは、ログに記録されません。 この例外に含まれる 2 つの主なクエリのセットとしては、課金計算と自動アラート実行があります。 アラートの場合、スケジュールされたアラート クエリそのものだけは記録されず、アラート作成画面でのアラートの初回の実行はユーザー コンテキストで実行されるため、監査の目的で使用できます。
- Azure Data Explorer プロキシからのクエリではパフォーマンス統計を使用することはできません。 これらのクエリのその他すべてのデータは、引き続き提供されます。
- 文字列リテラルを難読化する文字列に対する h ヒントは、クエリ監査ログに影響しません。 クエリは、文字列が難読化されることなく、送信されたとおりにキャプチャされます。 このデータを表示するためのコンプライアンス権限を持つユーザーのみが、Log Analytics ワークスペースで利用可能なさまざまな Kubernetes RBAC または Azure RBAC モードを使用してそれを実行できるようにする必要があります。
- 複数のワークスペースのデータを含むクエリの場合、クエリは、ユーザーがアクセスできるワークスペースでのみキャプチャされます。
コスト
Azure Diagnostics 拡張機能には料金はかかりませんが、取り込まれたデータの料金が発生する場合があります。 データの収集先については、「Azure Monitor の価格」を参照してください。
次のステップ
- 診断設定の詳細を確認します。
- ログ クエリの最適化の詳細を確認します。