使用 Power BI Create自定义报表

适用于:

希望体验 Microsoft Defender for Endpoint? 注册免费试用版

注意

如果你是美国政府客户,请使用美国政府客户Microsoft Defender for Endpoint中列出的 URI。

提示

为了提高性能,可以使用离地理位置更近的服务器:

  • us.api.security.microsoft.com
  • eu.api.security.microsoft.com
  • uk.api.security.microsoft.com
  • au.api.security.microsoft.com
  • swa.api.security.microsoft.com

在本部分中,你将了解如何基于 Defender for Endpoint API 创建 Power BI 报表。

第一个示例演示如何将 Power BI 连接到高级搜寻 API,第二个示例演示与 OData API(例如计算机操作或警报)的连接。

将 Power BI 连接到高级搜寻 API

  1. 打开 Microsoft Power BI。

  2. 选择“ 获取数据>空白查询”。

    “获取数据”菜单项下的“空白查询”选项

  3. 选择“高级编辑器”。

    高级编辑器菜单项

  4. 复制下面的代码片段并将其粘贴到编辑器中:

        let
            AdvancedHuntingQuery = "DeviceEvents | where ActionType contains 'Anti' | limit 20",
    
            HuntingUrl = "https://api.securitycenter.microsoft.com/api/advancedqueries",
    
            Response = Json.Document(Web.Contents(HuntingUrl, [Query=[key=AdvancedHuntingQuery]])),
    
            TypeMap = #table(
                { "Type", "PowerBiType" },
                {
                    { "Double",   Double.Type },
                    { "Int64",    Int64.Type },
                    { "Int32",    Int32.Type },
                    { "Int16",    Int16.Type },
                    { "UInt64",   Number.Type },
                    { "UInt32",   Number.Type },
                    { "UInt16",   Number.Type },
                    { "Byte",     Byte.Type },
                    { "Single",   Single.Type },
                    { "Decimal",  Decimal.Type },
                    { "TimeSpan", Duration.Type },
                    { "DateTime", DateTimeZone.Type },
                    { "String",   Text.Type },
                    { "Boolean",  Logical.Type },
                    { "SByte",    Logical.Type },
                    { "Guid",     Text.Type }
                }),
    
            Schema = Table.FromRecords(Response[Schema]),
            TypedSchema = Table.Join(Table.SelectColumns(Schema, {"Name", "Type"}), {"Type"}, TypeMap , {"Type"}),
            Results = Response[Results],
            Rows = Table.FromRecords(Results, Schema[Name]),
            Table = Table.TransformColumnTypes(Rows, Table.ToList(TypedSchema, (c) => {c{0}, c{2}}))
    
        in Table
    
  5. 选择“完成”。

  6. 选择 “编辑凭据”。

    “编辑凭据”菜单项

  7. 选择“ 组织帐户>登录”。

    “组织帐户”菜单项中的“登录”选项

  8. 输入凭据并等待登录。

  9. 选择“连接”。

    组织帐户菜单项中的登录确认消息

现在,查询结果显示为表,你可以开始基于该表生成可视化效果! 可以复制此表、重命名表,并在其中编辑高级搜寻查询以获取所需的任何数据。

将 Power BI 连接到 OData API

与上一示例和此示例的唯一区别是编辑器中的查询。

  1. 打开 Microsoft Power BI。

  2. 选择“ 获取数据>空白查询”。

    “获取数据”菜单项下的“空白查询”选项

  3. 选择“高级编辑器”。

    高级编辑器菜单项

  4. 复制以下代码,并将其粘贴到编辑器中,以从组织拉取所有 计算机操作

        let
    
            Query = "MachineActions",
    
            Source = OData.Feed("https://api.securitycenter.microsoft.com/api/" & Query, null, [Implementation="2.0", MoreColumns=true])
        in
            Source
    

    可以对 警报计算机执行相同的操作。 还可以对查询筛选器使用 OData 查询。 请参阅 使用 OData 查询

GitHub 中的 Power BI 仪表板示例

请参阅 Power BI 报表模板

示例报表

查看Microsoft Defender for Endpoint Power BI 报表示例

提示

想要了解更多信息? Engage技术社区中的 Microsoft 安全社区:Microsoft Defender for Endpoint技术社区