Power BI を使用してカスタム レポートをCreateする

適用対象:

Microsoft Defender ATP を試してみたいですか? 無料試用版にサインアップしてください。

注:

米国政府機関のお客様の場合は、米国政府機関のお客様の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 を Advanced Hunting API に接続する方法を示し、2 番目の例では、マシンアクションやアラートなどの OData API への接続を示しています。

Power BI を Advanced Hunting 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. 次のコードをコピーし、エディターに貼り付けて、organizationからすべてのマシン アクションをプルします。

        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 レポート のサンプルを表示します。

ヒント

さらに多くの情報を得るには、 Tech Community 内の Microsoft Security コミュニティ (Microsoft Defender for Endpoint Tech Community) にご参加ください。