Azure Monitor 통합 문서를 사용하여 Microsoft Defender for IoT 데이터 시각화

Azure Monitor 통합 문서는 Azure Resource Graph 구독에 저장된 데이터를 시각적으로 반영하고 IoT용 Microsoft Defender에서 직접 사용할 수 있는 그래프, 차트, 대시보드를 제공합니다.

Azure Portal에서 IoT용 Defender 통합 문서 페이지를 사용하여 Microsoft에서 만들고 기본적으로 제공되거나 고객이 만들고 커뮤니티에서 공유한 통합 문서를 볼 수 있습니다.

각 통합 문서 그래프 또는 차트는 데이터에서 실행되는 ARG(Azure Resource Graph) 쿼리를 기반으로 합니다. IoT용 Defender에서는 ARG 쿼리를 사용하여 다음을 수행할 수 있습니다.

  • 센서 상태 수집
  • 네트워크에서 새 디바이스 식별
  • 특정 IP 주소와 관련된 경고 찾기
  • 각 센서에서 볼 수 있는 경고 이해

통합 문서 보기

Microsoft에서 만든 기본 통합 문서 또는 구독에 이미 저장된 다른 통합 문서를 보려면 다음을 수행합니다.

  1. Azure Portal에서 IoT용 Defender로 이동하고 왼쪽에서 통합 문서를 선택합니다.

    Screenshot of the Workbooks page.

  2. 필요한 경우 필터링 옵션을 수정하고 통합 문서를 선택하여 엽니다.

IoT용 Defender는 다음 기본 제공 통합 문서를 제공합니다.

  • 센서 상태. 센서에 설치된 센서 콘솔 소프트웨어 버전과 같은 센서 상태에 대한 데이터를 표시합니다.
  • 경고. 센서별 경고, 경고 유형, 생성된 최근 경고 등을 포함하여 센서에서 발생하는 경고에 대한 데이터를 표시합니다.
  • 디바이스. 공급업체별 디바이스, 하위 유형, 식별된 새 디바이스를 포함하여 디바이스 인벤토리에 대한 데이터를 표시합니다.
  • 취약성. 네트워크 전체에서 OT 디바이스에서 검색된 취약성에 대한 데이터를 표시합니다. 디바이스 취약성, 취약한 디바이스 또는 취약한 구성 요소 테이블에서 항목을 선택하여 오른쪽 테이블의 관련 정보를 봅니다.

사용자 지정 통합 문서 만들기

IoT용 Defender 통합 문서 페이지를 사용하여 IoT용 Defender에서 직접 사용자 지정 Azure Monitor 통합 문서를 만듭니다.

  1. 통합 문서 페이지에서 새로 만들기를 선택하거나 다른 템플릿에서 시작하려면 템플릿 통합 문서를 열고 편집을 선택합니다.

  2. 새 통합 문서에서 추가를 선택하고 통합 문서에 추가할 옵션을 선택합니다. 기존 통합 문서 또는 템플릿을 편집하는 경우 오른쪽의 옵션(...) 단추를 선택하여 추가 메뉴에 액세스합니다.

    통합 문서에 다음 요소를 추가할 수 있습니다.

    옵션 설명
    Text 통합 문서에 표시된 그래프 또는 필요한 추가 작업을 설명하는 텍스트를 추가합니다.
    매개 변수 통합 문서 텍스트 및 쿼리에 사용할 매개 변수를 정의합니다.
    링크 / 탭 목록, 다른 대상에 대한 링크, 추가 탭 또는 도구 모음을 포함하여 통합 문서에 탐색 요소를 추가합니다.
    쿼리 통합 문서 그래프 및 차트를 만들 때 사용할 쿼리를 추가합니다.

    - Azure Resource Graph데이터 원본으로 선택하고 모든 관련 구독을 선택해야 합니다.
    - 시각화 옵션에서 형식을 선택하여 데이터에 대한 그래픽 표현을 추가합니다.
    메트릭 통합 문서 그래프 및 차트를 만들 때 사용할 메트릭을 추가합니다.
    그룹 그룹을 추가하여 통합 문서를 하위 영역으로 구성합니다.

    각 옵션에 대해 사용 가능한 모든 설정을 정의한 후, 추가... 또는 실행... 단추를 선택하여 해당 통합 문서 요소를 만듭니다. 예를 들어 매개 변수 추가 또는 쿼리 실행입니다.

    Azure Resource Graph Explorer에서 쿼리를 빌드하고 통합 문서 쿼리에 복사할 수 있습니다.

  3. 도구 모음에서 저장 또는 다른 이름으로 저장을 선택하여 통합 문서를 저장한 다음, 편집 완료를 선택합니다.

  4. 통합 문서를 선택하여 전체 통합 문서 목록이 있는 기본 통합 문서 페이지로 돌아갑니다.

쿼리의 참조 매개 변수

매개 변수를 만든 후에는 {ParameterName} 구문을 사용하여 쿼리에서 매개 변수를 참조합니다. 예시:

iotsecurityresources
| where type == "microsoft.iotsecurity/sensors"
| extend Name=name
| extend Status= properties.sensorStatus
| where Name=={SensorName}
| project Name,Status

샘플 쿼리

이 섹션에서는 IoT용 Defender 통합 문서에서 일반적으로 사용되는 샘플 쿼리를 제공합니다.

경고 쿼리

센서 간 경고 배포

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

PLC, 임베디드 디바이스, UPS 등과 같은 하위 유형별 OT 디바이스 인벤토리

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 대해 자세히 알아보세요.