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

適用対象:

注意

米国政府機関のお客様の場合は、Microsoft Defender for Endpointに記載されている URI を米国政府機関のお客様に使用してください。

ヒント

パフォーマンスを向上させるために、地理的な場所に近いサーバーを使用できます。

  • api-us.securitycenter.microsoft.com
  • api-eu.securitycenter.microsoft.com
  • api-uk.securitycenter.microsoft.com

このセクションでは、Defender for Endpoint API の上にPower BI レポートを作成する方法について説明します。

最初の例ではPower BIを Advanced Hunting API に接続する方法を示し、2 番目の例では、マシン アクションやアラートなどの OData API への接続を示します。

Advanced Hunting API へのConnect Power BI

  • Microsoft Power BIを開きます。

  • [データ の空のクエリ****の>取得] をクリックします。

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

  • [詳細エディター] をクリックします。

    詳細エディターメニュー項目

  • 以下をコピーし、エディターに貼り付けます。

    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
  • [完了] をクリックします。

  • [ 資格情報の編集] をクリックします。

    [資格情報の編集] メニュー項目

  • [ 組織アカウント > のサインイン] を選択します。

    [組織アカウント] メニュー項目の [サインイン] オプション

  • 資格情報を入力し、サインインするまで待ちます。

  • [接続] をクリックします。

    [組織アカウント] メニュー項目のサインイン確認メッセージ

  • これで、クエリの結果がテーブルとして表示され、その上に視覚化を作成できるようになります。

  • このテーブルを複製し、名前を変更し、内部の Advanced Hunting クエリを編集して、必要なデータを取得できます。

OData API へのConnect Power BI

  • 上記の例との唯一の違いは、エディター内のクエリです。

  • 以下をコピーし、エディターに貼り付けて、組織からすべての マシン アクション をプルします。

    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レポートのサンプルを表示します。 詳細については、「 コード サンプルを参照する」を参照してください。