Snowflake Data Clean Rooms 환경 설치하기

시작하기 전에

해당 계정의 모든 사용자를 위한 Clean Room 환경이 Snowflake 계정에 설치됩니다.

계정 내 사용자는 Clean Rooms 관리자에 의해 Clean Room 환경에 대한 액세스 권한이 부여됩니다.

  • 계정에 Clean Room 환경이 설치되어 있지 않은 경우: 이 페이지의 설치 지침을 따르십시오.

  • Clean Room에 가입하라는 이메일 초대를 받은 경우: 링크를 따라가서 지시에 따라 이메일과 새 비밀번호를 입력합니다. 그러면 Clean Rooms에 가입하여 Clean Room을 이용할 수 있는 Clean Rooms 웹 애플리케이션이 열립니다. 초대를 받은 이메일 주소를 제공해야 한다는 점에 유의하십시오. 비밀번호는 Clean Rooms 계정에 고유하게 설정되며, Snowflake 비밀번호를 재사용하지 않는 것이 좋습니다.

  • 계정에 Clean Room 환경이 설치되어 있고 이에 액세스하려는 경우: Clean Rooms 관리자에게 API, UI 또는 둘 다에 대한 액세스 권한을 요청하십시오.

개요

Snowflake Data Clean Rooms는 두 가지 환경으로 구성됩니다.

  • Clean Rooms UI: 사용자가 쉽게 분석을 생성하거나 실행할 수 있는 코드 없는 브라우저 기반 환경입니다.

  • Clean Room API: Clean Rooms를 생성 및 관리하고 분석을 실행하는 데 사용되는 저장 프로시저 세트에 액세스합니다.

이러한 환경은 비슷하지만 정확히 동등하지는 않은 기능을 제공합니다. Clean Rooms 관리자는 Snowflake 계정에 구성 요소 중 하나 또는 두 가지를 모두 설치한 다음 사용자에게 각 환경에 대한 액세스 권한을 개별적으로 부여할 수 있습니다.

Snowflake Data Clean Rooms 설치 요구 사항

계정 및 사용자 요구 사항

Snowflake 계정에 Snowflake Data Clean Rooms 를 설치하기 위한 요구 사항은 다음과 같습니다.

  • 계정은 필수 Snowflake Edition 어야 합니다.

    • Clean Rooms를 만들려면 Enterprise Edition 이상이 있어야 합니다.

    • 다른 계정에서 만든 Clean Room에 참여하여 사용하려면 Standard Edition 이상이 있어야 합니다.

  • 계정은 서비스 계정에서 인증에 사용하는 키 페어 인증 을 허용해야 합니다.

  • 데이터 공유 약관에 동의해야 합니다. Snowflake 고객 제어 데이터 공유 기능 약관 을 수락하지 않은 경우 Snowflake 지원팀 에 문의하시기 바랍니다. Snowflake Data Clean Rooms는 Snowflake Service의 일부로 제공되고 Snowflake 고객 제어 데이터 공유 기능 약관과 Snowflake 사용 제한 정책 을 포함한 Snowflake Service 약관이 적용되는 목록 을 활용합니다.

  • 계정 수준의 기본 데이터 정렬 을 정의해서는 안 됩니다. 다음 명령을 실행하여 데이터 정렬 상태를 확인할 수 있습니다. SHOW PARAMETERS LIKE 'DEFAULT_DDL_COLLATION' IN ACCOUNT;

  • (Clean Rooms UI 만 해당) Snowflake 계정은 용량 계정이어야 합니다. 계정은 선불 용량 약정이 있는 계정입니다. Snowflake 온디맨드 계정은 Clean Rooms UI 에 액세스할 수 없습니다.

  • (Clean Rooms UI 만 해당) 지원되는 인증자 앱 과 함께 다단계 인증 (MFA)을 사용해야 합니다.

이러한 요구 사항을 모두 충족하지 못하여 업그레이드가 필요한 경우 Snowflake 지원 으로 문의하십시오.

설치 관리자 요구 사항

다음은 Clean Room 환경을 설치하는 사람에 대한 요구 사항입니다.

  • 해당 계정에 Clean Room 환경을 설치하려면 Snowflake 계정에 ACCOUNTADMIN 역할이 있어야 합니다.

  • ACCOUNTADMIN 역할이 있는 사용자에게는 사용자 오브젝트에 대해 정의된 유효한 이름, 성 및 이메일이 있어야 합니다. 확인하려면 DESCRIBE USER 를 실행하십시오.

Clean Room 환경 설치하기

Snowflake 계정에 Clean Room 환경을 설치하려면 다음 단계를 따르십시오.

항상 기본 앱을 설치해야 하지만(1단계), 그 후에는 브라우저 사용 시 Clean Rooms UI, 코드 사용 시 Clean Room API 또는 둘 다 활성화할 수 있습니다. 조직 내 코더와 비코더 모두를 지원하려면 UI 및 API 를 모두 설치하는 것이 좋습니다.

1. 네이티브 애플리케이션 설치하기

코드 또는 마켓플레이스에서 네이티브 애플리케이션을 설치합니다.

Marketplace 공급자 및 컨슈머 약관에 동의하지 않으려는 경우:

Snowflake 계정에서 다음 코드를 실행합니다.

USE ROLE ACCOUNTADMIN;
CALL system$accept_legal_terms('DATA_EXCHANGE_LISTING', 'GZSTZTP0KKO');
CREATE APPLICATION SAMOOHA_BY_SNOWFLAKE FROM LISTING 'GZSTZTP0KKO';
Copy
Marketplace 공급자 및 컨슈머 약관에 동의하는 경우:
  1. 현재 역할을 ACCOUNTADMIN 으로 설정합니다.

  2. Snowflake Marketplace에서 Snowflake Data Clean Rooms 애플리케이션 을 설치합니다.

  3. Get 을 선택하고 기본 옵션을 수락합니다.

설치하는 데 몇 분 정도 걸립니다.

2. Clean Room API 설치하기

Clean Room API 는 Clean Rooms의 프로그램 생성 및 사용을 위해 사용됩니다.

다음은 Snowflake 계정에 Clean Room API 를 설치하는 단계입니다.

  1. 네이티브 애플리케이션을 설치한 후 Snowflake에서 실행합니다. Data products » Apps » Snowflake Data Clean Rooms » Launch app. 그러면 SQL 명령이 포함된 워크시트가 열립니다.

  2. SQL 명령을 실행하여 Clean Room API 를 설치하고 다음 주의 사항을 참고하십시오.

    • 설치 중에 네이티브 애플리케이션의 이름을 변경한 경우 스크립트 설명에 표시된 대로 스크립트를 수정해야 합니다.

    • 실행하기 전에 전체 설치 스크립트를 검토하려면 DRY_RUN=TRUE 스크립트 줄의 주석 처리를 해제하고 해당 줄까지의 모든 명령을 실행하여 스크립트 내용을 확인하십시오. 해당 명령에 의해 노출되는 설치 스크립트를 수동으로 실행하면 불완전한 설치가 될 수 있으므로 수동으로 실행하지 마십시오.

    • 설치하는 데 몇 분 정도 걸립니다.

  3. API 에 액세스할 수 있는지 확인합니다.

    USE ROLE samooha_app_role;
    USE WAREHOUSE app_wh;
    CALL SAMOOHA_BY_SNOWFLAKE_LOCAL_DB.LIBRARY.CHECK_MOUNT_STATUS();
    
    Copy

    FALSE 가 반환되면 아래 문제 해결 섹션을 참조하십시오.

  4. API 에 Snowflake 계정의 다른 사용자에게 액세스 권한을 부여합니다.

    • Clean Rooms를 만들고 관리할 수 있는 전체 기능 을 가진 사용자를 추가하려면 GRANT ROLE SAMOOHA_APP_ROLE to USER USER 를 실행합니다.

    • 컨슈머 실행 권한만 있는 사용자를 추가하려면 하나 이상의 Snowflake 역할을 만들고 사용자에게 이 역할에 대한 액세스 권한을 부여하십시오. 그런 다음 consumer.grant_run_on_cleanrooms_to_role 을 호출하여 특정 Clean Rooms에 대한 실행 액세스 권한을 부여합니다.

  5. (선택 사항) Clean Rooms UI 를 설치하여 코드 없이 Clean Rooms에 액세스하거나 예약 쿼리와 같은 기타 기능을 사용할 수 있도록 합니다.

3. Clean Rooms UI 활성화하기

Clean Rooms UI 는 코드 없이도 손쉽게 Clean Rooms 계정을 관리하고 Clean Rooms를 생성하고 분석을 실행할 수 있는 환경을 제공합니다. 또한 예약된 쿼리, 서드 파티 활성화, 유용한 사전 정의 템플릿 등 Clean Room API 에서는 사용할 수 없는 추가 기능 도 제공합니다.

Snowflake 계정에서 Clean Rooms UI 를 활성화하는 방법은 다음과 같습니다.

  1. Clean Rooms UI 가 Snowflake 계정에 액세스할 수 있도록 네트워크 정책을 구성합니다. (Snowflake 계정이 네트워크 정책을 사용하여 네트워크 트래픽을 제어하는 경우에만 필요합니다.)

  2. 서비스 사용자를 만듭니다. 이 서비스 사용자는 Clean Rooms UI 에서 Snowflake와 통신하는 데 사용됩니다.

    1. Snowflake 관리자 자격 증명으로 Snowsight에 로그인하고 아래와 같이 서비스 사용자를 만듭니다. 액세스할 수 있는 비밀번호와 이메일 주소를 입력합니다. 개인 이메일보다는 배포 목록을 사용하는 것이 좋습니다.

      -- Create the service user account.
      
      USE ROLE USERADMIN;
      CREATE USER <SERVICE-USER-USERNAME> PASSWORD='<SERVICE-USER-PASSWORD>'
      FIRST_NAME='DCR' LAST_NAME='Service User'
      EMAIL='<SERVICE-USER-EMAIL-ADDRESS>';
      
      Copy
    2. 서비스 사용자 이름과 비밀번호는 설치 과정에서 사용하므로 Snowsight 외부에 저장하십시오.

    3. Snowsight에서 현재 사용자에서 로그아웃한 다음 동일한 Snowflake 계정으로 다시 로그인하되 서비스 사용자의 자격 증명 을 사용하여 로그인합니다.

    4. 프로필을 열고 Resend verification email 을 선택합니다.

    5. 인증 이메일을 열고 링크를 따라 서비스 사용자 이메일 주소를 인증합니다. 서비스 사용자의 자격 증명으로 Snowsight에 다시 로그인할 필요가 없습니다. Clean Rooms UI 에서 서비스 사용자 세부 정보는 Admin » Snowflake Admin 페이지의 Snowflake 에서 확인할 수 있습니다.

  3. UI 설정을 완료합니다. 이 단계에서는 네트워크 정책을 서비스 사용자에게 적용하고, 서비스 사용자를 비밀번호 인증에서 키 페어 인증으로 마이그레이션하고, 서비스 사용자에게 SAMOOHA_APP_ROLE 을 부여합니다. 기본 UI 설정을 완료하려면 다음 단계를 따르십시오.

    1. Snowflake 자격 증명으로 Clean Rooms UI 에 로그인합니다.

    2. Admin » Snowflake Admin » Connect to Snowflake account 를 엽니다.

    3. 서비스 계정 사용자 이름을 입력하고 Save 를 선택합니다.

    4. 이제 Clean Rooms UI 를 사용할 수 있습니다.

Clean Rooms UI 환경 구성하기

네이티브 애플리케이션, API , UI 를 설치한 후 환경을 구성하고 사용자를 추가해야 합니다.

  • Clean Room UI 관리자 및 사용자를 추가합니다. 관리자는 매일 환경을 관리하며 공동 작업자 관리 및 서드 파티 커넥터 구성과 같은 다양한 작업을 수행할 수 있습니다. 사용자는 Clean Rooms를 만들거나 참여하여 분석을 실행할 수 있습니다.

  • 개발자를 추가합니다. 개발자에게 API 액세스 권한을 부여하여 개발자가 계정에서 Clean Rooms를 만들거나 소비할 수 있도록 합니다.

  • 클라우드 간 자동 복제를 활성화합니다. 기본적으로 Clean Rooms는 Clean Room 생성자와 동일한 기본 클라우드 리전에 있는 컨슈머와만 공유할 수 있습니다. 공급자가 다른 클라우드 리전에 있는 컨슈머와 Clean Rooms를 공유할 수 있도록 하려면 계정에 대해 클라우드 간 자동 복제를 사용하도록 설정해야 합니다.

  • UI 에서 사용 가능한 데이터 세트를 등록합니다. Clean Room UI 를 사용하는 공동 작업자는 Clean Rooms UI 관리자가 미리 등록한 데이터만 Clean Room으로 가져올 수 있습니다.

설치 문제 해결하기

이 섹션을 사용하여 이 항목의 단계를 완료한 후 발생할 수 있는 문제를 해결합니다.

증상: 권한 부족

해결 방법: 웹 앱과 연결된 IP 주소가 네트워크 정책에 의해 허용되는지 확인하십시오. 이러한 IP 주소 목록은 네트워크 정책 구성하기 섹션을 참조하십시오.

증상: 설치는 성공했지만, 웹 앱이 올바르게 작동하지 않습니다.

해결책 #1: DESCRIBE USER 명령을 사용하여 Snowflake를 구성하는 데 사용한 Snowflake 사용자의 이름, 성, 이메일이 유효한지 다시 한 번 확인합니다. 사용자가 누락한 항목이 있으면 ALTER USER 명령을 실행하여 지정합니다.

해결책 #2: Snowflake Data Clean Rooms 용 Snowflake Native App 을 제거한 다음 다시 설치해 봅니다.

  • 앱을 제거하려면 Snowflake Native App 제거 섹션을 참조하십시오. 기본 이름으로 애플리케이션을 설치한 경우 이름은 SAMOOHA_BY_SNOWFLAKE입니다.

  • 앱을 다시 설치하려면:

    1. 웹 앱에 로그인합니다..

    2. 왼쪽 탐색 창에서 Snowflake Admin 을 선택합니다.

    3. Login to Snowflake 를 선택하고 ACCOUNTADMIN 역할이 있는 Snowflake 사용자로 인증합니다.

    4. DESCRIBE USER 명령을 사용하여 방금 인증에 사용한 ACCOUNTADMIN 역할이 있는 Snowflake 사용자에게 유효한 이름, 성 및 이메일이 있는지 확인합니다. 사용자가 누락한 항목이 있으면 ALTER USER 명령을 실행하여 지정합니다.

    5. Snowflake Native App 을 설치하려면 Install 을 선택합니다.

    6. 설치 과정에서는 애플리케이션의 기본 이름을 그대로 사용합니다.