> For the complete documentation index, see [llms.txt](https://docs.panther.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.panther.com/ko/data-onboarding/data-transports/azure/blob-storage.md).

# Blob Storage 소스

## 개요

Panther는 Azure Blob Storage를 Data Transport로 구성하여 Azure 컨테이너에서 로그 데이터를 직접 가져오는 것을 지원하므로, 이를 처리된 데이터에 대해 탐지 규칙을 작성하고 조사를 수행할 수 있습니다.

데이터는 압축된 상태로(또는 압축되지 않은 상태로) 전송할 수 있습니다. 압축 사양에 대해 자세히 알아보려면 [Panther에서 압축 데이터 수집](/ko/data-onboarding/data-transports.md#ingesting-compressed-data-in-panther).

## Panther에서 Azure Blob Storage 로그 소스를 설정하는 방법

Azure Blob Storage에서 로그를 수집하려면 먼저 Azure에서 특정 리소스 공급자가 해당 구독에 등록되어 있는지 확인해야 합니다. Panther에서 소스 설정을 시작한 다음, 제공된 Terraform 템플릿을 사용하거나 Azure 콘솔에서 수동으로 필요한 Azure 인프라를 생성합니다.

### 사전 요구 사항

Azure 구독 설정에서, `Microsoft.EventGrid` 그리고 `Microsoft.Storage` 가 등록된 리소스 공급자입니다:

1. Azure 콘솔에서 다음으로 이동합니다. **구독**.
2. Azure 리소스를 생성할 구독을 선택합니다.
3. 구독 설정 내에서 다음을 클릭합니다. **리소스 공급자**.\
   ![In the Azure Console, the page of a Subscription called Azure subscription 1 is shown. There is a list of Resource providers, e.g., Microsoft.RecoveryServices and Microsoft.DBforMySQL. On the right is a column called Status.](/files/f830b9a24fb2a7f3f81042cbdc86a947101ff238)
4. 다음의 **이름으로 필터** 필드에서 다음을 검색하여 찾습니다. `Microsoft.EventGrid` 그리고 `Microsoft.Storage`.
   * 각 공급자에 대해 다음을 확인합니다. **상태** 열의 값이 다음인지 **등록됨**.

{% hint style="info" %}
아래 과정을 따르기 위해 이미 생성된 스토리지 계정이 있을 필요는 없습니다. 다음에서 새 계정을 생성하게 됩니다. [2단계](#step-2-create-required-azure-infrastructure).
{% endhint %}

### 1단계: Panther에서 Azure Blob Storage 구성

1. Panther 콘솔의 왼쪽 탐색 표시줄에서 다음을 클릭합니다: **구성** > **로그 소스**.
2. 오른쪽 상단 모서리에서 다음을 클릭하세요 **새로 만들기**.
3. 다음을 클릭합니다: **Azure Blob Storage** 타일.
4. 다음에서 **기본 정보** 페이지에서 다음을 입력합니다:
   * **이름**: 로그 소스에 대한 설명이 포함된 이름을 입력합니다.
   * **로그 유형**: 이 로그 소스와 연결할 하나 이상의 로그 유형을 선택합니다.
5. 다음을 클릭합니다: **설정**.
6. 다음에서 **로그 형식** 페이지에서 다음을 선택하세요 [스트림 유형](/ko/data-onboarding/custom-log-types/reference.md#stream-type) 수신 로그의:
   * **자동**
   * **줄**
   * **JSON**
   * **JSON 배열**
7. 다음을 클릭합니다: **계속**.
   * 해당 **구성** 페이지가 로드됩니다.

### 2단계: 필요한 Azure 인프라 생성

다음에서 **인프라 및 구성** 페이지에서 필요한 Azure 인프라를 생성합니다(다음을 통해 [Panther에서 제공한 Terraform 템플릿 사용](#using-the-terraform-template-to-create-azure-infrastructure), 또는 [Azure 콘솔에서 리소스를 수동으로 구성](#manually-creating-infrastructure-in-the-azure-console))하고 Panther에 구성 값을 제공합니다.

{% tabs %}
{% tab title="Panther에서 제공한 Terraform 템플릿" %}
**Terraform 템플릿을 사용하여 Azure 인프라 생성**

{% hint style="info" %}
Terraform 템플릿을 사용해 Azure 리소스를 생성한 후, Panther는 생성한 스토리지 계정의 모든 컨테이너에 기록된 모든 로그를 수집합니다. 생성된 Azure 애플리케이션에 각 컨테이너에서 읽을 수 있는 권한이 있는지 확인하세요.
{% endhint %}

1. 다음을 클릭합니다: **Terraform 템플릿** 다음을 다운로드하려면 [Terraform](https://github.com/panther-labs/panther-auxiliary/tree/9365346d8698e730bd623086e24ca6f2a34c4b5c/terraform/panther_azure_blob_storage_transport_type_infra) 템플릿.
   * Terraform 템플릿은 다음에서도 찾을 수 있습니다: [이 GitHub 링크](https://github.com/panther-labs/panther-auxiliary/tree/9365346d8698e730bd623086e24ca6f2a34c4b5c/terraform/panther_azure_blob_storage_transport_type_infra).\
     ![The Infrastructure & Configuration page shows 1. Create Required Infrastructure Component. There is a circled button labeled "Terraform Template"](/files/ff2ce79024c998fa09b093e174b2ce700350471a)
2. Azure CLI가 아직 설치되어 있지 않다면, 다음을 따라 설치하세요. [Azure의 Azure CLI 설치 방법 문서](https://learn.microsoft.com/en-us/cli/azure/install-azure-cli).
3. 터미널에서 다음을 실행합니다. `az login`.
4. Terraform 템플릿을 새 디렉터리로 이동한 다음, 해당 디렉터리로 이동합니다.
5. 다음 파일을 편집합니다. `panther.tfvars` 파일을 편집하여 배포를 사용자 지정합니다. 예를 들어, 인프라가 생성될 지역을 변경하고 사용자 지정 스토리지 계정 이름을 제공합니다.
6. 다음 Terraform 명령을 실행하여 Azure 리소스를 생성합니다:
   1. `terraform init`
   2. `terraform apply -var-file="panther.tfvars"`
7. Terraform이 리소스 생성을 완료한 후, 출력된 값을 다음 필드에 입력합니다. **Azure 구성 제공** Panther 콘솔의 다음 섹션:

   * **테넌트 ID**
   * **클라이언트 ID**
   * **스토리지 계정 이름**
   * **스토리지 큐 이름**
   * **클라이언트 시크릿**
     * 클라이언트 시크릿 값은 터미널에서 마스킹됩니다. 확인하려면 다음을 실행하세요. `terraform output secret`, 그리고 따옴표 없이 값을 복사합니다.
       * macOS를 사용 중이라면 다음을 실행하세요. `terraform output -raw secret | pbcopy` 값을 출력하지 않고 복사합니다.

   ![소스 설정의 이 섹션에는 "2. Azure 구성 제공"이 표시되며, Tenant ID, Client ID, Storage Account Name, Storage Queue Name, Client Secret에 대한 입력 필드가 있습니다.](/files/6e1dc7d9e15c30b7194f53182c036828b38fc645)
8. Azure Blob Storage가 Azure Government Cloud에 있는지, 아니면 Public Cloud에 있는지 선택합니다.
9. 다음을 클릭합니다: **설정**, 그런 다음 다음으로 진행합니다. [3단계: Panther에서 설정 확인](#step-3-verify-setup-in-panther).
   {% endtab %}

{% tab title="Azure 콘솔에서 수동 설정" %}
**Azure 콘솔에서 인프라를 수동으로 생성**

**1단계: 리소스 그룹 및 스토리지 계정 생성**

1. Azure 콘솔에서 다음으로 이동합니다. **구독**.
2. Azure 리소스를 생성할 구독을 선택합니다.
3. 다음을 클릭합니다: **리소스 그룹**.
   1. 다음을 클릭합니다: **+만들기**.\
      ![In the Azure console, the Azure subscription 1 Resource groups page is shown. A +Create button is circled.](/files/2f081b4539f6766c154cddfacdd5a19fd72b7053)
   2. 다음의 값을 제공합니다: **이름** 그리고 **지역**.
      * 제공한 다음 값은 복사해 두거나 기억해 둡니다. **이름**, 이 과정의 나중에 필요합니다.
   3. 다음을 클릭합니다: **검토 + 생성.**
   4. 다음을 클릭합니다: **만들기**.
4. 새로 만든 리소스 그룹의 이름을 클릭합니다.
5. 다음을 클릭합니다: **만들기**.
6. 검색창에 "storage account"를 입력하고 다음에서 **스토리지 계정** 표시되는 타일에서 다음을 클릭합니다. **만들기**.\
   ![In the Azure console, in the Marketplace, storage has been searched in a search bar. On a Storage account tile, the Create button is circled.](/files/16aec77dd9f031eec1f795c824f7ff5d4722a082)
7. 다음에서 **스토리지 계정 만들기** 페이지에서, **인스턴스 세부 정보** 섹션에서 다음의 값을 입력합니다. **스토리지 계정 이름** 그리고 **지역**.
   1. 다음을 클릭합니다: **검토** .\
      ![On the Create a storage account page of the Azure console, there is a Project details section and a Instance details section. Within the latter, the following fields are circled: Storage account name and Region. A Review button at the bottom is circled.](/files/5768c824e022e53d03e07e75864dd1f103d858dc)
   2. 다음을 클릭합니다: **만들기**.

**2단계: 앱 등록 및 클라이언트 시크릿 추가**

1. 상단 검색창에서 "Microsoft Entra ID"를 검색하고 다음을 클릭합니다. **Microsoft Entra ID**.
2. 다음을 클릭합니다: **+추가**, 그리고 표시되는 드롭다운 메뉴에서 **앱 등록**.\
   ![In the Azure console, the Default Directory Overview page shows an +Add button. An arrow is drawn from +Add to an option in its dropdown, App registration.](/files/66b1a412c8884d6203391bf828e2e7f7c20d0b55)
   1. 다음을 입력하세요 **이름**.
   2. 다음을 클릭합니다: **등록**.
   3. 다음을 안전하게 복사하여 보관합니다. **애플리케이션(클라이언트) ID** 값은 이 과정의 나중에 필요합니다.
3. 새로 등록한 앱을 클릭합니다.
4. 오른쪽에서 다음을 클릭합니다. **인증서 또는 비밀 추가**.\
   ![In the Azure console, within an App called pantherapp3, an Add a certificate or secret button at the right side of the screen is circled.](/files/aa8a81710a2244aa16e24bd9f026c94590b112dc)
5. 다음을 클릭합니다: **+새 클라이언트 시크릿**.
   1. 다음을 제공합니다. **설명**.
   2. 다음을 클릭합니다: **추가**.
   3. 다음을 안전하게 복사하여 보관합니다. **클라이언트 시크릿** **값**, 이 과정의 나중에 필요합니다.

**3단계: 큐 생성 및 권한 추가**

1. 새로 만든 스토리지 계정으로 이동합니다.
2. 왼쪽 탐색 모음에서 다음을 선택합니다. **큐**.
   1. 다음을 클릭합니다: **+큐** 를 클릭하여 새 큐를 만듭니다.\
      ![The panthertestacct3 Queues page shows an arrow drawn to the +Queue button. In the Queue name field is panthertestqueue3.](/files/8ea60ec985f6c8756d92a4de2a8b4630e434d144)
   2. 다음을 입력하세요 **이름** 큐 이름을 입력합니다.
      * 제공한 다음 값은 복사해 두거나 기억해 둡니다. **이름**, 이 과정의 나중에 필요합니다.
   3. 다음을 클릭합니다: **확인**.
3. 새로 만든 큐를 클릭한 다음, 왼쪽 탐색 모음에서 다음을 클릭합니다. **액세스 제어(IAM)**.
   1. 다음을 클릭합니다: **+추가**, 그런 다음 **역할 할당 추가**.
   2. "Storage Queue Data Message Processor"를 검색하고 표시되는 일치하는 역할을 선택합니다.
   3. 다음을 클릭합니다 **구성원** 탭.
   4. 다음을 클릭합니다: **+구성원 선택**.
   5. 에서 만든 등록된 앱의 이름을 검색하고 [2단계](#step-2-add-app-registration-and-client-secret), 다음을 클릭합니다. **선택**.
   6. 다음을 클릭합니다: **검토 + 할당**.

**4단계: 시스템 토픽 및 이벤트 구독 생성**

1. 상단 검색창에서 "Event Grid System Topics"를 검색하고 표시되는 일치하는 페이지를 클릭합니다.
   1. 다음을 클릭합니다: **+만들기**.
   2. 다음에서 **Event Grid 시스템 토픽 만들기** 페이지에서 다음 필드를 입력합니다:
      * **토픽 유형**: 다음을 선택합니다: **스토리지 계정(Blob 및 GPv2)**.
      * **구독**:  다음에서 리소스 그룹을 만든 구독을 선택합니다. [1단계](#step-1-create-resource-group-and-storage-account).
      * **리소스 그룹**: 에서 생성한 리소스 그룹을 선택합니다. [1단계](#step-1-create-resource-group-and-storage-account).
      * **리소스**: 에서 생성한 스토리지 계정을 선택합니다. [1단계](#step-1-create-resource-group-and-storage-account).
      * **이름**: 설명이 포함된 토픽 이름을 입력합니다.\
        ![In the Azure Console's Create Event Grid System Topic page, there are various fields under a Topic Details header: Topic Types, Subscription, Resource Group, Resource, and under a System Topic Details header: Name and Location](/files/82020dde57d828fb430ef0ae59394001fb41a0a9)
   3. 다음을 클릭합니다: **검토 + 만들기**.
   4. 다음을 클릭합니다: **만들기**.
2. 스토리지 계정으로 돌아갑니다.
3. 왼쪽 탐색 막대에서 다음을 클릭하세요 **이벤트** 그다음 **+이벤트 구독**.
4. 다음에서 **이벤트 구독 만들기** 페이지에서 다음 필드에 값을 입력합니다:
   1. 다음의 **이벤트 구독 세부 정보** 섹션에서 다음을 입력합니다. **이름**.
   2. 다음의 **이벤트 유형** 섹션에서 다음의 **이벤트 유형 필터** 필드에서 **Blob Created**.
   3. 다음의 **엔드포인트 세부 정보** 섹션에서 다음 선택을 합니다:

      * **엔드포인트 유형**: 다음을 선택합니다: **스토리지 큐**.
      * **엔드포인트**: 에서 만든 큐를 선택합니다. [3단계](#step-3-create-queue-and-add-permission).

      ![Azure 콘솔의 이벤트 구독 만들기 페이지에서 Name, Filter to Event Types, Endpoint Type, Endpoint가 각각 동그라미로 표시되어 있습니다.](/files/d78d7fdd6408432e230a7dac0a92c17a37f3a9a8)
   4. 다음을 클릭합니다: **만들기**.

**5단계: 컨테이너 생성 및 권한 추가**

{% hint style="info" %}
이미 만든 컨테이너가 있다면, 다음에서 만든 애플리케이션에 읽기 권한만 부여하면 됩니다. [2단계](#step-2-add-app-registration-and-client-secret). 아래 안내에서는 3단계부터 시작합니다.

이 컨테이너에 대한 정보를 Panther에 제공할 필요는 없습니다. 생성한 스토리지 계정의 모든 컨테이너에 기록된 모든 로그가 수집되기 때문입니다.
{% endhint %}

1. 새로 만든 스토리지 계정으로 이동합니다.
2. 왼쪽 탐색 모음에서 다음을 선택합니다. **컨테이너**.
   1. 다음을 클릭합니다: **+컨테이너** 를 클릭하여 새 컨테이너를 만듭니다.\
      ![On the panthertestacct3 storage account's Containers page, an arrow is drawn to the +Container button.](/files/d384348700cde2feb5240388f7a4df487d23d0d8)
   2. 다음을 입력하세요 **이름** 컨테이너 이름을 입력합니다.
      * 제공한 다음 값은 복사해 두거나 기억해 둡니다. **이름**, 이 과정의 나중에 필요합니다.
   3. 다음을 클릭합니다: **만들기**.
3. 새로 만든 컨테이너를 클릭한 다음, 왼쪽 탐색 모음에서 다음을 클릭합니다. **액세스 제어(IAM)**.
   1. 다음을 클릭합니다: **+추가**.\
      ![In the panthertestcontainer3 Access Control (IAM) page, an arrow is drawn to the +Add button](/files/3d9979bcb075fda233831f277fdf2686ed69ad28)
   2. 다음을 클릭합니다: **역할 할당 추가**.
   3. "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)
   4. 다음을 클릭합니다 **구성원** 탭.
   5. 다음을 클릭합니다: **+구성원 선택**.
   6. 에서 만든 등록된 앱의 이름을 검색합니다. [2단계](#step-2-add-app-registration-and-client-secret), 다음을 클릭합니다. **선택**.
   7. 다음을 클릭합니다: **검토 + 할당**.

**6단계: Azure 구성 값을 Panther 콘솔에 다시 복사**

1. 다음으로 돌아가 **인프라 및 구성** 페이지에 붙여넣습니다.
2. 다음의 **Azure 구성 제공** 섹션에서 다음 필드의 값을 복사합니다:
   * **테넌트 ID**: 이 값은 Azure 콘솔의 **Microsoft Entra ID** 홈 페이지에서 찾을 수 있습니다.
   * **클라이언트 ID**: Azure에서 생성된 애플리케이션(클라이언트) ID [2단계](#step-2-add-app-registration-and-client-secret).
   * **스토리지 계정 이름**: 스토리지 계정 이름 [1단계](#step-1-create-resource-group-and-storage-account).
   * **스토리지 큐 이름**: 큐 이름 [3단계](#step-3-create-queue-and-add-permission).
   * **클라이언트 시크릿**: Azure에서 생성된 클라이언트 시크릿 값 [2단계](#step-2-add-app-registration-and-client-secret).\
     ![This section of the source setup shows "2. Provide Azure configuration" and there are form fields for Tenant ID, Client ID, Storage Account Name, Storage Queue Name, and Client Secret.](/files/6e1dc7d9e15c30b7194f53182c036828b38fc645)
3. Azure Blob Storage가 Azure Government Cloud에 있는지, 아니면 Public Cloud에 있는지 선택합니다.
4. 다음을 클릭합니다: **설정**, 그런 다음 다음으로 진행합니다. [3단계: Panther에서 설정 확인](#step-3-verify-setup-in-panther).
   {% endtab %}
   {% endtabs %}

### 3단계: Panther에서 설정 확인

성공 화면으로 이동합니다:

<figure><img src="/files/e0820e5acb9452e294cfe3ba72060f0fbbfd3b32" alt="The success screen reads, &#x22;Everything looks good! Panther will now automatically pull &#x26; process logs from your account&#x22;" width="281"><figcaption></figcaption></figure>

* 선택적으로 하나 이상의 [디택션 팩](https://docs.panther.com/detections/panther-managed/packs).
* 아직 하지 않았다면 다음을 클릭합니다: **스키마 연결 또는 추론** 소스에 하나 이상의 스키마를 연결합니다.
* 해당 **이벤트가 처리되지 않을 때 알러트를 트리거** 설정의 기본값은 **YES**. 이 옵션은 활성화된 상태로 두는 것을 권장합니다. 일정 시간이 지난 후 로그 소스에서 데이터 흐름이 중단되면 알림을 받게 되기 때문입니다. 이 시간은 구성 가능하며 기본값은 24시간입니다.

  <figure><img src="/files/7db146cd7acee3d0704a4a8b2157f230cfa22168" alt="The &#x22;Trigger an alert when no events are processed&#x22; toggle is set to YES. The &#x22;How long should Panther wait before it sends you an alert that no events have been processed&#x22; setting is set to 1 Day" width="320"><figcaption></figcaption></figure>

### 로그 소스에 새 로그 추가

로그 소스에 추가 Azure 로그 유형을 추가하려면, 다음에 설명된 단계를 따를 수 있습니다. [Azure Monitor Logs 문서](https://docs.panther.com/data-onboarding/supported-logs/azure-monitor?q=azure#step-2-export-azure-monitor-logs).

## 수집된 로그 보기

로그 소스 구성이 완료되면 다음을 사용하여 수집된 데이터를 검색할 수 있습니다: [검색](/ko/search/search-tool.md) 또는 [Data Explorer](/ko/search/data-explorer.md).


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## 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, and the optional `goal` query parameter:

```
GET https://docs.panther.com/ko/data-onboarding/data-transports/azure/blob-storage.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

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.
