Secure Data Sharing 소개

Secure Data Sharing을 사용하면 계정의 데이터베이스에서 선택한 오브젝트를 다른 Snowflake 계정과 공유할 수 있습니다. 다음 Snowflake 오브젝트를 공유할 수 있습니다.

  • 데이터베이스

  • 테이블

  • 동적 테이블

  • 외부 테이블

  • Iceberg 테이블

  • 보안 뷰

  • 보안 구체화된 뷰

  • 보안 사용자 정의 함수(UDF)

Snowflake를 사용하면 데이터 공급자가 생성하고 데이터 컨슈머가 “가져온” 공유 를 통해 데이터베이스를 공유할 수 있습니다.

중요

계정 사이에서 공유되는 모든 데이터베이스 오브젝트는 읽기 전용 (즉, 테이블 데이터 추가 또는 수정 등 오브젝트 수정 또는 삭제 불가)입니다.

이 항목의 내용:

Secure Data Sharing은 어떻게 작동합니까?

Secure Data Sharing을 사용하면 계정 사이에서 실제 데이터가 복사되거나 전송되지 않습니다. 모든 공유는 Snowflake의 서비스 계층과 메타데이터 저장소를 사용합니다. 공유 데이터가 컨슈머 계정의 저장소를 차지하지 않아 컨슈머의 월간 데이터 저장소 요금에 영향을 주지 않습니다. 유일하게 컨슈머에게 부과되는 요금은 공유 데이터를 쿼리하기 위해 사용되는 컴퓨팅 리소스(즉, 가상 웨어하우스) 관련 요금입니다.

데이터가 복사 또는 교환되지 않으므로 공급자는 빠르고 쉽게 Secure Data Sharing을 설정할 수 있으며 컨슈머는 공유 데이터에 거의 즉시 액세스할 수 있습니다.

  • 공급자는 본인의 계정에 데이터베이스 공유를 생성하고 특정 데이터베이스 오브젝트에 대한 액세스 권한을 부여합니다. 공급자는 여러 데이터베이스의 데이터를 공유할 수도 있지만, 이를 위해서는 이러한 데이터베이스가 동일한 계정에 속해 있어야 합니다. 그러면 본인의 계정을 포함(Snowflake 계정이 여러 개인 경우)하여 1개 이상의 계정이 공유에 추가됩니다.

    자세한 내용은 (이 항목의) 공유란 무엇입니까? 섹션을 참조하십시오.

  • 컨슈머의 입장에서는 읽기 전용 데이터베이스가 공유에서 생성됩니다. 이러한 데이터베이스에 대한 액세스는 Snowflake가 시스템의 모든 오브젝트에 제공하는 동일한 표준 역할 기반 액세스 제어를 사용하여 구성할 수 있습니다.

이러한 아키텍처를 통해 Snowflake는 여러 컨슈머(자체 조직 내 포함)와 데이터를 공유할 수 있는 공급자와 여러 공급자의 공유 데이터에 액세스할 수 있는 컨슈머로 구성된 네트워크를 지원합니다.

컨슈머 계정과 데이터를 공유하는 공급자 계정 개요

참고

모든 Snowflake 계정이 공유 데이터를 제공 및 사용할 수 있습니다. Snowflake는 단일 공급자 계정에서 공유 데이터를 사용하는 특별한 유형의 계정에 해당하는 서드 파티 계정도 지원합니다. 자세한 내용은 (이 항목의) 서드 파티 액세스를 위한 독자 계정 섹션을 참조하십시오.

공유란 무엇입니까?

공유란 데이터베이스를 공유하기 위해 필요한 모든 정보를 캡슐화하는 명명된 Snowflake 오브젝트입니다.

데이터 공급자는 다음 옵션 중 하나 또는 둘 다 사용하여 Snowflake 오브젝트(데이터베이스, 스키마, 테이블, 보안 뷰 등)를 공유에 추가합니다.

  • 옵션 1: 데이터베이스 역할을 통해 공유에 오브젝트에 대한 권한을 부여합니다.

  • 옵션 2: 오브젝트에 대한 권한을 공유에 직접 부여합니다.

이러한 옵션에 대한 자세한 내용은 데이터베이스 오브젝트 공유 방법 선택하기 섹션을 참조하십시오.

계정을 공유에 추가하여 공유의 데이터를 사용할 수 있는 계정을 선택합니다.

공유의 데이터베이스가 (컨슈머 계정에) 생성된 후 컨슈머 계정의 사용자가 모든 공유 오브젝트에 액세스할 수 있습니다.

데이터베이스, 데이터베이스 오브젝트, 공유, 계정 간의 관계

공유는 공급자 계정을 통해 안전하고 구성 가능한 방식으로 완전히 제어할 수 있습니다.

  • 공유에 추가된 새 오브젝트는 모든 컨슈머가 즉시 사용할 수 있으며, 공유 데이터에 대한 실시간 액세스를 제공합니다.

  • 공유의 기존 오브젝트에 대한 업데이트는 모든 컨슈머가 즉시 사용할 수 있게 됩니다.

  • 공유(또는 공유의 모든 오브젝트)에 대한 액세스는 언제든지 취소할 수 있습니다.

Snowflake의 공유 옵션

다음 옵션 중 하나를 사용하여 Snowflake에서 데이터를 공유할 수 있습니다.

  • 공유 및 추가 메타데이터를 데이터 제품으로 하나 이상의 계정에 제공하는 목록,

  • 특정 데이터베이스 오브젝트(공유)를 해당 리전의 다른 계정에 직접 공유하는 직접 공유,

  • 계정 그룹을 설정 및 관리하고 해당 그룹에 공유를 제공하는 데이터 교환.

직접 공유를 목록으로 전환할 수도 있습니다. 지침은 직접 공유를 목록으로 전환하기 를 참조하십시오.

자세한 내용은 Snowflake의 데이터 공유 개요 섹션을 참조하십시오.

데이터 공급자 및 컨슈머의 개요

Snowflake에서 공유할 때 데이터를 공유하는 계정을 공급자라고 하고 데이터 수신자가 되는 계정을 컨슈머라고 합니다.

공급자 정보

데이터 공급자는 공유를 생성하고 다른 Snowflake 계정에서 해당 공유를 사용할 수 있도록 하는 모든 Snowflake 계정입니다. 데이터 공급자는 1개 이상의 Snowflake 계정과 데이터베이스를 공유합니다. 공유하는 각 데이터베이스에 대하여 Snowflake는 권한 부여를 통해 데이터베이스에서 선택한 오브젝트에 대한 세분화된 액세스 제어를 제공(즉, 데이터베이스에 있는 1개 이상의 특정 오브젝트에 대한 액세스 권한을 부여)할 수 있도록 지원합니다.

원하는 만큼 공유를 생성하고 공유에 계정을 원하는 만큼 많이 추가할 수 있습니다. 많은 계정에 공유를 제공하려는 경우 목록 또는 데이터 교환 을 사용할 수 있습니다.

공급자의 데이터 공유에 대한 안내서는 Secure Data Sharing 시작하기 섹션을 참조하십시오. 더 자세한 내용은 공유 관련 작업하기 섹션을 참조하십시오.

컨슈머 정보

데이터 컨슈머는 데이터 공급자가 제공하는 공유에서 데이터베이스를 생성하는 모든 계정입니다. 데이터 컨슈머가 계정에 공유 데이터베이스를 추가한 후 계정의 다른 데이터베이스와 마찬가지로 데이터베이스의 오브젝트에 액세스 및 쿼리할 수 있습니다.

데이터 공급자로부터 원하는 만큼 많은 공유를 사용할 수 있지만, 공유당 하나의 데이터베이스만 생성할 수 있습니다.

자세한 내용은 공유 데이터 소비하기 섹션을 참조하십시오.

공급자와 공유되는 사용량 메트릭

데이터 교환을 사용하거나 Snowflake Marketplace 에서 목록을 비공개로 제공하는 경우 목록의 컨슈머 사용량에 대한 다양한 메트릭과 목록에 액세스하는 컨슈머 계정에 대한 메트릭에 액세스할 수 있습니다.

목록의 사용량 데이터에 대한 자세한 내용은 목록의 사용량 모니터링 을 참조하십시오. 데이터 교환에서 공유된 목록의 사용량 데이터는 공유된 Snowflake 데이터베이스의 데이터 공유 사용 스키마에 포함된 뷰에서만 사용할 수 있습니다.

서드 파티 액세스를 위한 독자 계정

데이터 공유는 Snowflake 계정 사이에서만 지원됩니다. 데이터 공급자는 아직 Snowflake 계정이 없는 컨슈머 또는 라이선스를 보유한 Snowflake 고객이 될 준비가 되지 않은 컨슈머와 데이터를 공유하기를 원할 수 있습니다.

이러한 컨슈머와 데이터를 편리하게 공유할 수 있도록 독자 계정을 만들 수 있습니다. 독자 계정(이전 “읽기 전용 계정”)은 컨슈머가 Snowflake 고객이 되지 않고서도 데이터를 쉽고 빠르며 비용 대비 효율적으로 공유할 수 있는 방법을 제공합니다.

각 독자 계정은 해당 계정을 생성한 공급자 계정에 속합니다. 공급자는 공유 를 사용하여 독자 계정과 데이터베이스를 공유하지만, 독자 계정은 해당 계정을 생성한 공급자 계정의 데이터만 사용할 수 있습니다. 다음 다이어그램을 참조하십시오.

데이터 공유 독자 계정의 개요

독자 계정의 사용자는 독자 계정과 공유된 데이터를 쿼리할 수 있지만, 전체 계정에서 허용되는 DML 작업(예: 데이터 로딩, 삽입, 업데이트 등)과 유사한 데이터 조작 작업을 수행할 수 없습니다.

자세한 내용은 독자 계정 관리하기 섹션을 참조하십시오.