在設定聯邦資料連接器後,你可以透過 Microsoft Sentinel 中的多個介面存取你的聯邦資料表。 聯合資料表的使用方式與其他資料湖資料表相同。 本文說明如何檢視聯邦表格、使用 KQL (Kusto 查詢語言) 查詢,以及在 Jupyter 筆記本中操作。
必要條件
在開始之前,請確保:
- 您的租戶必須已接入 Sentinel 資料湖。 欲了解更多資訊,請參閱 Onboard to Microsoft Sentinel 資料湖
- 你有適當的權限可以查詢 Sentinel 資料湖的資料。 欲了解更多資訊,請參閱 Microsoft Sentinel 平台的角色與權限。
了解聯邦表命名
聯邦表名稱遵循模式 <tableName>_<connectorInstanceName>。 例如:
| 原始桌名 | 連接器實例名稱 | 聯邦表格名稱 |
|---|---|---|
widgets |
ADLS01 |
widgets_ADLS01 |
sales_data |
AzureDBX01 |
sales_data_AzureDBX01 |
inventory |
Fabric01 |
inventory_Fabric01 |
如果連接器實例中有多個資料表名稱相同,則會在連接器實例名稱後附加一個數字識別碼,例如 widgets_ADLS01_1 當連結實例中 ADLS01 呼叫 widgets兩個資料表時。
查詢 Sentinel 資料湖的資料時,請使用聯邦資料表名稱。
檢視表格管理中的聯邦表格
表格管理檢視會提供您 Sentinel 資料湖中所有表格的總覽,包括聯邦表格。
- 導航至 Microsoft SentinelConfiguration>>Tables。
- 選擇 類型 過濾器。
- 選擇 聯邦 並選擇 應用。
查看表格詳情
選擇一列表格以開啟詳細面板。 面板包含三個分頁:
| 索引標籤 | 描述 |
|---|---|
| 概觀 | 關於聯邦表格的基本資訊,包括來源類型與連線狀態。 |
| 資料來源 | 顯示哪些連接器實例提供此表格的資料。 |
| 結構 | 顯示表格欄位、資料類型及欄位描述。 擁有寫入資料湖資料表權限的使用者,可以選擇 刷新結構 以更新來源的欄位及其他結構中繼資料。 |
使用 KQL 查詢聯邦表格
Microsoft Sentinel 中的 KQL 查詢頁面允許你同時查詢聯邦資料表與原生 Sentinel 資料。 聯邦表格支援 KQL 作業、互動式與非同步查詢,以及 MCP 工具。
導航至 Microsoft SentinelData>湖探索>KQL 查詢。
在資訊欄中選擇 「已選取工作區 」按鈕。
選擇 系統資料表 作為其中一個工作區。
在 結構 標籤中,展開 系統資料表 區塊。
展開 聯邦表格 章節。
找出你資料來源的聯盟類型,例如 Microsoft Fabric、Azure Databricks 或 Azure Data Lake Storage Gen2。
展開聯邦類型以查看你的聯邦表格。
展開表格以查看其欄位。
注意事項
由於 KQL 的查詢效能優化,聯邦表格中新資料可供查詢可能需要長達 15 分鐘。
撰寫並執行查詢
對聯邦資料表的查詢運作方式類似於對原生湖泊資料表的查詢,但有幾個重要差異:
外部來源中資料表的結構可能會發生變更。 這可能導致查詢失敗,顯示欄位不存在。 在資料表管理頁面中,選擇聯邦資料表、選擇 結構 標籤並選擇 刷新結構,來刷新欄位。
沒有
TimeGenerated欄位的聯合表格,或TimeGenerated欄位中資料格式錯誤,無法在 Data Lake Explorer 中使用使用者介面的時間選擇器來選擇時間範圍。 在 KQL 正文中定義與你聯邦表格日期格式相符的日期篩選器。
從聯邦查詢建立 KQL 工作
你可以根據使用聯邦資料表的查詢建立 KQL 工作:
- 用聯邦表格撰寫並測試你的 KQL 查詢。
- 在查詢面板右上角選擇 「建立職缺 」按鈕。
- 設定工作設定,包括排程和輸出目的地。
- 保住工作。
注意事項
不支援將資料寫入聯邦表格。 KQL 輸出是根據目前建立 KQL 工作時相同的標準來產生的,可以根據你選擇的目的地寫入新的或現有的表格。
如果聯邦表格沒有欄位
TimeGenerated,或你的輸出沒有每TimeGenerated列都有正確格式化日期值的欄位,KQL 查詢一旦在湖中建立後就無法在表格上運作。
聯邦表完全支援 KQL 工作、非同步查詢及 MCP 工具。
建立包含聯邦表格查詢的 MCP 工具
你可以根據使用聯邦表格的查詢建立 MCP 工具:
用聯邦表格撰寫並測試你的 KQL 查詢。
在查詢編輯器上方選擇 另存為工具 按鈕。
根據需要調整查詢,例如參數化值。
對於任何聯邦資料表的參考,請確保在資料表名稱前加上
workspace("default").。 舉例來說,如果你的資料表是widgets_ADLS01,你的程式碼會顯示workspace("default").widgets_ADLS01在該資料表上。保存工具。
在 Jupyter 筆記本中使用聯邦表格
Federated 表格可透過 Microsoft Sentinel VS Code 擴充功能在 Jupyter 筆記本中存取。
在 Microsoft Sentinel VS Code 擴充中,聯邦表格會出現在以下位置:Lake tables>系統表格>Federated tables
在 Jupyter 筆記本中使用聯邦資料表的模式與原生系統資料表相同:
-
使用完整表格名稱:參考表格,使用該
<tableName>_<connectorInstance>格式。 - 不要指定工作區名稱:讀取操作不需要工作區規格。
- 唯讀存取:聯邦資料表是唯讀的;你無法將資料寫回聯邦來源。
注意事項
第一次啟用資料聯邦後,可能需要長達 24 小時才會看到 Jupyter 筆記本中的聯邦資料表。
Jupyter 筆記本工作
你可以像為原生資料湖資料表建立筆記本工作一樣,建立排程的 Jupyter 筆記本工作,利用聯邦資料表:
- 用聯合表格查詢來建立你的筆記本。
- 測試筆記本以確保聯邦查詢能正確執行。
- 從筆記本創建一個工作。
- 設定工作排程和參數。
注意事項
筆記本工作只能將目標寫入 Sentinel 工作區或系統資料表。 你無法將資料寫入聯邦表格。
最佳做法
查詢優化
- 及早應用過濾器:盡可能在來源端過濾資料以減少資料傳輸。
-
限制結果集:開發過程中的使用
take或limit條款。 - 使用投影:只選擇你需要提升效能的欄位。
範例:優化查詢
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
加入策略
-
使用適當的連接類型:根據你的需求選擇
inner、leftouter或rightouter。 - 加入前篩選:在加入操作前減少資料量。
- 考慮資料大小:將較小的表格放在連接的右側。
錯誤處理
- 檢查連線狀態:在查詢前,請確認聯邦連接器實例是否已連接。
-
處理空值:外部資料可能包含意外的空值;用途
coalesce()或isnull()函式。 - 監控查詢效能:追蹤聯邦查詢的執行時間,以找出效能問題。
疑難排解
查詢未回傳結果
- 確認連接器實例是否處於連接狀態。
- 確認外部資料來源是否可用,以及查詢中目標的資料表。
- 根據目標資料來源,Verify 權限並未從服務主體或 Sentinel 管理身份中移除。
- 請確認你使用的是正確的聯邦表格名稱格式。
- 確保您的 KQL 查詢或筆記本工作階段的導覽窗格中能找到系統表格。
查詢速度很慢
- 應用過濾器以減少從外部來源查詢的資料量。
- 檢查外部來源的效能與可用性。
- 考慮建立經常存取資料的摘要表。
模式不匹配
- 在資料表管理檢視中檢視資料表架構。
- 調整你的查詢以處理結構差異。
- 檢查外部資料表結構自連接器建立後是否有變動。
無法執行聯邦表格的 MCP 工具
確保你在 MCP 工具中引用聯邦資料表時,在資料表名稱 workspace("default"). 前加上前綴。