# Snowflake

## 개요

Panther는 다음을 사용하는 것을 지원합니다 [Snowflake를](https://www.snowflake.com) 데이터를 저장하고 검색하기 위한 데이터 레이크 백엔드로.

Panther를 Snowflake와 통합하면 Panther 데이터를 비즈니스 인텔리전스 도구에서 사용하여 운영에 맞춘 대시보드를 만들 수 있습니다. 또한 Panther 데이터(예: Panther 알림)를 비즈니스 데이터와 결합하여 조직에 대한 보안 태세를 평가할 수 있습니다. 예를 들어 조직 부문(예: 인사)별 또는 인프라(예: 개발, 테스트, 프로덕션)별로 알림을 집계할 수 있습니다.

Snowflake 인스턴스는 다음으로 구성할 수 있습니다 [SaaS](/ko/system-configuration/panther-deployment-types/saas.md) 또는 [클라우드 연결](/ko/system-configuration/panther-deployment-types/cloud-connected.md). Panther가 관리형 Snowflake 인스턴스를 구성하는 방법을 알아보거나(또는 직접 구성하는 인스턴스의 구성 방법에 대한 권장 사항을 확인하려면) [최적의 검색 성능을 위한 Snowflake 구성](/ko/search/backend/snowflake/configuration.md). 참고로 [일부 Panther 기능은 Snowflake Enterprise Edition 이상에서만 사용할 수 있습니다](/ko/search/backend/snowflake/configuration.md#panther-features-requiring-snowflake-enterprise-or-higher).

Panther는 [Snowpipe를](https://docs.snowflake.com/en/user-guide/data-load-snowpipe-intro.html) 사용하여 데이터를 Snowflake 클러스터로 복사합니다.

## Panther에서 추가 데이터 세트 사용

Panther는 `panther_readonly` Snowflake 사용자로 Snowflake의 데이터를 쿼리합니다. 기본적으로 이 사용자의 역할은 `panther_readonly_role` 에 대한 최소한의 권한만 부여되어 panther 데이터베이스의 데이터에 액세스할 수 있습니다. 그러나 기존 데이터 세트(예: HR 데이터, 사내 또는 벤더 제공 허용 목록/차단 목록)를 [Data Explorer](/ko/search/data-explorer.md) 쿼리에 추가하려는 경우 다음과 같은 명령문으로 해당 데이터를 역할이 접근할 수 있게 만들 수 있습니다:

```sql
GRANT USAGE
  ON DATABASE my_database_name
  TO ROLE panther_readonly_role;
GRANT USAGE
  ON SCHEMA my_database_name.my_schema_name
  TO ROLE panther_readonly_role;
GRANT SELECT
  ON TABLE  my_database_name.my_schema_name.my_table_name
  TO ROLE panther_readonly_role;
```

새로 부여된 데이터베이스, 스키마 및 테이블은 Panther 사이드바에 *표시되지 않지만* 일반 SQL을 사용하여 액세스할 수 있습니다.

## Snowflake 상태 모니터링

Panther는 Snowflake에서 다음에 대한 상태 점검을 수행합니다 [파일 로딩](#file-loading-into-snowflake) 및 [스테이지 및 Snowpipe 상태](#stage-and-snowpipe-health). 기본적으로 Panther는 3시간마다(또는 180분마다) 이러한 검사를 실행합니다.

### Snowflake로 파일 로딩

Snowflake [COPY\_HISTORY() 함수](https://docs.snowflake.com/en/sql-reference/functions/copy_history)를 사용하여 Panther는 로드를 위해 Panther가 소유한 데이터베이스 테이블에 추가된 파일의 오류를 모니터링합니다. 오류는 드물지만, 발견되면 즉시 Panther 직원에게 에스컬레이션됩니다. 이 경우 Panther 직원이 문제를 해결하고 데이터를 수동으로 다시 스테이징하여 Snowflake 계정에 성공적으로 로드되도록 합니다.

### **스테이지 및 Snowpipe 상태**

Panther는 다음에 사용되는 모든 [외부 스테이지](https://docs.snowflake.com/en/user-guide/data-load-s3) 및 [Snowpipe를](https://docs.snowflake.com/en/user-guide/data-load-snowpipe-intro) 관리합니다. 이는 S3 버킷의 데이터를 Snowflake 테이블로 로드하는 과정에서 사용됩니다. 만약 [다음의 출력이 `SYSTEM$PIPE_STATUS` 함수](https://docs.snowflake.com/en/sql-reference/functions/system_pipe_status#output) 에서 Snowpipe의 `executionState` 가 `RUNNING`이 아닌 것으로 나타나면, Panther는 다음 조치 중 하나 이상을 수행하여 자동으로 파이프를 수정하려고 시도합니다:

* 영향을 받는 파이프 다시 생성
* 기반이 되는 스테이지 다시 생성
* 파이프 새로 고침

대부분의 경우, 위 단계로 파이프가 수정되면 데이터를 수동으로 다시 로드할 필요가 없습니다. (Panther는 Snowflake 테이블에서 사용할 수 있는 [파일 로드 메타데이터](https://docs.snowflake.com/en/user-guide/data-load-snowpipe-intro#load-history) 를 확인하여 이를 검증합니다.) 복사 실패와 마찬가지로 모든 스테이지 및 파이프 실패는 Panther 직원에게 보고되며, 이들은 수정이 필요한지 모니터링합니다.


---

# 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/search/backend/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.
