次の方法で共有


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

注:

米国政府機関のお客様の場合は、米国政府機関のお客様の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
  • aea.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. [ Get Data>Blank Query] を選択します

    [データの取得] メニュー項目の [空のクエリ] オプション

  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. [ Get Data>Blank Query] を選択します

    [データの取得] メニュー項目の [空のクエリ] オプション

  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 レポート テンプレートを参照してください。