Snowflake Data Clean Rooms 의 개요

이 페이지에서는 Snowflake Data Clean Rooms의 작동 방식에 대한 개요를 제공합니다. Snowflake 계정 관리자로서 계정에 Clean Rooms를 설치하려는 경우 Snowflake Data Clean Rooms 환경 설치하기 섹션을 참조하십시오.

계정에 Clean Rooms 설치하기

Snowflake Data Clean Room 환경은 Snowflake 계정에 대한 ACCOUNTADMIN 권한이 있는 사람이 전체 Snowflake 계정에 대해 한 번만 설치합니다(사용자 또는 Clean Room당 한 번이 아님).

  • Clean Room에 참여하라는 이메일 초대를 받았다면 이미 Snowflake 계정에 Clean Room이 설치되어 있는 것입니다. 이 페이지의 나머지 부분에서 Clean Room 사용법에 대해 자세히 알아볼 수 있지만, Clean Room에 가입하기 위해서만 아무것도 설치할 필요는 없습니다.

  • 자신이 계정 관리자인데 Snowflake 계정에 Clean Room 환경이 설치되어 있지 않은 경우 Snowflake 계정을 위한 Clean Room 환경을 설치하는 방법을 알아보십시오.

  • 계정 관리자가 아닌 경우 본인 계정에 대해 Snowflake Data Clean Rooms 가 설치되어 있는지 계정 관리자에게 문의하십시오. 설치되어 있지 않다면 설치 관리자에게 설치하고 액세스 권한을 부여해 줄 것을 요청하십시오. 설치되어 있다면 Clean Rooms에 액세스할 수 있는 권한을 부여해 달라고 요청하십시오.

  • 개발자로서 API 액세스 권한이 필요한 경우, Clean Rooms 관리자에게 API 에 대한 액세스 권한을 부여해 줄 것을 요청하십시오.

Snowflake Data Clean Rooms 의 개요

데이터 Clean Rooms는 공동 작업자가 데이터를 가져오고, 해당 데이터에 대해 실행할 수 있는 쿼리를 지정하고, 차등 개인정보 보호, 조인 및 투영 가능한 행 지정과 같은 데이터 보호 설정을 구성할 수 있는 구성 가능하고 격리된 Snowflake 환경입니다. Clean Room은 초대를 통해서만 액세스할 수 있습니다.

Clean Rooms는 수익 창출 기능을 지원하지 않습니다. 공급자에게는 Clean Rooms를 활성화하는 데 필요한 다양한 백그라운드 프로세스에 대한 비용이 청구되며, 쿼리를 실행하는 계정에는 데이터 및 컴퓨팅 사용량에 대한 표준 Snowflake 비용이 청구됩니다. 비용에 대한 자세한 내용은 비용 이해하기 섹션을 참조하십시오.

Clean Room에 액세스하려면 Clean Room 공급자의 초대를 받아야 합니다. 더 많은 사람에게 Clean Room을 공개하려면 잠재적인 공동 작업자가 연락하여 초대할 수 있도록 자신의 Snowflake 계정을 제공할 수 있는 방법을 제공해야 합니다(또는 비 Snowflake 사용자 의 경우 이메일 주소).

다음은 Snowflake Data Clean Rooms의 작동 방식에 대한 개략적인 개요입니다.

Clean Room 환경 설치

Snowflake Data Clean Room 환경 은 Snowflake 계정에 대한 ACCOUNTADMIN 권한이 있는 사람이 전체 Snowflake 계정에 대해 한 번만 설치합니다(사용자 또는 Clean Room당 한 번이 아님).

관리자는 환경을 구성하여 계정에서 어떤 사용자가 Clean Rooms를 만들고 쿼리를 실행할 수 있는지, 어떤 사용자에게 API 액세스 권한이 있는지, 어떤 계정을 Clean Room에서 협업하도록 초대할 수 있는지, Clean Room 작성자가 Clean Room으로 가져올 수 있는 데이터는 무엇인지, 이 계정에서 만든 Clean Room의 쿼리 결과를 내보내는 데 사용할 수 있는 서드 파티 서비스(있는 경우)는 무엇인지 지정할 수 있습니다.

계정에 이미 Clean Room 환경이 설치되어 있는 경우에는 Clean Rooms 관리자에게 문의하여 액세스 권한을 요청하십시오. 계정에 Clean Room 환경이 설치되지 않은 경우 환경 설치 방법을 알아보십시오.

환경을 설치하고 구성한 후 관리자는 다른 Snowflake 사용자에게 Clean Rooms UI, API 또는 둘 다를 사용할 수 있는 권한을 부여합니다.

자세히 알아보기

Clean Room 만들기

Snowflake 계정 관리자는 Snowflake 계정의 사용자에게 Clean Rooms를 만들 수 있는 권한을 부여합니다. Clean Room을 만드는 사람을 해당 Clean Room에 대한 공급자 라고 합니다. 공급자는 Clean Rooms를 구성하고 다른 Snowflake 계정의 사용자(또는 Snowflake 계정이 아닌 사용자)와 공유할 수 있습니다. Clean Room을 공유하면 해당 Clean Room에 대해 컨슈머 라고 합니다.

참고

공급자 및 컨슈머 역할은 개별 사용자 수준이 아닌 Snowflake 계정 수준에서 적용됩니다. 즉, Snowflake 계정 ABC 에서 Clean Room을 생성하면 ABC Clean Room 환경에 액세스할 수 있는 모든 ABC 사용자가 Clean Room을 관리할 수 있습니다. 마찬가지로, Snowflake 계정 EFG 를 컨슈머로 초대하면 Clean Rooms 액세스 권한이 있는 EFG 의 모든 사용자가 해당 Clean Room의 컨슈머가 됩니다.

Clean Room을 만든 후 공급자는 테이블 또는 뷰를 Clean Room으로 가져오고(연결하고), 데이터에 대해 실행할 수 있는 쿼리, 조인하거나 결과에 표시할 수 있는 데이터의 열, 그리고 결과로 수행할 수 있는 작업을 지정합니다. (나중에 설명하는 대로 표준 Clean Room에 대한 변형을 만들 수 있습니다.)

그런 다음 공급자는 컨슈머를 Clean Room에 초대하여 자신의 테이블과 뷰를 가져오고 공급자가 지정한 쿼리 중 하나를 실행하도록 합니다. 컨슈머는 Clean Rooms 관리자의 사전 승인을 받아야 Clean Room에 초대받을 수 있습니다.

자세히 알아보기

Clean Room에 참여하기

Clean Room을 만들고 구성한 후 공급자는 다른 계정의 사용자에게 Clean Room에 참여하도록 초대를 보냅니다. 이러한 초대된 사용자를 컨슈머 또는 때로는 공동 작업자 라고 합니다. Clean Rooms UI 를 통해 초대된 컨슈머는 Clean Room에 참여할 수 있는 초대장을 이메일로 받게 됩니다. Snowflake 사용자가 Clean Room에 초대받으려면 Clean Room 환경이 설치되어 있어야 하지만, Snowflake 외부 사용자 를 Clean Room에 초대할 수 있습니다. Snowflake 계정은 Clean Rooms 관리자가 허용 목록에 추가해야만 Clean Room 생성자가 해당 계정의 사용자를 초대할 수 있습니다.

(Clean Rooms UI 에서는 컨슈머가 Clean Room 초대를 수락할 때 ‘참여’와 ‘설치’를 모두 사용합니다. Clean Room은 말 그대로 컨슈머의 Clean Room 환경에 설치되어야 하기 때문입니다.)

Clean Room에 참여한 후, 컨슈머는 해당 Clean Room의 템플릿에 필요한 데이터를 가져오고(연결하고), 조인하거나 투영할 수 있는 열 등 데이터 액세스 방법을 지정하고, 템플릿별 필터 또는 기타 매개 변수를 제공한 다음, 템플릿을 실행합니다. 컨슈머는 원하는 경우 템플릿의 반복 실행을 지정할 수 있습니다. 결과는 브라우저에서 보거나 다운로드할 수 있습니다. 공급자가 활성화를 설정하고 컨슈머가 승인한 경우, 컨슈머는 승인된 위치(자신의 Snowflake 계정 또는 공급자가 지정한 서드 파티 활성화 커넥터)로 결과를 내보낼 수 있습니다.

Clean Room으로 가져온 데이터는 공급자나 컨슈머 중 어느 쪽에서도 직접 쿼리하거나 확인할 수 없으며, 해당 Clean Room의 템플릿을 통해서만 액세스할 수 있습니다. 템플릿은 공급자 또는 컨슈머가 Clean Room에 설치한 SQL 쿼리이며, Clean Room에서 사용하려면 상대방이 권한을 부여해야 합니다.

또한 각 당사자는 조인, 투영 또는 내보낼 수 있는 열과 Clean Room에서 실행할 수 있는 템플릿을 포함하여 자체 데이터에 대한 액세스 규칙을 설정할 수 있습니다. 각 당사자는 언제든지 Clean Room에서 자신의 데이터를 삭제할 수 있습니다.

기본적으로 컨슈머만 Clean Room에서 템플릿을 실행할 수 있지만 공급자는 컨슈머에게 Clean Room에서 지정된 템플릿을 실행하도록 요청할 수 있습니다.

자세히 알아보기

쿼리 실행하기

모든 Clean Room에는 하나 이상의 템플릿 이 설치되어 있습니다. 템플릿은 템플릿을 실행하는 사람이 제공한 런타임 매개 변수를 포함할 수 있는 SQL 쿼리입니다. 이러한 매개 변수를 통해 사용자는 쿼리에 사용되는 Clean Room의 테이블, 쿼리에 사용되는 열, WHERE 절 필터 등을 지정할 수 있습니다. Clean Room에서 임의의 SQL 쿼리를 실행할 수 없으며, 대신 SQL 쿼리로 평가되는 템플릿을 만들고 상대방에게 해당 템플릿을 실행할 수 있는 권한을 요청해야 합니다.

Snowflake는 웹 앱에서 사용할 수 있는 표준 템플릿 세트를 제공합니다. 이러한 템플릿을 사용하면 대상 그룹 lookalike, 대상 그룹 유사, 인벤토리 예측 및 임의의 SQL 쿼리와 같은 일반적인 사용 사례를 사용할 수 있습니다. 개발자는 Clean Rooms에서 사용할 사용자 지정 템플릿을 만들 수도 있습니다.

템플릿은 Clean Rooms UI 또는 코드에서 실행할 수 있습니다. 해당 Clean Room에서 활성화 가 허용되는 경우 템플릿 결과를 확인하거나 다운로드하거나 공급자, 컨슈머 또는 승인된 서드 파티와 공유할 수 있습니다.

자세히 알아보기

Clean Room 변형

위에서 설명한 것처럼 가장 일반적인 Clean Room은 공급자가 데이터를 가져와서 데이터에 대해 실행할 수 있는 하나 이상의 특정 쿼리와 그 결과를 공유할 수 있는 방법을 지정하고, 컨슈머는 자신의 데이터를 가져와서 결합된 데이터에 대해 허용된 쿼리를 실행하는 방식입니다. 그러나 공급자는 표준 Clean Room에 여러 가지 변형을 허용할 수 있습니다.

공급자 및 컨슈머 정보

Clean Room 공동 작업자는 특정 Clean Room에 대해 공급자 또는 컨슈머 로 분류됩니다. 공급자는 Clean Room을 생성하는 계정이고, 컨슈머는 Clean Room을 공유받는 계정입니다. Clean Room을 만든 계정과 동일한 계정에 있는 사람을 해당 Clean Room의 컨슈머로 초대할 수 없습니다. 동일한 Snowflake 계정의 모든 사용자는 해당 계정의 동일한 Clean Rooms에 대해 동일한 Clean Room 역할(공급자 또는 컨슈머)을 갖습니다.

공급자인지 컨슈머인지 여부는 Snowflake 역할이나 기타 권한이 아니라 Clean Room을 만들었는지 또는 공유받았는지에 따라 결정됩니다.

다음은 공급자 및 컨슈머의 역할에 대한 자세한 내용입니다.

때때로 공동 작업자 라는 단어는 컨슈머 또는 특정 Clean Room에 액세스할 수 있는 모든 사람을 의미하기도 합니다.

공급자

공급자 는 Clean Room을 만든 계정으로 정의됩니다. 해당 계정으로 Clean Room에 액세스하는 모든 사람은 해당 Clean Room의 공급자로 간주됩니다.

공급자는 다음과 같은 Clean Room 작업을 수행합니다.

  • Clean Room 생성, 공유 및 삭제

  • Clean Room을 컨슈머로 사용할 수 있는 사람 지정(컨슈머 초대)

  • Clean Room으로 데이터 가져오기

  • Clean Room에서 실행할 수 있는 템플릿 정의

  • 컨슈머가 Clean Room에서 사용자 지정 템플릿을 실행할 수 있는지 여부 지정

  • Clean Room 공유에 컨슈머 초대

  • Clean Room에서 사용할 템플릿 지정 및 Clean Room에 대한 사용자 지정 템플릿 생성

  • 컨슈머가 동의하는 경우 컨슈머 데이터에 대한 쿼리 실행

  • 연결된 템플릿 허가

  • 템플릿에서 사용할 Python 스크립트를 Clean Room에 로딩

  • 이 Clean Room의 공급자 데이터를 컨슈머 쿼리에서 지정된 다른 Clean Rooms의 데이터와 함께 쿼리할 수 있도록 허용

  • Clean Room 또는 컨슈머에 대한 차등 개인정보 보호 활성화 또는 비활성화

  • Clean Room 버전 관리

  • 자체 데이터에 대한 열 및 조인 정책 설정

컨슈머

컨슈머 는 공급자로부터 Clean Room에 참여(설치) 초대를 받은 계정으로 정의됩니다.

(Clean Room 구성에 따라) 컨슈머는 Clean Room 구성에 따라 다음과 같은 Clean Room 작업을 수행합니다.

  • 계정에 대한 Clean Room 참여(설치)

  • Clean Room으로 데이터 가져오기

  • Clean Room에서 지원하는 모든 쿼리 실행

  • Clean Room에서 활성화한 대로 쿼리 결과 내보내기

  • Clean Room에서 자체 템플릿 사용 권한 요청

  • 공급자가 Clean Room에서 템플릿을 실행할 수 있는지 여부 지정(기본적으로 컨슈머만 템플릿을 실행할 수 있음)

  • Clean Room 공급자가 컨슈머의 데이터에 대해 쿼리를 실행할 수 있도록 허용

  • 영향을 받는 모든 Clean Rooms의 공급자가 동의하는 경우 여러 Clean Rooms의 데이터와 공급자 데이터를 아우르는 쿼리 실행

  • (공급자의 권한으로) Clean Room에 Python 스크립트 로딩

  • 자체 데이터에 대한 열 및 조인 정책 설정

  • 공급자 실행 쿼리에 대한 차등 개인정보 보호 설정

Snowflake Data Clean Rooms에 액세스하는 방법

Snowflake Data Clean Rooms는 코드가 필요 없는 브라우저 기반 애플리케이션(Clean Rooms UI)과 Clean Rooms 생성 및 관리를 위한 API 를 모두 제공합니다. 현재 Clean Rooms UI 와 API 는 기능이 정확히 동일하지 않습니다. 다음은 차이점을 요약한 것입니다.

UI 전용 기능

API 전용 기능

  • Clean Room 로고, 이름 및 설명, 사용 가능한 활성화 또는 ID 커넥터 목록과 같은 환경 관리 작업.

  • 관리자, 공급자 및 (잠재적) 컨슈머 계정 목록 관리.

  • 템플릿의 반복 실행 예약. (Cron 작업 등 다른 스크립트 도구를 사용하여 실행을 예약할 수 있습니다.)

  • ID 공급자 사용.

  • 공급자 또는 컨슈머 중 하나의 사용자 지정 템플릿 생성

  • 템플릿 체인 생성

  • 다중 공급자 분석

웹 앱에서 Clean Room을 생성하여 API 에서 사용하거나 관리할 수 있으며, 그 반대의 경우도 마찬가지입니다.

Clean Rooms UI

Snowflake Data Clean Rooms는 브라우저에서 관리하고 실행할 수 있습니다. Clean Rooms UI 를 사용하여 공급자 또는 컨슈머로서 Clean Rooms를 생성, 관리 및 사용하거나 관리 계정, 서드 파티 커넥터 및 UI 사용자를 위한 기능 등 다양한 계정 수준 기능을 구성할 수 있습니다.

권한 및 액세스: Clean Room 관리자로부터 Clean Room UI 를 사용할 수 있는 액세스 권한을 부여받아야 합니다.

Clean Room UI 에는 로그인을 위한 이메일 주소, 이름, 비밀번호가 필요합니다. 이메일 주소는 Snowflake 계정 이메일 주소와 일치할 필요는 없지만, Clean Room 관리자가 지정합니다. 사용자 이름과 비밀번호는 사용자가 직접 선택합니다.

Clean Rooms UI 는 Snowflake 웹 애플리케이션인 Snowsight와는 별도의 URL 에서 액세스할 수 있습니다. URL 은 각 계정에 고유합니다.

Clean Rooms UI 사용 방법을 익히려면 Clean Rooms UI 자습서에 따라 실제로 사용해 보거나 Clean Rooms UI에 대한 자세한 내용을 읽어보십시오.

API

Snowflake는 Clean Rooms를 만들거나 실행하기 위한 다양한 저장 프로시저를 제공합니다. 이러한 프로시저는 Snowsight 노트북이나 워크시트 또는 기타 명령줄 인터페이스를 통해 호출할 수 있으며, 이를 통해 Snowflake 계정에서 저장 프로시저를 실행할 수 있습니다.

이러한 프로시저를 사용하면 공급자 또는 컨슈머로서 Clean Room을 생성, 관리 또는 사용하는 데 필요한 대부분의 컨슈머 또는 공급자 작업을 수행할 수 있습니다. API 에서는 관리자 작업을 수행할 수 없으며, Clean Room을 관리하려면 웹 앱을 사용해야 합니다. API 에 대한 참조 설명서를 읽어보십시오.

권한 및 액세스: API 를 사용하려면 Snowflake 계정의 Clean Rooms 관리자로부터 samooha_app_role을 사용하기 위한 액세스 권한을 부여받아야 합니다.

Clean Room API 에 대해 읽어보거나 API 자습서에 따라 직접 사용해 보십시오.

Snowflake 계정에 Clean Rooms 환경이 설치되어 있습니까?

계정에 Clean Rooms UI 또는 API 가 설치되어 있는지 확인하는 방법은 다음과 같습니다.

Snowsight에서 Data Products » Apps » Installed Apps 를 열어 Snowflake Data Clean Rooms가 설치되어 있는지 확인합니다.