使用 Power BI 创建自定义报表

适用于:

希望体验 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
  • ina.api.security.microsoft.com

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

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

将 Power BI 连接到高级搜寻 API

  1. 打开 Power BI Microsoft。

  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. 打开 Power BI Microsoft。

  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技术社区