> 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/supported-logs/snowflake.md).

# Snowflake 감사 로그

## 개요

Panther는 가져올 수 있습니다 [Snowflake](https://www.snowflake.com/en/) 의 뷰를 쿼리하여 감사 정보를 [`ACCOUNT_USAGE` 스키마](https://docs.snowflake.com/en/sql-reference/account-usage) 다음의 `SNOWFLAKE` 데이터베이스(또는 사용자 지정 데이터베이스/스키마의 유사한 이름의 뷰). 이러한 뷰의 데이터는 Snowflake의 "state data"로 강화할 수 있습니다—자세한 내용은 [Snowflake 보강](/ko/enrichment/snowflake.md).

{% hint style="info" %}
이 통합은 모든 Snowflake 인스턴스를 모니터링하는 데 사용할 수 있습니다. 그러나 Panther에 연결된 Snowflake 인스턴스를 모니터링하려면 대신 사용하는 것이 권장됩니다 [예약 검색](/ko/search/scheduled-searches.md)—참조 [예약 검색 예제](/ko/search/scheduled-searches/examples.md#database-snowflake-monitoring).
{% endhint %}

모든 Snowflake 클라우드 또는 리전의 데이터베이스를 모니터링할 수 있지만, 이러한 요소는 다음에 영향을 줄 수 있습니다 [발생 비용](#cost-considerations).

사용 가능한 뷰는 다음과 같습니다:

* [ACCESS\_HISTORY](https://docs.snowflake.com/en/sql-reference/account-usage/access_history)
* [DATA\_TRANSFER\_HISTORY](https://docs.snowflake.com/en/sql-reference/account-usage/data_transfer_history)
* [LOGIN\_HISTORY](https://docs.snowflake.com/en/sql-reference/account-usage/login_history)
* [QUERY\_HISTORY](https://docs.snowflake.com/en/sql-reference/account-usage/query_history)
* [SESSIONS](https://docs.snowflake.com/en/sql-reference/account-usage/sessions)

{% hint style="warning" %}
해당 [ACCESS\_HISTORY 뷰](https://docs.snowflake.com/en/sql-reference/account-usage/access_history) 다음이 필요합니다: [Snowflake Enterprise Edition](https://docs.snowflake.com/en/user-guide/intro-editions) 이상.
{% endhint %}

### 지연 시간

총 데이터 지연 시간은 Snowflake와 Panther의 지연 시간이 결합된 것입니다:

* 각 Snowflake 뷰의 지연 시간은 다르며, 경우에 따라 최대 3시간까지 걸릴 수 있습니다. 각 뷰의 지연 시간을 확인하려면 다음을 참조하세요: **지연 시간** 의 열 **ACCOUNT\_USAGE 뷰** 테이블에서 [이 Snowflake 문서](https://docs.snowflake.com/en/sql-reference/account-usage#account-usage-views).
* Panther는 최소 1시간의 지연 시간을 추가합니다.

### 비용 고려 사항

이 통합을 사용하여 발생하는 Snowflake 컴퓨팅 비용은 다음을 포함한 다양한 요소의 영향을 받습니다:

* 해당 [웨어하우스](https://docs.snowflake.com/en/user-guide/warehouses) Panther가 사용하도록 선택한
  * Panther는 데이터를 가져오기 위해 쿼리를 실행해야 하므로 활성 웨어하우스를 사용해야 합니다.
  * **다음과 같이 비용을 최소화할 수 있습니다**: 이미 실행 중인 웨어하우스를 선택합니다.
* 데이터 새로 고침 간격
  * Panther에서 로그 소스를 설정할 때 Snowflake에서 데이터를 얼마나 자주 가져올지 선택하게 됩니다. 최소 1분에서 최대 24시간까지 설정할 수 있습니다. 원하는 지연 시간과 비용의 균형에 따라 이 간격을 설정해야 합니다.
  * **다음과 같이 비용을 최소화할 수 있습니다**: 더 긴 새로 고침 간격을 선택합니다.
* 모니터링 중인 Snowflake 인스턴스의 클라우드와 리전이 Panther Snowflake 인스턴스와 동일한지 여부
  * **다음과 같이 비용을 최소화할 수 있습니다**: 클라우드와 리전이 Panther Snowflake 인스턴스와 동일함.

Snowflake의 [전체 비용 이해](https://docs.snowflake.com/en/user-guide/cost-understanding-overall) 문서.

### 제한 사항

다음을 초과하는 Snowflake 감사 로그 이벤트: [Panther의 15MB 제한](/ko/data-onboarding.md#data-ingestion-size-limit) 은 건너뜁니다.

## Snowflake Audit Logs를 Panther에 온보딩하는 방법

초기 통합을 설정한 후에는 [Snowflake 사용자와 연결된 RSA 키를 교체할 수 있습니다](#how-to-rotate-the-rsa-key-of-an-existing-snowflake-audit-logs-source).

### 사전 요구 사항

이 통합을 구성하려면 다음이 필요합니다:

* 다음을 보유해야 합니다: [Snowflake 계정 식별자](https://docs.snowflake.com/en/user-guide/admin-account-identifier). 형식은 마침표가 아니라 하이픈을 사용해야 하며, 예를 들면: `<org_name>-<account_name>`
* Snowflake가 있어야 합니다 [웨어하우스](https://docs.snowflake.com/en/user-guide/warehouses) Panther가 데이터를 가져오기 위해 쿼리를 실행하는 데 사용할 수 있는
* Snowflake에서 다음을 보유해야 합니다: `CREATE USER` , `CREATE ROLE`, 그리고 `GRANT USAGE` 권한
  * 이 권한은 Panther가 사용할 Snowflake 서비스 사용자를 만들 경우에만 필요합니다. 이미 Panther가 사용할 수 있는 서비스 사용자가 있다면 이 권한은 필요하지 않습니다.

### 1단계: Snowsight에서 워크시트 만들기

{% hint style="info" %}
이 단계는 Panther가 데이터를 가져오는 데 사용할 Snowflake 서비스 사용자를 만들어야 하는 경우에만 필요합니다. 이미 Panther가 사용할 수 있는 서비스 사용자가 있다면 이 단계를 건너뛰세요.
{% endhint %}

* Snowsight에서 [워크시트를 만듭니다](https://docs.snowflake.com/en/user-guide/ui-snowsight-worksheets-gs#create-worksheets-in-sf-web-interface) 과 `CREATE USER` , `CREATE ROLE`, 그리고 `GRANT USAGE` 를 부여하세요.

### 2단계: Panther에서 새 Snowflake 로그 소스 만들기

1. Panther 콘솔의 왼쪽 탐색 표시줄에서 다음을 클릭합니다: **구성** > **로그 소스**.
2. 다음을 클릭합니다: **새로 만들기.**
3. “Snowflake Audit Logs”를 검색한 다음 해당 타일을 클릭합니다.
4. 슬라이드아웃 패널에서 다음을 클릭합니다 **설정 시작**.

   <figure><img src="/files/ca0470b583fa8998f697825465101c57c99151ba" alt="An arrow is drawn from a tile titled &#x22;Snowflake Audit Logs&#x22; to a button labeled &#x22;Start Setup.&#x22;" width="563"><figcaption></figcaption></figure>
5. 다음에서 **구성** 페이지에서 다음 필드의 값을 입력합니다:
   * **이름**: 소스에 대한 설명적인 이름을 입력합니다. 예: `Snowflake Prod`.
   * **계정 식별자**: 다음 형식으로 Snowflake 계정 식별자를 입력합니다 `<org_name>-<account_name>`.
     * 조직 이름과 계정 이름 사이에는 마침표가 아니라 하이픈을 사용합니다.
   * **웨어하우스**: Panther가 데이터를 가져오기 위해 쿼리를 실행하는 데 사용할 Snowflake 웨어하우스를 입력합니다.
   * (선택 사항) **사용자 지정 데이터베이스 및 스키마 사용**: 감사 로그 뷰를 사용자 지정 데이터베이스와 스키마에 복제해 두었고, 기본 데이터베이스 대신 해당 뷰를 쿼리하려는 경우, `SNOWFLAKE`, 그리고 스키마, `ACCOUNT_USAGE`), 이 옵션을 클릭합니다.
     * **데이터베이스**: Panther가 쿼리할 사용자 지정 데이터베이스 이름을 입력합니다.
     * **스키마**: Panther가 쿼리할 사용자 지정 스키마 이름을 입력합니다. \* **실행 주기**: 다음 **숫자** 그리고 **주기** 필드를 사용하여 Panther가 Snowflake에서 데이터를 가져올 간격을 선택합니다.
   * 참조 [비용 고려 사항](#cost-considerations) 간격이 컴퓨팅 비용에 미치는 영향을 알아보세요.
   * **모니터링할 로그 유형**: Panther가 가져올 Snowflake 뷰를 선택합니다.

{% hint style="warning" %}
사용자 지정 데이터베이스와 스키마를 사용하는 경우는 드뭅니다. 나중 단계에서 만들 서비스 역할의 권한을 특정 Snowflake 데이터베이스 및 스키마로 제한하고 싶다면 이 방법이 유용할 수 있습니다.\n\n사용자 지정 데이터베이스와 스키마를 사용하는 경우, 스키마 내 뷰 이름은 기본 제공 Snowflake 뷰 이름(다음에 나열됨)과 정확히 일치해야 합니다 [개요](#overview)), Panther가 기대하는 이름이기 때문입니다. 예를 들어 쿼리 기록 로그를 가져오려면 뷰 이름은 다음과 같아야 합니다 `query_history`.
{% endhint %}

6. 다음을 클릭합니다: **설정.**
7. 다음에서 **자격 증명 설정** 페이지에서 양식 필드를 채우세요. Panther가 이러한 값을 바탕으로 RSA 키를 생성합니다.
   * **사용자 이름**: Panther가 데이터를 가져오는 데 사용할 Snowflake 사용자의 사용자 이름입니다. 기본값은 `PANTHER_AUDIT_VIEW_USER`, 하지만 원하는 대로 변경할 수 있습니다.
     * 이미 Panther가 사용할 서비스 사용자가 있고 새로 만들 필요가 없다면, 여기에서 해당 사용자 이름을 입력하세요.
   * **역할**: Panther가 데이터를 가져오는 데 사용할 Snowflake 사용자가 보유한 역할 이름입니다. 기본값은 `PANTHER_AUDIT_VIEW_ROLE`, 하지만 원하는 대로 변경할 수 있습니다.
     * 이미 Panther가 사용할 서비스 역할이 있고 새로 만들 필요가 없다면, 여기에서 해당 이름을 입력하세요.
8. 이미 Panther가 사용할 서비스 사용자가 있고 새로 만들 필요가 없다면, 다음을 클릭하세요: **내 RSA 키를 사용하고 싶습니다**, 그런 다음 RSA 키 파일을 업로드하세요.

   <figure><img src="/files/5a7c645f70178f38af8ddc0dbeb6e75a536d48bd" alt="" width="563"><figcaption></figcaption></figure>
9. 다음을 클릭합니다: **다음**.
10. 다음에서 **보강** 페이지에서 수신되는 로그를 다음 [지원되는 Snowflake 보강 유형](/ko/enrichment/snowflake.md#supported-enrichment-types)중 하나 이상으로 강화하려는 경우 `켬` 다음을 설정합니다 **새로 고침 주기(분)**.

    * 최소 새로 고침 주기는 60분입니다. 데이터 변경이 드문 경우 이 값을 늘리는 것이 좋습니다.
    * 이 보강 소스 중 하나라도 켜면 다음 페이지에 표시됩니다 **구성** > **보강** 페이지. 다음에서 자세히 알아보세요 [Snowflake 보강](/ko/enrichment/snowflake.md).

    <figure><img src="/files/e165922230ca7f907e83f4831cb909f5d4d0e37a" alt="Under an &#x22;Enrichment settings&#x22; title, there are six tiles, each with a title, description, an ON/OFF toggle, and a Refresh period (min) field."><figcaption></figcaption></figure>
11. 다음을 클릭합니다: **설정**.
12. 직접 RSA 키를 업로드하지 않았다면, 생성된 SQL 스니펫을 사용해 Panther가 사용할 서비스 사용자를 만드세요. Panther는 사용자를 대신해 RSA 키를 생성하며 공개 키만 표시합니다.
    1. 생성된 SQL 스니펫을 복사합니다.
    2. 다음에서 SQL 스니펫을 실행합니다 [Snowsight 워크시트](https://docs.snowflake.com/en/user-guide/ui-snowsight-worksheets-gs).
    3. 다음을 클릭합니다: **설정**.
13. 모든 것이 올바르면 성공 화면으로 이동합니다:

    <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>

## 기존 Snowflake Audit Logs 소스의 RSA 키를 교체하는 방법

기존 Snowflake Audit Logs 소스에 연결된 Snowflake 사용자와 관련된 RSA 키를 로그 수신 흐름을 중단하지 않고 교체하려면:

1. Panther 콘솔의 왼쪽 탐색 표시줄에서 다음을 클릭합니다: **구성** > **로그 소스**.
2. 다음의 **로그 소스** 목록에서 업데이트하려는 Snowflake Audit logs 소스를 찾아 이름을 클릭합니다.
3. 로그 소스의 세부 정보 페이지에서 다음을 클릭하세요: **구성** 탭을 연 다음 **편집**.

   <figure><img src="/files/1e15b937808402800deb68c1b1b01fbd376f6d19" alt="Under a &#x22;Snowflake audit logs source,&#x22; an arrow is drawn from a &#x22;Configuration&#x22; tab to an &#x22;Edit&#x22; button."><figcaption></figcaption></figure>
4. 다음을 클릭합니다: **자격 증명 설정**.
5. 다음을 클릭합니다: **RSA 키 교체**.

   <figure><img src="/files/e75dc776d50ec789b88885da9d7905c3ea75d5a0" alt="An arrow is drawn from a &#x22;Set Credentials&#x22; button to a &#x22;Rotate RSA Key&#x22; button."><figcaption></figcaption></figure>
6. 다음에서 **RSA 키 교체** 팝업 모달에서 다음을 클릭합니다 **RSA 키 교체**.
7. 제공된 다음을 복사합니다 **RSA 키 교체 SQL**, 그런 다음 다음에서 실행합니다 [Snowsight 워크시트](https://docs.snowflake.com/en/user-guide/ui-snowsight-worksheets-gs) (권한이 있는 사용자를 사용하여, 예를 들면 `ACCOUNTADMIN`).
8. Panther에서 다음을 클릭합니다 **저장**.

## 지원되는 로그 유형

### Snowflake.AccessHistory

```yaml
schema: Snowflake.AccessHistory
설명: Snowflake 액세스 기록 로그
referenceURL: https://docs.snowflake.com/en/sql-reference/account-usage/access_history
fields:
  - name: BASE_OBJECTS_ACCESSED
    설명: 쿼리 중 액세스된 기본 객체 목록
    type: array
    element:
      유형: json
  - name: DIRECT_OBJECTS_ACCESSED
    설명: 쿼리 중 액세스된 직접 객체 목록
    type: array
    element:
      유형: json
  - name: OBJECTS_MODIFIED
    설명: 쿼리 중 수정된 객체 목록
    type: array
    element:
      유형: json
  - name: POLICIES_REFERENCED
    설명: 쿼리 중 참조된 정책 목록
    type: array
    element:
      유형: json
  - name: OBJECT_MODIFIED_BY_DDL
    설명: 쿼리 중 DDL로 수정된 객체
    유형: json
  - name: QUERY_ID
    설명: 쿼리의 고유 식별자
    type: string
  - name: QUERY_START_TIME
    required: true
    설명: 쿼리 시작 시간
    type: timestamp
    timeFormats:
      - '%Y-%m-%d %H:%M:%S.%f %z'
      - '%a, %d %b %Y %H:%M:%S %z'
    isEventTime: true
  - name: USER_NAME
    설명: 쿼리를 실행한 사용자의 이름
    type: string
    표시자:
      - 사용자명
  - name: PARENT_QUERY_ID
    설명: 상위 작업의 쿼리 ID이며, 상위 작업이 없으면 NULL
    type: string
  - name: ROOT_QUERY_ID
    설명: 체인에서 최상위 작업의 쿼리 ID이며, 상위 작업이 없으면 NULL
    type: string
```

### Snowflake.DataTransferHistory

```yaml
schema: Snowflake.DataTransferHistory
설명: Snowflake 데이터 전송 기록
fields:
    - name: ORGANIZATION_NAME
      required: true
      type: string
    - name: ACCOUNT_NAME
      required: true
      type: string
    - name: ACCOUNT_LOCATOR
      required: true
      type: string
    - name: REGION
      type: string
    - name: USAGE_DATE
      required: true
      type: timestamp
      timeFormats:
        - '%Y-%m-%d %H:%M:%S.%f %z'
      isEventTime: true
    - name: SOURCE_CLOUD
      type: string
    - name: SOURCE_REGION
      type: string
    - name: TARGET_CLOUD
      type: string
    - name: TARGET_REGION
      type: string
    - name: BYTES_TRANSFERRED
      required: true
      type: bigint
    - name: TRANSFER_TYPE
      type: string
```

### Snowflake.LoginHistory

```yaml
schema: Snowflake.LoginHistory
설명: Snowflake 로그인 기록 로그
fields:
    - name: CLIENT_IP
      설명: 로그인을 시작한 클라이언트의 IP 주소
      type: string
      표시자:
        - ip
    - name: EVENT_ID
      required: true
      설명: 이벤트의 고유 식별자
      type: string
    - name: EVENT_TIMESTAMP
      required: true
      설명: 이벤트의 타임스탬프
      type: timestamp
      timeFormats:
        - '%Y-%m-%d %H:%M:%S.%f %z'
      isEventTime: true
    - name: EVENT_TYPE
      설명: 이벤트 유형(예: LOGIN, LOGOUT)
      type: string
    - name: FIRST_AUTHENTICATION_FACTOR
      설명: 사용된 첫 번째 인증 요소
      type: string
    - name: IS_SUCCESS
      설명: 이벤트가 성공했는지 여부(YES/NO)
      type: string
    - name: RELATED_EVENT_ID
      설명: 관련 이벤트가 있는 경우 그 식별자
      type: string
    - name: REPORTED_CLIENT_TYPE
      설명: 보고된 클라이언트 유형
      type: string
    - name: REPORTED_CLIENT_VERSION
      설명: 보고된 클라이언트 버전
      type: string
    - name: USER_NAME
      설명: 이벤트에 관련된 사용자의 이름
      type: string
      표시자:
        - 사용자명
```

### Snowflake.QueryHistory

```yaml
schema: Snowflake.QueryHistory
설명: Snowflake 쿼리 기록 로그
fields:
    - name: BYTES_DELETED
      설명: 삭제된 바이트 수
      type: bigint
    - name: BYTES_READ_FROM_RESULT
      설명: 결과에서 읽은 바이트 수
      type: bigint
    - name: BYTES_SCANNED
      설명: 스캔한 바이트 수
      type: bigint
    - name: BYTES_SENT_OVER_THE_NETWORK
      설명: 네트워크를 통해 전송된 바이트 수
      type: bigint
    - name: BYTES_SPILLED_TO_LOCAL_STORAGE
      설명: 로컬 스토리지에 스필된 바이트 수
      type: bigint
    - name: BYTES_SPILLED_TO_REMOTE_STORAGE
      설명: 원격 스토리지에 스필된 바이트 수
      type: bigint
    - name: BYTES_WRITTEN
      설명: 기록된 바이트 수
      type: bigint
    - name: BYTES_WRITTEN_TO_RESULT
      설명: 결과에 기록된 바이트 수
      type: bigint
    - name: CHILD_QUERIES_WAIT_TIME
      설명: 하위 쿼리 대기 시간
      유형: int
    - name: CLUSTER_NUMBER
      설명: 클러스터 번호
      유형: int
    - name: COMPILATION_TIME
      설명: 쿼리 컴파일에 걸린 시간
      유형: int
    - name: CREDITS_USED_CLOUD_SERVICES
      설명: 클라우드 서비스에 사용된 크레딧
      type: float
    - name: DATABASE_ID
      설명: 데이터베이스 식별자
      type: string
    - name: DATABASE_NAME
      설명: 데이터베이스 이름
      type: string
    - name: END_TIME
      설명: 쿼리 종료 시간
      type: timestamp
      timeFormats:
        - '%Y-%m-%d %H:%M:%S.%f %z'
    - name: EXECUTION_STATUS
      설명: 쿼리 실행 상태
      type: string
    - name: EXECUTION_TIME
      설명: 쿼리 실행에 걸린 시간
      유형: int
    - name: EXTERNAL_FUNCTION_TOTAL_INVOCATIONS
      설명: 외부 함수의 총 호출 수
      유형: int
    - name: EXTERNAL_FUNCTION_TOTAL_RECEIVED_BYTES
      설명: 외부 함수가 수신한 총 바이트 수
      유형: int
    - name: EXTERNAL_FUNCTION_TOTAL_RECEIVED_ROWS
      설명: 외부 함수가 수신한 총 행 수
      유형: int
    - name: EXTERNAL_FUNCTION_TOTAL_SENT_BYTES
      설명: 외부 함수가 전송한 총 바이트 수
      유형: int
    - name: EXTERNAL_FUNCTION_TOTAL_SENT_ROWS
      설명: 외부 함수가 전송한 총 행 수
      유형: int
    - name: INBOUND_DATA_TRANSFER_BYTES
      설명: 수신 데이터 전송 바이트 수
      유형: int
    - name: IS_CLIENT_GENERATED_STATEMENT
      설명: 해당 문이 클라이언트에 의해 생성되었는지 여부
      유형: boolean
    - name: LIST_EXTERNAL_FILES_TIME
      설명: 외부 파일 목록을 나열하는 데 걸린 시간
      유형: int
    - name: OUTBOUND_DATA_TRANSFER_BYTES
      설명: 발신 데이터 전송 바이트 수
      유형: int
    - name: PARTITIONS_SCANNED
      설명: 스캔한 파티션 수
      유형: int
    - name: PARTITIONS_TOTAL
      설명: 총 파티션 수
      유형: int
    - name: PERCENTAGE_SCANNED_FROM_CACHE
      설명: 캐시에서 스캔한 데이터의 비율
      type: float
    - name: QUERY_ACCELERATION_BYTES_SCANNED
      설명: 쿼리 가속을 위해 스캔한 바이트 수
      유형: int
    - name: QUERY_ACCELERATION_PARTITIONS_SCANNED
      설명: 쿼리 가속을 위해 스캔한 파티션 수
      유형: int
    - name: QUERY_ACCELERATION_UPPER_LIMIT_SCALE_FACTOR
      설명: 쿼리 가속의 상한 스케일 팩터
      유형: int
    - name: QUERY_HASH
      설명: 쿼리 문자열의 해시
      type: string
    - name: QUERY_HASH_VERSION
      설명: 해시 버전
      type: string
    - name: QUERY_ID
      required: true
      설명: 쿼리의 고유 식별자
      type: string
    - name: QUERY_LOAD_PERCENT
      설명: 쿼리 중 로드 비율
      type: float
    - name: QUERY_PARAMETERIZED_HASH
      설명: 매개변수화된 쿼리의 해시
      type: string
    - name: QUERY_PARAMETERIZED_HASH_VERSION
      설명: 매개변수화된 쿼리의 해시 버전
      type: string
    - name: QUERY_TAG
      설명: 쿼리와 연결된 태그
      type: string
    - name: QUERY_TEXT
      설명: 쿼리 텍스트
      type: string
    - name: QUERY_TYPE
      설명: 쿼리 유형
      type: string
    - name: QUEUED_OVERLOAD_TIME
      설명: 과부하로 인해 큐에서 대기한 시간
      유형: int
    - name: QUEUED_PROVISIONING_TIME
      설명: 프로비저닝을 위해 큐에서 대기한 시간
      유형: int
    - name: QUEUED_REPAIR_TIME
      설명: 복구를 위해 큐에서 대기한 시간
      유형: int
    - name: RELEASE_VERSION
      설명: 릴리스 버전
      type: string
    - name: ROLE_NAME
      설명: 역할 이름
      type: string
    - name: ROLE_TYPE
      설명: 역할 유형
      type: string
    - name: ROWS_DELETED
      설명: 삭제된 행 수
      유형: int
    - name: ROWS_INSERTED
      설명: 삽입된 행 수
      유형: int
    - name: ROWS_UNLOADED
      설명: 언로드된 행 수
      유형: int
    - name: ROWS_UPDATED
      설명: 업데이트된 행 수
      유형: int
    - name: ROWS_WRITTEN_TO_RESULT
      설명: 결과에 기록된 행 수
      유형: int
    - name: SCHEMA_ID
      설명: 스키마 식별자
      type: string
    - name: SCHEMA_NAME
      설명: 스키마 이름
      type: string
    - name: SECONDARY_ROLE_STATS
      설명: 보조 역할 통계
      type: string
    - name: SESSION_ID
      설명: 세션 식별자
      type: string
    - name: START_TIME
      required: true
      설명: 쿼리 시작 시간
      type: timestamp
      timeFormats:
        - '%Y-%m-%d %H:%M:%S.%f %z'
      isEventTime: true
    - name: TOTAL_ELAPSED_TIME
      설명: 쿼리의 총 경과 시간
      유형: int
    - 이름: TRANSACTION_BLOCKED_TIME
      설명: 트랜잭션이 차단된 시간
      유형: int
    - 이름: TRANSACTION_ID
      설명: 트랜잭션 식별자
      type: string
    - name: USER_NAME
      설명: 사용자의 이름
      type: string
      표시자:
        - 사용자명
    - 이름: WAREHOUSE_ID
      설명: 웨어하우스 식별자
      type: string
    - 이름: WAREHOUSE_NAME
      설명: 웨어하우스 이름
      type: string
    - 이름: WAREHOUSE_SIZE
      설명: 웨어하우스 크기
      type: string
    - 이름: WAREHOUSE_TYPE
      설명: 웨어하우스 유형
      type: string
```

### Snowflake.Sessions

```yaml
스키마: Snowflake.Sessions
설명: Snowflake 세션 이력 로그
fields:
    - 이름: AUTHENTICATION_METHOD
      설명: 인증에 사용된 방법
      type: string
    - 이름: CLIENT_APPLICATION_ID
      설명: 클라이언트 애플리케이션의 ID
      type: string
    - 이름: CLIENT_APPLICATION_VERSION
      설명: 클라이언트 애플리케이션의 버전
      type: string
    - 이름: CLIENT_BUILD_ID
      설명: 클라이언트 애플리케이션의 빌드 ID
      type: string
    - 이름: CLIENT_ENVIRONMENT
      설명: 클라이언트 애플리케이션의 환경 정보(예: OS, 버전)
      유형: json
      isEmbeddedJSON: true
    - 이름: CLIENT_VERSION
      설명: 클라이언트 버전
      type: string
    - 이름: CLOSED_REASON
      설명: 세션이 종료된 이유
      type: string
    - 이름: CREATED_ON
      required: true
      설명: 세션이 생성된 타임스탬프
      type: timestamp
      timeFormats:
        - '%Y-%m-%d %H:%M:%S.%f %z'
      isEventTime: true
    - 이름: LOGIN_EVENT_ID
      설명: 로그인 이벤트의 고유 식별자
      type: string
    - name: SESSION_ID
      required: true
      설명: 세션의 고유 식별자
      type: string
    - name: USER_NAME
      설명: 사용자의 이름
      type: string
      표시자: 
        - 사용자명
```


---

# 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:

```
GET https://docs.panther.com/ko/data-onboarding/supported-logs/snowflake.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.
