チュートリアル: Log Analytics ワークスペースを構成する

このチュートリアルでは、次の作業を行う方法について説明します。

  • 監査とサインインのログ用に Log Analytics ワークスペースを構成する
  • Kusto クエリ言語 (KQL) を使用してクエリを実行する
  • クイックスタート テンプレートを使用してカスタム ブックを作成する
  • 既存のブック テンプレートにクエリを追加する

前提条件

Log Analytics を使用してアクティビティ ログを分析するには、以下のロールと要件が必要です。

以下の記事の内容を確認します。

Log Analytics の構成

ヒント

この記事の手順は、開始するポータルに応じて若干異なる場合があります。

この手順では、監査とサインインのログ用に Log Analytics ワークスペースを構成する方法の概要を示します。 Log Analytics ワークスペースを構成するには、ワークスペースを作成した後、診断設定を構成する必要があります。

ワークスペースの作成

  1. Azure portalセキュリティ管理者Log Analytics 共同作成者以上としてサインインします。

  2. Log Analytics ワークスペースに移動します。

  3. [作成] を選択します。

    Screenshot shows the Add button in the log analytics workspaces page.

  4. [Log Analytics ワークスペースの作成] ページで、次の手順を実行します。

    1. サブスクリプションを選択します。

    2. リソース グループを選択します。

    3. ワークスペースに名前を付けます。

    4. 地域を選択します。

    Create log analytics workspace

  5. [確認および作成] を選択します。

    Review and create

  6. [作成] を選択し、デプロイを待ちます。 新しいワークスペースを表示するには、ページの更新が必要な場合があります。

    Create

診断設定を構成する

診断設定を構成するには、Microsoft Entra 管理センターに切り替えて、ID ログ情報を新しいワークスペースに送信する必要があります。

  1. セキュリティ管理者以上として Microsoft Entra 管理センターにサインインします。

  2. [Identity] (ID)>[監視と正常性]>[診断設定] の順に移動します。

  3. [診断設定の追加] を選択します。

    Add diagnostic setting

  4. [診断設定] ページで、次の手順を実行します。

    1. [カテゴリの詳細] で、 [AuditLogs][SigninLogs] を選択します。

    2. [宛先の詳細] で、 [Log Analytics への送信] を選択し、新しい Log Analytics ワークスペースを選択します。

    3. [保存] を選択します。

    Select diagnostics settings

Log Analytics で Kusto 照会言語 (KQL) を使用してログのクエリを実行できるようになりました。 ログが設定されるまで約 15 分待つことが必要な場合があります。

Log Analytics でクエリを実行する

この手順では、Kusto クエリ言語 (KQL) を使用してクエリを実行する方法を示します。

クエリの実行

  1. Microsoft Entra 管理センターレポート閲覧者以上でサインインしてください。

  2. [ID]>[監視と正常性]>[Log Analytics] に移動します。

  3. [検索] ボックスにクエリを入力し、[実行] を選択します。

KQL クエリの例

入力データから 10 個のエントリをランダムに取得する:

  • SigninLogs | take 10

条件付きアクセスが成功したサインインを確認する:

  • SigninLogs | where ConditionalAccessStatus == "success" | project UserDisplayName, ConditionalAccessStatus

成功の数をカウントする:

  • SigninLogs | where ConditionalAccessStatus == "success" | project UserDisplayName, ConditionalAccessStatus | count

成功したサインインの数をユーザー別および日別に集計する:

  • SigninLogs | where ConditionalAccessStatus == "success" | summarize SuccessfulSign-ins = count() by UserDisplayName, bin(TimeGenerated, 1d)

ユーザーが特定の期間に特定の操作を行った回数を表示する:

  • AuditLogs | where TimeGenerated > ago(30d) | where OperationName contains "Add member to role" | summarize count() by OperationName, Identity

操作名で結果をピボットする:

  • AuditLogs | where TimeGenerated > ago(30d) | where OperationName contains "Add member to role" | project OperationName, Identity | evaluate pivot(OperationName)

内部結合を使用して監査ログとサインイン ログをマージする:

  • AuditLogs |where OperationName contains "Add User" |extend UserPrincipalName = tostring(TargetResources[0].userPrincipalName) | |project TimeGenerated, UserPrincipalName |join kind = inner (SigninLogs) on UserPrincipalName |summarize arg_min(TimeGenerated, *) by UserPrincipalName |extend SigninDate = TimeGenerated

クライアント アプリの種類別にサインイン数を表示する:

  • SigninLogs | summarize count() by ClientAppUsed

日別にサインイン数をカウントする:

  • SigninLogs | summarize NumberOfEntries=count() by bin(TimeGenerated, 1d)

5 つのエントリをランダムに取得し、表示したい列を結果に投影する:

  • SigninLogs | take 5 | project ClientAppUsed, Identity, ConditionalAccessStatus, Status, TimeGenerated

降順における最初の 5 つを取得し、表示したい列を投影する:

  • SigninLogs | take 5 | project ClientAppUsed, Identity, ConditionalAccessStatus, Status, TimeGenerated

値を他の 2 つの列に結合して新しい列を作成する:

  • SigninLogs | limit 10 | extend RiskUser = strcat(RiskDetail, "-", Identity) | project RiskUser, ClientAppUsed

カスタム ブックを作成する

この手順では、クイックスタート テンプレートを使用して新しいブックを作成する方法を示します。

  1. セキュリティ管理者以上として Microsoft Entra 管理センターにサインインします。

  2. [ID]>[監視と正常性]>[ブック] の順に移動します。

  3. [クイック スタート] セクションで、[空] を選択します。

    Quick start

  4. [追加] メニューで、[テキストの追加] を選択します。

    Add text

  5. テキスト ボックスに「# Client apps used in the past week」と入力し、[編集が完了しました] を選択します。

    Screenshot shows the text and the Done Editing button.

  6. テキスト ウィンドウの下にある [追加] メニューを開き、[クエリの追加] を選択します。

    Add query

  7. クエリ テキスト ボックスに「SigninLogs | where TimeGenerated > ago(7d) | project TimeGenerated, UserDisplayName, ClientAppUsed | summarize count() by ClientAppUsed」と入力します。

  8. [クエリの実行] を選択します。

    Screenshot shows the Run Query button.

  9. ツール バーの [視覚化] メニューで、[円グラフ] を選択します。

    Pie chart

  10. ページの上部の [編集が完了しました] を選択します。

  11. [保存] アイコンを選択してブックを保存します。

  12. 表示されるダイアログ ボックスにタイトルを入力し、リソース グループを選択して、[適用] を選択します。

ブック テンプレートにクエリを追加する

この手順では、既存のブック テンプレートにクエリを追加する方法を示します。 この例は、条件付きアクセスの成功と失敗の分布を示すクエリに基づいています。

  1. Microsoft Entra 管理センターレポート閲覧者以上でサインインしてください。

  2. [ID]>[監視と正常性]>[ブック] の順に移動します。

  3. [条件付きアクセス] セクションで、[条件付きアクセスの分析情報とレポート] を選択します。

    Screenshot shows the Conditional Access Insights and Reporting option.

  4. ツール バーで、[編集] を選択します。

    Screenshot shows the Edit button.

  5. ツール バーで、[編集] ボタンの横にある 3 つのドット、[追加][クエリの追加] の順に選択します。

    Add workbook query

  6. クエリ テキスト ボックスに「SigninLogs | where TimeGenerated > ago(20d) | where ConditionalAccessPolicies != "[]" | summarize dcount(UserDisplayName) by bin(TimeGenerated, 1d), ConditionalAccessStatus」と入力します。

  7. [クエリの実行] を選択します。

    Screenshot shows the Run Query button to run this query.

  8. [期間] メニューで [クエリに設定] を選択します。

  9. [視覚化] メニューから [横棒グラフ] を選択します。

  10. [詳細設定] を開きます。

  11. [グラフのタイトル] フィールドに「Conditional Access status over the last 20 days」と入力し、[編集が完了しました] を選択します。

    Set chart title

条件付きアクセスの成功と失敗のグラフに、テナントの色分けされたスナップショットが表示されます。

次のステップ