Azure Monitor ブックを使用して Microsoft Defender for IoT データを視覚化する
Azure Monitor のブックには、Azure Resource Graph サブスクリプションに格納されているデータを視覚的に反映し、Microsoft Defender for IoT で直接使用できるグラフ、チャート、およびダッシュボードが用意されています。
Azure portal で、[Defender for IoT ブック] ページを使用して、Microsoft によって作成され、すぐに使用できるブック、または顧客によって作成され、コミュニティ全体で共有されているブックを表示します。
各ブックのグラフまたはチャートは、データで実行されている Azure Resource Graph (ARG) クエリに基づいています。 Defender for IoT では、ARG クエリを使用して次のことを実行できます。
- センサーの状態を収集する
- ネットワーク内の新しいデバイスを識別する
- 特定の IP アドレスに関連するアラートを検索する
- 各センサーでどのアラートが表示されるかを理解する
ブックの表示
Microsoft が作成し、すぐに使用できるブック、またはサブスクリプションに既に保存されている他のブックを表示する手順は、次のとおりです。
Defender for IoT には、すぐに使用できる次のブックが用意されています。
- センサーの正常性。 センサーにインストールされているセンサー コンソール ソフトウェアのバージョンなど、センサーの正常性に関するデータを表示します。
- アラート。 センサー別のアラート、アラートの種類、生成された最近のアラートなど、センサーで発生したアラートに関するデータを表示します。
- デバイス。 ベンダー別、サブタイプ別、識別された新しいデバイスなど、デバイス インベントリに関するデータを表示します。
- 脆弱性。 ネットワーク全体の OT デバイスで検出された脆弱性に関するデータを表示します。 [デバイスの脆弱性]、[脆弱なデバイス]、または [脆弱なコンポーネント] テーブルの項目を選択して、右側のテーブルに関連情報を表示します。
カスタム ブックの作成
[Defender for IoT ブック] ページを使用すると、カスタムの Azure Monitor ブックを直接 Defender for IoT で作成できます。
[ブック] ページで [新規] を選択するか、別のテンプレートから開始するには、テンプレート ブックを開き、[編集] を選択します。
新しいブックで、[追加] を選択し、ブックに追加するオプションを選択します。 既存のブックまたはテンプレートを編集している場合は、右側にあるオプション ボタン ([...]) を選択して、[追加] メニューにアクセスします。
ブックには、次の要素を追加できます。
オプション 説明 [テキスト] ブックに表示されるグラフや必要な追加のアクションを説明するテキストを追加します。 パラメーター ブックのテキストとクエリで使用するパラメーターを定義します。 リンク/タブ リスト、他のターゲットへのリンク、追加のタブ、ツール バーなど、ナビゲーション要素をブックに追加します。 クエリ ブックのグラフとチャートを作成するときに使用するクエリを追加します。
-データソースとして [Azure Resource Graph] を選択し、関連するすべてのサブスクリプションを選択します。
-[視覚化] オプションから種類を選択して、データのグラフィック表示を追加します。メトリック ブックのグラフやチャートを作成するときに使用するメトリックを追加します。 グループ グループを追加して、ブックをサブ領域に整理します。 各オプションについて、使用可能なすべての設定を定義したら、[追加...] または [実行...] ボタンを選択して、そのブック要素を作成します。 たとえば、 パラメーターを追加 するか、クエリを実行 します。
ヒント
Azure Resource Graph エクスプローラー でクエリを作成し、ブック クエリにコピーできます。
ツール バーで [保存] または [名前を付けて保存] を選んでブックを保存してから、[編集完了] を選びます。
ブック を選択すると、ブックの完全な一覧が表示されたメイン ブック ページに戻ります。
クエリ内の参照パラメーター
パラメーターを作成したら、次の構文を使用してクエリ内でそれを参照します{ParameterName}
。 次に例を示します。
iotsecurityresources
| where type == "microsoft.iotsecurity/sensors"
| extend Name=name
| extend Status= properties.sensorStatus
| where Name=={SensorName}
| project Name,Status
サンプル クエリ
このセクションでは、Defender for IoT ブックで一般的に使用されるサンプル クエリについて説明します。
アラートのクエリ
センサー間でのアラートの分散
iotsecurityresources
| where type == "microsoft.iotsecurity/locations/devicegroups/alerts"
| extend Sensor=properties.extendedProperties.SensorId
| where properties.status!='Closed'
| summarize Alerts=count() by tostring(Sensor)
| sort by Alerts desc
過去 24 時間の新しいアラート
iotsecurityresources
| where type == "microsoft.iotsecurity/locations/devicegroups/alerts"
| where properties.status!='Closed'
| extend AlertTime=properties.startTimeUtc
| extend Type=properties.displayName
| where AlertTime > ago(1d)
| project AlertTime, Type
送信元 IP アドレス別のアラート
iotsecurityresources
| where type == "microsoft.iotsecurity/locations/devicegroups/alerts"
| extend Type=properties.displayName
| extend Source_IP=properties.extendedProperties.SourceDeviceAddress
| extend Destination_IP=properties.extendedProperties.DestinationDeviceAddress
| where Source_IP=='192.168.10.1'
| project Source_IP, Destination_IP, Type
デバイス クエリ
ベンダ別の OT デバイス インベントリ
iotsecurityresources
| extend Vendor= properties.hardware.vendor
| where properties.deviceDataSource=='OtSensor'
| summarize Devices=count() by tostring(Vendor)
| sort by Devices
サブタイプ別の OT デバイスインベントリ (PLC、埋め込みデバイス、UPS など)
iotsecurityresources
| where type == "microsoft.iotsecurity/locations/devicegroups/devices"
| extend SubType=properties.deviceSubTypeDisplayName
| summarize Devices=count() by tostring(SubType)
| sort by Devices
センサー、サイト、IPv4 アドレス別の新しい OT デバイス
iotsecurityresources
| where type == "microsoft.iotsecurity/locations/devicegroups/devices"
| extend TimeFirstSeen=properties.firstSeen
| where TimeFirstSeen > ago(1d)
| extend DeviceName=properties.deviceName
| extend Site=properties.sensor.site
| extend Sensor=properties.sensor.name
| extend IPv4=properties.nics.[0].ipv4Address
| where properties.deviceDataSource=='OtSensor'
| project TimeFirstSeen, Site, Sensor, DeviceName, IPv4
アラートを Purdue レベルで要約する
iotsecurityresources
| where type == "microsoft.iotsecurity/locations/devicegroups/alerts"
| project
resourceId = id,
affectedResource = tostring(properties.extendedProperties.DeviceResourceIds),
id = properties.systemAlertId
| join kind=leftouter (
iotsecurityresources | where type == "microsoft.iotsecurity/locations/devicegroups/devices"
| project
sensor = properties.sensor.name,
zone = properties.sensor.zone,
site = properties.sensor.site,
deviceProperties=properties,
affectedResource = tostring(id)
) on affectedResource
| project-away affectedResource1
| where deviceProperties.deviceDataSource == 'OtSensor'
| summarize Alerts=count() by tostring(deviceProperties.purdueLevel)
次のステップ
センサー コンソールでダッシュボードとレポートを表示する方法の詳細については、以下を参照してください。
Azure Monitor ブックと Azure Resource Graph の詳細については、以下を参照してください。