# Azure Monitor 로그

## 개요

Panther는 수집을 지원합니다 [Azure Monitor 로그를](https://learn.microsoft.com/en-us/azure/azure-monitor/logs/data-platform-logs) 다음을 통해 일반적인 [데이터 전송](https://docs.panther.com/data-onboarding/data-transports) 옵션으로, 예를 들어 Azure [Event Hub](/ko/data-onboarding/data-transports/azure/event-hub.md) 및 [Blob Storage](/ko/data-onboarding/data-transports/azure/blob-storage.md).

또한 다음을 수집하는 것도 가능합니다 [Microsoft Defender for Cloud](https://azure.microsoft.com/en-us/products/defender-for-cloud/) 알러트는 다음을 포함하여 이 소스를 사용해 [보안 카테고리](https://learn.microsoft.com/en-us/azure/azure-monitor/essentials/activity-log-schema#security-category) 를 [온보딩 과정의 2단계에서](#step-2-export-azure-monitor-logs-to-azure-blob-storage), 아래.

## Azure Monitor 로그를 Panther로 온보딩하는 방법

먼저 Panther에서 Azure Blob Storage 또는 Azure Event Hub 소스를 생성한 다음, Azure를 구성하여 해당 위치로 로그를 내보내도록 합니다.

### 1단계: Panther에서 Azure Monitor 소스 생성

1. Panther Console의 왼쪽 탐색 모음에서 **구성** > **로그 소스**.
2. 오른쪽 상단에서 **새로 만들기**.
3. "Azure Monitor"를 검색한 다음 해당 타일을 클릭합니다.
   * 슬라이드아웃 패널에서 **전송 메커니즘** 드롭다운이 오른쪽 상단에서 다음 값으로 미리 채워집니다 **Azure Event Hub** 옵션. 이 선택을 그대로 두거나 다음을 선택하세요 **Azure Blob Storage**.
4. 클릭 **설정 시작**.
5. Panther의 지침에 따라 다음을 구성하세요 [Azure Event Hub](/ko/data-onboarding/data-transports/azure/event-hub.md) 또는 [Azure Blob Storage Source](/ko/data-onboarding/data-transports/azure/blob-storage.md).
   * Azure Blob Storage를 선택했고, [2단계: 필요한 Azure 인프라 생성](/ko/data-onboarding/data-transports/azure/blob-storage.md#step-2-create-required-azure-infrastructure) 중에 Azure 리소스를 수동으로 생성하기로 선택했다면( Terraform 사용 대신), 다음 단계를 건너뛰세요 [Azure 컨테이너 생성](https://docs.panther.com/data-onboarding/data-transports/azure/blob-storage#step-5-create-container-and-add-permission), 아래 2단계에서 스토리지 계정에 자동으로 생성됩니다.

{% hint style="info" %}
이 두 옵션의 지연 시간은 다릅니다: **Blob Storage** 옵션을 선택하면 Panther가 매시간 Azure Monitor 파일을 가져옵니다. 다음을 선택하면 **Event Hub**수집은 거의 실시간으로 이루어집니다.
{% endhint %}

### 2단계: Azure Monitor 로그 내보내기

Azure Monitor 로그를 Event Hub 또는 스토리지 계정으로 내보내려면 아래 지침을 따르세요:

1. Azure 대시보드에서 다음으로 이동합니다 **Monitor** 서비&#xC2A4;**.**
2. 왼쪽 탐색 패널에서 **Activity Log**.
3. 페이지 상단 근처에서 클릭합니다 **Export Activity Logs**.
4. 클릭 **진단 설정 추가**.
5. 에서 **진단 설정** 페이지에서 다음 필드에 값을 입력하세요:
   * **진단 설정 이름**: 설명이 되는 이름을 입력합니다.
   * **카테고리** (아래 **로그**): 수집하려는 각 로그 카테고리를 선택합니다:
     * [Administrative](https://learn.microsoft.com/en-us/azure/azure-monitor/essentials/activity-log-schema#administrative-category)
     * [Service health](https://learn.microsoft.com/en-us/azure/azure-monitor/essentials/activity-log-schema#administrative-category)
     * [Resource health](https://learn.microsoft.com/en-us/azure/azure-monitor/essentials/activity-log-schema#resource-health-category)
     * [알러트](https://learn.microsoft.com/en-us/azure/azure-monitor/essentials/activity-log-schema#alert-category)
     * [Autoscale](https://learn.microsoft.com/en-us/azure/azure-monitor/essentials/activity-log-schema#autoscale-category)
     * [Security](https://learn.microsoft.com/en-us/azure/azure-monitor/essentials/activity-log-schema#security-category) (Microsoft Defender for Cloud)
     * [Recommendation](https://learn.microsoft.com/en-us/azure/azure-monitor/essentials/activity-log-schema#recommendation-category)
     * [Policy](https://learn.microsoft.com/en-us/azure/azure-monitor/essentials/activity-log-schema#policy-category)
   * **대상 세부 정보**: 다음 중 하나를 선택하세요 **스토리지 계정으로 보관** 또는 **이벤트 허브 Hub로 스트리밍**, Panther에서 1단계에서 사용한 데이터 전송 메커니즘을 기준으로 [1단계](#step-1-create-the-microsoft-defender-xdr-source-in-panther).
     * 다음을 선택한 경우 **스토리지 계정으로 보관**, **스토리지 계정** 필드에서 스토리지 계정을 선택합니다.
     * 다음을 선택한 경우 **이벤트 허브로 스트리밍**, **이벤트 허브 네임스페이스** 필드에서 이벤트 허브를 선택합니다.
6. 왼쪽 상단에서 클릭합니다 **저장**.

### (Blob Storage 전송만 해당) 3단계: 컨테이너에 역할 할당

{% hint style="warning" %}
이 단계는 1단계에서 Azure Blob Storage를 선택한 경우에만 해당합니다. Azure Event Hub를 사용한 경우 이 단계를 건너뛰세요.
{% endhint %}

1. 새로 만든 컨테이너를 클릭하고 이름이 `insights-activity-logs`인 것을 확인한 다음, 왼쪽 탐색 모음에서 클릭합니다 **액세스 제어(IAM)**.
2. 클릭 **+추가**.\
   ![In the panthertestcontainer3 Access Control (IAM) page, an arrow is drawn to the +Add button](/files/3d9979bcb075fda233831f277fdf2686ed69ad28)
3. 클릭 **역할 할당 추가**.
4. "Storage Blob Data Reader"를 검색하고 표시되는 일치하는 역할을 선택합니다.\
   ![In the Add role assignment page of the Azure console, "storage blob" has been searched for in the search box. One of the results, Storage Blob Data Reader, is circled.](/files/9f890ad23deede1d5cac7a8c69456b57e6e59a24)
5. 다음을 클릭하세요 **구성원** 탭.
6. 클릭 **+구성원 선택**.
7. 다음 중 생성한 등록된 앱의 이름을 검색하세요 [Azure Blob Storage Source에서 필요한 Azure 인프라 생성 과정](/ko/data-onboarding/data-transports/azure/blob-storage.md#step-2-create-required-azure-infrastructure)에서, 그리고 클릭 **선택**.
8. 클릭 **검토+할당**.
   * Panther가 Azure Monitor 파일을 한 시간에 한 번 가져오기 때문에 초기 데이터가 Panther에 도착하기까지 최대 1시간이 지연될 수 있습니다.

## 지원되는 로그 유형

Panther는 Azure.MonitorActivity 스키마로 처리되는 Azure Monitor Activity 로그를 지원합니다.

### Azure.MonitorActivity

```yaml
필드:
  - 이름: time
    필수: true
    설명: 기록되는 이벤트의 타임스탬프(UTC).
    유형: timestamp
    timeFormats:
      - rfc3339
      - '%Y-%m-%d %H:%M:%SZ'
      - '%Y-%m-%d %H:%M:%S.%N'
    isEventTime: true
  - 이름: resourceId
    필수: true
    설명: 이벤트를 생성한 리소스의 리소스 ID입니다. 테넌트 서비스의 경우 형식은 /tenants/tenant-id/providers/provider-name입니다.
    유형: string
  - 이름: tenantId
    설명: 이 이벤트가 연결된 Active Directory 테넌트의 테넌트 ID입니다. 이 속성은 테넌트 수준 로그에만 사용됩니다. 리소스 수준 로그에는 나타나지 않습니다.
    유형: string
  - 이름: operationName
    필수: true
    설명: 이 이벤트가 기록하는 작업의 이름입니다. 예: Microsoft.Storage/storageAccounts/blobServices/blobs/Read. operationName은 일반적으로 Azure Resource Manager 작업 형식인 Microsoft.<providerName>/<resourceType>/<subtype>/<Write|Read|Delete|Action>으로 모델링되지만, 문서화된 Resource Manager 작업이 아니더라도 마찬가지입니다.
    유형: string
  - 이름: operationVersion
    설명: API를 통해 operationName이 수행된 경우 해당 작업과 연결된 API 버전입니다(예: http://myservice.windowsazure.net/object?api-version=2016-06-01). 이 작업과 대응하는 API가 없는 경우, 이 버전은 향후 작업과 관련된 속성이 변경될 때 해당 작업의 버전을 나타냅니다.
    유형: string
  - 이름: category
    필수: true
    설명: 기록되는 이벤트의 로그 카테고리입니다. 카테고리는 특정 리소스에서 로그를 활성화하거나 비활성화할 수 있는 세분화 수준입니다. 이벤트의 properties blob 내에 표시되는 속성은 특정 로그 카테고리와 리소스 유형 내에서 동일합니다. 일반적인 로그 카테고리는 Audit, Operational, Execution, Request입니다.
    유형: string
  - 이름: resultType
    설명: 해당하는 경우 기록된 이벤트의 상태입니다. 값에는 Started, In Progress, Succeeded, Failed, Active, Resolved가 포함됩니다.
    유형: string
  - 이름: resultSignature
    설명: 이벤트의 하위 상태입니다. 이 작업이 REST API 호출에 해당하는 경우 이 필드는 해당 REST 호출의 HTTP 상태 코드입니다.
    유형: string
  - 이름: resultDescription
    설명: 이 작업에 대한 정적 텍스트 설명입니다. 예: Get storage file.
    유형: string
  - 이름: durationMs
    설명: 작업의 지속 시간(밀리초)입니다.
    유형: bigint
  - 이름: callerIpAddress
    설명: 작업이 공개 IP 주소를 가진 엔터티에서 발생한 API 호출에 해당하는 경우 호출자 IP 주소입니다.
    유형: string
    지표:
      - ip
  - 이름: correlationId
    설명: 관련된 이벤트 집합을 함께 묶는 데 사용되는 GUID입니다. 일반적으로 두 이벤트가 같은 operationName 값을 가지지만 상태가 서로 다른 경우(예: Started 및 Succeeded), 같은 correlationID 값을 공유합니다. 이는 이벤트 간의 다른 관계를 나타낼 수도 있습니다.
    유형: string
    지표:
      - trace_id
  - 이름: identity
    설명: 작업을 수행한 사용자 또는 애플리케이션의 ID를 설명하는 JSON blob입니다. 일반적으로 이 필드에는 Active Directory의 권한 부여와 클레임 또는 JWT 토큰이 포함됩니다.
    유형: json
  - 이름: level
    설명: 이벤트의 심각도 수준입니다. 값에는 Informational, Warning, Error, Critical이 포함됩니다.
    유형: string
  - 이름: location
    설명: 이벤트를 생성하는 리소스의 지역입니다. 예: East US 또는 France South.
    유형: string
  - 이름: properties
    설명: 이 이벤트 카테고리와 관련된 확장 속성입니다. 모든 사용자 지정 또는 고유 속성은 스키마의 이 'Part B' 안에 넣어야 합니다.
    유형: json
  - 이름: roleLocation
    설명: 역할의 위치입니다.
    유형: string
  - 이름: providerGuid
    설명: 이벤트를 생성하는 서비스 제공자의 GUID입니다.
    유형: string
  - 이름: providerName
    설명: 이벤트를 생성하는 서비스 제공자의 이름입니다.
    유형: string
```


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.panther.com/ko/data-onboarding/supported-logs/azure-monitor.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
