# Cloud Connected용 Snowflake 구성하기 (레거시)

## 개요

{% hint style="danger" %}
이 페이지의 지침을 따르지 마세요. 대신 다음을 따르세요. [Cloud Connected](https://docs.panther.com/ko/system-configuration/panther-deployment-types/cloud-connected) Run Panther AI [Cloud Connected Panther 인스턴스 설정 지침](https://docs.panther.com/ko/system-configuration/panther-deployment-types/cloud-connected/set-up). 이 페이지는 역사적 참고용으로만 존재합니다.
{% endhint %}

다음의 경우 [Cloud Connected](https://docs.panther.com/ko/system-configuration/panther-deployment-types/cloud-connected) Panther 배포에서는 귀하의 조직이 Panther 인스턴스가 배포되는 Snowflake 계정과 AWS 계정을 소유하며, Panther는 플랫폼의 초기 배포와 이후 업그레이드를 관리합니다.

새롭거나 비어 있는 Snowflake 계정으로 시작해야 합니다. Panther는 Cloud Connected 배포에서 Panther가 관리하는 Snowflake 계정 사용을 지원하지 않습니다.

이 페이지에서는 Panther 배포를 위한 Snowflake 계정을 구성하는 방법과 자격 증명을 AWS 계정에 연결하는 방법을 설명합니다.

### Snowflake Enterprise 이상이 필요한 Panther 기능

다음 Panther 기능을 사용하려면 다음 버전을 사용해야 합니다. [Snowflake Enterprise Edition](https://docs.snowflake.com/en/user-guide/intro-editions) 또는 그 이상:

* [쿼리 가속](https://docs.panther.com/ko/search/backend/snowflake/configuration#query-acceleration)
* [검색 최적화](https://docs.panther.com/ko/search/backend/snowflake/configuration#search-optimization)
* [로그 유형별 RBAC](https://docs.panther.com/ko/rbac#prerequisites-for-customer-configured-snowflake-accounts)
* [Snowflake 감사 로그 통합의 ACCESS\_HISTORY 뷰](https://docs.panther.com/ko/data-onboarding/supported-logs/snowflake)

## Panther용 새 Snowflake 계정과 사용자 만드는 방법

1. Snowflake 조직에서 아래 템플릿을 사용하여 Panther 전용 새 Snowflake 계정을 만드세요. `<YOUR_REGION>` 은 다음 중 하나여야 합니다. [지원되는 AWS 리전](https://docs.panther.com/ko/system-configuration/panther-deployment-types/..#supported-aws-regions) (그리고 다음과 동일한 AWS [리전](https://docs.snowflake.com/en/user-guide/intro-regions) 이어야 합니다. (나중에 Panther 인스턴스가 배포될 위치)

   ```sql
   USE ROLE ORGADMIN;

   CREATE ACCOUNT <YOUR_PANTHER_ACCOUNT_NAME> // 원하는 Panther 계정 이름
     ADMIN_NAME = <YOUR_ADMIN_NAME>
     ADMIN_PASSWORD = '<YOUR ADMIN PASSWORD>' // 최소 32자 사용이 권장됩니다
     ADMIN_USER_TYPE = 'LEGACY_SERVICE'
     EMAIL = '<your snowflake DBA email>'
     MUST_CHANGE_PASSWORD = FALSE
     EDITION = <YOUR_EDITION> // STANDARD, ENTERPRISE 또는 BUSINESS_CRITICAL
     REGION = <YOUR_REGION> // 나중에 Panther 인스턴스가 배포될 AWS 리전
     COMMENT =  'Panther Snowflake Cloud Connected Production Environment'; 
   ```
2. 위 명령의 출력에서 `url` 값을 복사하여 브라우저 창에 붙여넣으세요. 위 명령에서 제공한 자격 증명을 사용하여 방금 만든 계정에 로그인하세요.
3. 새 계정에서 `pantheraccountadmin` 사용자를 생성하고 다음 명령을 사용하여 관리 역할을 부여하세요.

   ```sql
   USE ROLE SECURITYADMIN;

   CREATE USER pantheraccountadmin
      PASSWORD='<panther_credential>'
      TYPE='LEGACY_SERVICE';

   GRANT ROLE SYSADMIN
      TO USER pantheraccountadmin;
      
   GRANT ROLE SECURITYADMIN
      TO USER pantheraccountadmin;

   GRANT ROLE ACCOUNTADMIN
      TO USER pantheraccountadmin;
      
   ALTER USER pantheraccountadmin SET DEFAULT_ROLE = SYSADMIN;
   ```
4. Snowflake 콘솔에서 계정 URL을 찾으세요:
   1. 왼쪽 탐색 표시줄 하단에서 이름을 클릭하세요.
   2. 열리는 메뉴에서 **계정**.
   3. 열리는 메뉴에서 계정 이름 위에 마우스를 올리세요.
   4. 열리는 메뉴에서 다음을 클릭하세요. **계정 URL 복사**아이콘.
      * URL은 다음 형식입니다: `<org-name>-<account-name>.snowflakecomputing.com`
      * 나중 단계에서 필요하므로 이 값을 안전한 위치에 저장하세요.\
        ![](https://2400888838-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-LgdiSWdyJcXPahGi9Rs-2910905616%2Fuploads%2Fgit-blob-6e4beeafedb4985a50fa14671643f8911d54c7fb%2Fimage%20\(15\).png?alt=media)

{% hint style="info" %}
다음으로 돌아가세요. [지침 Cloud Connected](https://docs.panther.com/ko/system-configuration/cloud-connected#how-to-configure-your-cloud-connected-account) 를 계속하여 배포 프로세스를 진행하세요.
{% endhint %}

## (선택 사항) Panther 데이터 테이블용 읽기 전용 역할 만들기

Panther는 다음을 유지합니다. `PANTHERACCOUNTADMIN` 사용자 자격 증명을 안전한 위치에 보관합니다.

Panther 데이터 레이크 테이블에 대한 읽기 전용 액세스 권한을 가진 여러 사용자를 만들고 관리하려는 경우 다음을 사용할 수 있습니다. `PANTHERACCOUNTADMIN` 사용자 또는 다른 `SECURITYADMIN` 사용 권한이 있는 사용자를 사용하여 Snowflake 계정에서 다음 명령을 실행하세요.

```sql
USE ROLE SECURITYADMIN;

# 필요한 경우 새 사용자 만들기
CREATE USER IF NOT EXISTS my_readonly_user 
    PASSWORD = '<INITIAL PASSWORD>'
    MUST_CHANGE_PASSWORD = TRUE;

# 새로 생성된 사용자에게 PANTHER_READONLY_ROLE 부여
GRANT ROLE PANTHER_READONLY_ROLE TO USER my_readonly_user;
```

## **(선택 사항) Panther 계정 관리자 사용자 비활성화 및 다시 활성화**

{% hint style="danger" %}
비활성화하면 `PANTHERACCOUNTADMIN` 사용자 때문에 Panther가 다음 작업을 수행하지 못할 수 있습니다:

* 자격 증명 순환 수행
* 다음과 같은 특정 기능을 활성화 [역할 기반 액세스 제어(RBAC)](https://docs.panther.com/ko/system-configuration/rbac)
* Panther가 실행되어야 하는 새 기능 배포`snowconfig`
  {% endhint %}

위의 영향에도 불구하고 `PANTHERACCOUNTADMIN` 사용자를 비활성화하기로 선택한 경우 다음 명령을 사용하여 비활성화할 수 있습니다.

```sql
USE ROLE SECURITYADMIN;

ALTER USER PANTHERACCOUNTADMIN SET DISABLED = TRUE
```

Panther 업그레이드에 권한 있는 액세스가 필요하면, 사용자를 일시적으로 다시 활성화할 수 있습니다:

```sql
USE ROLE SECURITYADMIN;

ALTER USER PANTHERACCOUNTADMIN SET DISABLED = FALSE
```
