共用方式為


使用 Microsoft Graph 安全 API 與 Power BI,建立自訂的 Microsoft Defender 全面偵測回應報告

賦能資安專業人士視覺化資料,能迅速辨識潛在的複雜模式、異常與趨勢,這些可能潛藏在雜訊之下。 透過視覺化,SOC 團隊能迅速識別威脅、做出明智決策,並在組織內有效傳達洞見。

有多種方式可以視覺化 Microsoft Defender 安全資料:

  • 在 Microsoft Defender 入口網站中操作內建報告。
  • 使用Microsoft Sentinel Defender產品 (的預設範本工作簿,需要與Microsoft Sentinel) 整合。
  • 在進階狩獵中套用渲染功能。
  • 使用 Power BI 擴充現有的報告功能。

本文利用 Microsoft Graph 安全 API 在 Power BI 中建立一個範例的安全作業中心 (SOC) 效率儀表板。 我們是在使用者情境下存取,因此使用者必須擁有 相應權限 才能查看警示和事件資料。

注意事項

以下範例基於我們全新的 MS Graph 安全 API。 欲了解更多,請見: 使用 Microsoft Graph 安全 API

將資料匯入 Power BI

本節將介紹將 Microsoft Defender 全面偵測回應資料導入 Power BI 所需的步驟,並以警示資料為例。

  1. 開啟 Microsoft Power BI Desktop。

  2. 選擇 「取得資料 > 空白查詢」。

  3. 選擇進階編輯器

    這張截圖展示了如何在 Power BI Desktop 中建立新的資料查詢。

  4. 貼上查詢:

    let
        Source = OData.Feed("https://graph.microsoft.com/v1.0/security/alerts_v2", null, [Implementation="2.0"])
    in
        Source
    
  5. 選取 [完成]

  6. 當系統提示你輸入憑證時,選擇 編輯憑證

    以下是如何編輯 API 連線憑證的截圖。

  7. 選擇 組織帳戶 > 登入

    組織帳號驗證視窗的截圖。

  8. 輸入帳號憑證,存取 Microsoft Defender 全面偵測回應事件資料。

  9. 選擇 「連接」。

現在你的查詢結果會以表格形式呈現,你可以開始在上面建立視覺化。

提示

如果你想視覺化其他形式的 Microsoft Graph 安全資料,如事件事件(Incidents)、進階狩獵(Advanced Hunting)、安全分數(Secure Score)等,請參閱 Microsoft Graph 安全 API 概述

資料過濾

Microsoft 圖形 API 支援 OData 協定,使用者不必擔心分頁問題——或是請求下一組資料。 然而,在繁忙環境中,資料過濾對於改善載入時間至關重要。

Microsoft 圖形 API 支援查詢參數。 以下是報告中使用的幾個過濾器範例:

  • 以下查詢會回傳過去三天內產生的警報清單。 在資料量龐大的環境中使用此查詢,可能會導致數百兆位元組的資料,載入時間可能相當短。 透過這種硬編碼方式,你一打開報告就能快速查看過去三天最新的警示。

    let
        AlertDays = "3",
        TIME = "" & Date.ToText(Date.AddDays(Date.From(DateTime.LocalNow()), -AlertDays), "yyyy-MM-dd") & "",
        Source = OData.Feed("https://graph.microsoft.com/v1.0/security/alerts_v2?$filter=createdDateTime ge " & TIME & "", null, [Implementation="2.0"])
    in
        Source
    
  • 我們不必在某一日期範圍內收集資料,而是透過輸入 YYYY-MM-DD 格式來收集更精確的日期警示。

    let
        StartDate = "YYYY-MM-DD",
        EndDate = "YYYY-MM-DD",
        Source = OData.Feed("https://graph.microsoft.com/v1.0/security/ alerts_v2?$filter=createdDateTime ge " & StartDate & " and createdDateTime lt " & EndDate & "", null, [Implementation="2.0"])
    in
        Source
    
  • 例如,當需要歷史資料 (比較每月) 事件數量時, (無法依日期篩選,因為我們希望追溯) 。 在此情況下,我們需要像以下範例所示,抽取幾個選取的欄位:

    let
        Source = OData.Feed("https://graph.microsoft.com/v1.0/security/alerts_v2?$filter=createdDateTime ge " & StartLookbackDate & " and createdDateTime lt " & EndLookbackDate &
    "&$select=id,title,severity,createdDateTime", null, [Implementation="2.0"])
    in
        Source
    

參數介紹

與其不斷查詢程式碼來調整時間框架,每次開啟報告時,使用參數設定開始日期和結束日期。

  1. 前往查詢編輯器

  2. 選擇 「管理參數」>新參數

  3. 設定目標參數。

    以下範例中,我們使用兩個不同的時間框架:開始日期和結束日期。

    如何在 Power BI 中管理參數的截圖。

  4. 從查詢中移除硬編碼的值,並確保 StartDate 和 EndDate 變數名稱對應參數名稱:

    let
        Source = OData.Feed("https://graph.microsoft.com/v1.0/security/incidents?$filter=createdDateTime ge " & StartDate & " and createdDateTime lt " & EndDate & "", null, [Implementation="2.0"])
    in
        Source
    

報告審查

一旦資料被查詢並設定參數,我們就可以開始檢視報告了。 在 PBIT 報告檔案首次啟動時,系統會提示您提供我們先前指定的參數:

Power BI 範本參數提示視窗的截圖。

儀表板提供三個分頁,旨在提供 SOC 洞見。 第一個分頁會根據所選時間範圍 (提供所有近期警報的摘要) 。 此分頁透過警示細節,依偵測來源、嚴重程度、警示總數及平均解決時間,幫助分析師清楚了解環境中的安全狀態。

結果 Power BI 報告的警示標籤截圖。

第二個分頁則提供更多關於事件與警示中所收集攻擊資料的洞見。 此觀點能讓分析師更深入了解所執行的攻擊類型及其如何映射至 MITRE ATT&CK 框架。

結果 Power BI 報告的洞察分頁截圖。

Power BI 儀表板範例

欲了解更多資訊,請參閱 Power BI 報表範本範例檔