在 Microsoft Sentinel 中使用聯邦資料來源

在設定聯邦資料連接器後,你可以透過 Microsoft Sentinel 中的多個介面存取你的聯邦資料表。 聯合資料表的使用方式與其他資料湖資料表相同。 本文說明如何檢視聯邦表格、使用 KQL (Kusto 查詢語言) 查詢,以及在 Jupyter 筆記本中操作。

必要條件

在開始之前,請確保:

了解聯邦表命名

聯邦表名稱遵循模式 <tableName>_<connectorInstanceName>。 例如:

原始桌名 連接器實例名稱 聯邦表格名稱
widgets ADLS01 widgets_ADLS01
sales_data AzureDBX01 sales_data_AzureDBX01
inventory Fabric01 inventory_Fabric01

如果連接器實例中有多個資料表名稱相同,則會在連接器實例名稱後附加一個數字識別碼,例如 widgets_ADLS01_1 當連結實例中 ADLS01 呼叫 widgets兩個資料表時。

查詢 Sentinel 資料湖的資料時,請使用聯邦資料表名稱。

檢視表格管理中的聯邦表格

表格管理檢視會提供您 Sentinel 資料湖中所有表格的總覽,包括聯邦表格。

  1. 導航至 Microsoft SentinelConfiguration>>Tables
  2. 選擇 類型 過濾器。
  3. 選擇 聯邦 並選擇 應用

截圖顯示表格管理視圖,篩選出聯邦表格。

查看表格詳情

選擇一列表格以開啟詳細面板。 面板包含三個分頁:

索引標籤 描述
概觀 關於聯邦表格的基本資訊,包括來源類型與連線狀態。
資料來源 顯示哪些連接器實例提供此表格的資料。
結構 顯示表格欄位、資料類型及欄位描述。 擁有寫入資料湖資料表權限的使用者,可以選擇 刷新結構 以更新來源的欄位及其他結構中繼資料。

截圖顯示聯邦表格細節的飛出視窗,包含總覽、資料來源和結構分頁。

使用 KQL 查詢聯邦表格

Microsoft Sentinel 中的 KQL 查詢頁面允許你同時查詢聯邦資料表與原生 Sentinel 資料。 聯邦表格支援 KQL 作業、互動式與非同步查詢,以及 MCP 工具。

  1. 導航至 Microsoft SentinelData>湖探索>KQL 查詢

  2. 在資訊欄中選擇 「已選取工作區 」按鈕。

  3. 選擇 系統資料表 作為其中一個工作區。

  4. 結構 標籤中,展開 系統資料表 區塊。

  5. 展開 聯邦表格 章節。

  6. 找出你資料來源的聯盟類型,例如 Microsoft Fabric、Azure Databricks 或 Azure Data Lake Storage Gen2。

  7. 展開聯邦類型以查看你的聯邦表格。

  8. 展開表格以查看其欄位。

注意事項

由於 KQL 的查詢效能優化,聯邦表格中新資料可供查詢可能需要長達 15 分鐘。

顯示 KQL 查詢結構分頁的截圖,並展開了聯邦表格。

撰寫並執行查詢

對聯邦資料表的查詢運作方式類似於對原生湖泊資料表的查詢,但有幾個重要差異:

  • 外部來源中資料表的結構可能會發生變更。 這可能導致查詢失敗,顯示欄位不存在。 在資料表管理頁面中,選擇聯邦資料表、選擇 結構 標籤並選擇 刷新結構,來刷新欄位。

  • 沒有 TimeGenerated 欄位的聯合表格,或 TimeGenerated 欄位中資料格式錯誤,無法在 Data Lake Explorer 中使用使用者介面的時間選擇器來選擇時間範圍。 在 KQL 正文中定義與你聯邦表格日期格式相符的日期篩選器。

從聯邦查詢建立 KQL 工作

你可以根據使用聯邦資料表的查詢建立 KQL 工作:

  1. 用聯邦表格撰寫並測試你的 KQL 查詢。
  2. 在查詢面板右上角選擇 「建立職缺 」按鈕。
  3. 設定工作設定,包括排程和輸出目的地。
  4. 保住工作。

注意事項

  • 不支援將資料寫入聯邦表格。 KQL 輸出是根據目前建立 KQL 工作時相同的標準來產生的,可以根據你選擇的目的地寫入新的或現有的表格。

  • 如果聯邦表格沒有欄位 TimeGenerated ,或你的輸出沒有每 TimeGenerated 列都有正確格式化日期值的欄位,KQL 查詢一旦在湖中建立後就無法在表格上運作。

聯邦表完全支援 KQL 工作、非同步查詢及 MCP 工具。

建立包含聯邦表格查詢的 MCP 工具

你可以根據使用聯邦表格的查詢建立 MCP 工具:

  1. 用聯邦表格撰寫並測試你的 KQL 查詢。

  2. 在查詢編輯器上方選擇 另存為工具 按鈕。

  3. 根據需要調整查詢,例如參數化值。

  4. 對於任何聯邦資料表的參考,請確保在資料表名稱前加上 workspace("default").。 舉例來說,如果你的資料表是 widgets_ADLS01,你的程式碼會顯示 workspace("default").widgets_ADLS01 在該資料表上。

  5. 保存工具。

在 Jupyter 筆記本中使用聯邦表格

Federated 表格可透過 Microsoft Sentinel VS Code 擴充功能在 Jupyter 筆記本中存取。

在 Microsoft Sentinel VS Code 擴充中,聯邦表格會出現在以下位置:Lake tables>系統表格>Federated tables

Microsoft Sentinel VS Code 擴充套件中 System tables Federated tables 下的聯合表格截圖。

在 Jupyter 筆記本中使用聯邦資料表的模式與原生系統資料表相同:

  1. 使用完整表格名稱:參考表格,使用該 <tableName>_<connectorInstance> 格式。
  2. 不要指定工作區名稱:讀取操作不需要工作區規格。
  3. 唯讀存取:聯邦資料表是唯讀的;你無法將資料寫回聯邦來源。

注意事項

第一次啟用資料聯邦後,可能需要長達 24 小時才會看到 Jupyter 筆記本中的聯邦資料表。

Jupyter 筆記本工作

你可以像為原生資料湖資料表建立筆記本工作一樣,建立排程的 Jupyter 筆記本工作,利用聯邦資料表:

  1. 用聯合表格查詢來建立你的筆記本。
  2. 測試筆記本以確保聯邦查詢能正確執行。
  3. 從筆記本創建一個工作。
  4. 設定工作排程和參數。

注意事項

筆記本工作只能將目標寫入 Sentinel 工作區或系統資料表。 你無法將資料寫入聯邦表格。

最佳做法

查詢優化

  • 及早應用過濾器:盡可能在來源端過濾資料以減少資料傳輸。
  • 限制結果集:開發過程中的使用 takelimit 條款。
  • 使用投影:只選擇你需要提升效能的欄位。

範例:優化查詢

large_dataset_adls_connector
| where EventTime >= ago(1h)           // Filter early
| where EventType == "Login"           // Reduce data volume
| project EventTime, UserId, SourceIP  // Select needed columns
| take 10000                           // Limit results

加入策略

  • 使用適當的連接類型:根據你的需求選擇 innerleftouterrightouter
  • 加入前篩選:在加入操作前減少資料量。
  • 考慮資料大小:將較小的表格放在連接的右側。

錯誤處理

  • 檢查連線狀態:在查詢前,請確認聯邦連接器實例是否已連接。
  • 處理空值:外部資料可能包含意外的空值;用途 coalesce()isnull() 函式。
  • 監控查詢效能:追蹤聯邦查詢的執行時間,以找出效能問題。

疑難排解

查詢未回傳結果

  • 確認連接器實例是否處於連接狀態。
  • 確認外部資料來源是否可用,以及查詢中目標的資料表。
  • 根據目標資料來源,Verify 權限並未從服務主體或 Sentinel 管理身份中移除。
  • 請確認你使用的是正確的聯邦表格名稱格式。
  • 確保您的 KQL 查詢或筆記本工作階段的導覽窗格中能找到系統表格。

查詢速度很慢

  • 應用過濾器以減少從外部來源查詢的資料量。
  • 檢查外部來源的效能與可用性。
  • 考慮建立經常存取資料的摘要表。

模式不匹配

  • 在資料表管理檢視中檢視資料表架構。
  • 調整你的查詢以處理結構差異。
  • 檢查外部資料表結構自連接器建立後是否有變動。

無法執行聯邦表格的 MCP 工具

確保你在 MCP 工具中引用聯邦資料表時,在資料表名稱 workspace("default"). 前加上前綴。

後續步驟