Visão geral de Snowflake Data Clean Rooms

This page provides an overview of how Snowflake Data Clean Rooms works. If you are a Snowflake administrator and want to install clean rooms in your account, read Instalação do ambiente Snowflake Data Clean Rooms.

Visão geral de Snowflake Data Clean Rooms

As clean rooms de dados são ambientes Snowflake configuráveis e isolados, nos quais os colaboradores podem importar dados, especificar quais consultas podem ser executadas com base nesses dados e definir as configurações de proteção de dados, como privacidade diferencial e especificação de linhas uníveis e projetáveis. O acesso a uma clean room é feito somente por convite.

As clean rooms não oferecem suporte a recursos de monetização. Os provedores são cobrados por vários processos em segundo plano necessários para habilitar as clean rooms; a conta que executa uma consulta é cobrada pelos custos padrão do Snowflake para o uso de dados e computação. Para obter mais informações sobre custos, consulte Compreensão dos custos.

Você deve ser convidado por um provedor de clean rooms para ter acesso a uma clean room. Se quiser abrir sua clean room para um público maior, é necessário fornecer uma maneira de os possíveis colaboradores entrarem em contato com você para fornecer a conta Snowflake deles para que você os convide (ou um endereço de e-mail para aqueles que não são usuários Snowflake).

Aqui está uma visão geral de alto nível de como funcionam o Snowflake Data Clean Rooms:

Instalação em ambiente de Clean Room

The Snowflake Data Clean Room environment is installed once for an entire Snowflake account (not once per user or per clean room) by someone with ACCOUNTADMIN privileges on the Snowflake account.

O administrador configura o ambiente para especificar quais usuários da conta podem criar clean rooms e executar consultas, quais usuários têm acesso à API, quais contas podem ser convidadas a colaborar em uma clean room, quais dados um criador de clean room pode importar para a clean room e quais serviços de terceiros (se houver) podem ser usados para exportar resultados de consulta de qualquer clean room criada nessa conta.

Se um ambiente de clean room já tiver sido instalado para sua conta, entre em contato com o administrador de clean rooms para obter acesso. Se um ambiente de clean room não tiver sido instalado para sua conta, saiba como instalar o ambiente.

Depois de instalar e configurar o ambiente, o administrador concede permissão a outros usuários Snowflake para usar a UI ou API de clean rooms ou ambas.

Saiba mais

Nota

  • If you were emailed an invitation to join a clean room, you already have clean rooms installed in your Snowflake account. You can read the rest of this page to learn more about clean room usage, but you don’t need to install anything, only to join the clean room.

  • Se você for um administrador de conta e o ambiente de clean room não estiver instalado em sua conta Snowflake, saiba como instalar o ambiente de clean room em sua conta Snowflake.

  • Se você não for um administrador de conta, pergunte a um administrador de conta se o Snowflake Data Clean Rooms está instalado em sua conta. Caso contrário, peça que o instale e conceda acesso a você. Se for o caso, peça a eles que concedam a você permissão para acessar clean rooms.

  • Se você for um desenvolvedor e quiser acesso de API, peça a um administrador de clean rooms que lhe conceda acesso à API.

Criação de clean room

A Snowflake account administrator grants permission to users in their Snowflake account to be able to create clean rooms. The account that creates a clean room is called a provider for that clean room. Providers can configure and share clean rooms with users in other Snowflake accounts (or even non-Snowflake users). When a clean room is shared with you, you are called a consumer for that clean room.

After creating a clean room, the provider links (imports) tables or views into it, specifies what queries can be run against their data, which columns in their data can be joined or appear in the results, and what can be done with the results.

The provider then invites consumers to join the clean room, link their own tables and views, and run one of the queries specified by the provider. Consumers must be pre-approved by a clean rooms administrator before they can be invited to a clean room.

Saiba mais

Ingresso em uma clean room

Após criar e configurar uma clean room, o provedor envia convites aos usuários de outras contas para participar da clean room. Esses usuários convidados são chamados de consumidores, ou às vezes colaboradores. Os consumidores convidados por meio da UI de clean rooms recebem um convite por e-mail para participar da clean room. Os usuários Snowflake devem ter o ambiente de Clean Room instalado para serem convidados a participar de uma clean room, mas você pode convidar aqueles que não são usuários Snowflake para participar de uma clean room. Uma conta Snowflake deve ser incluída na lista de permissões por um administrador de clean room antes que um criador de clean room possa convidar usuários dessa conta.

(Na UI de clean rooms, tanto “join” quanto “install” são usados para descrever quando um consumidor aceita um convite de clean room. Isso ocorre porque uma clean room deve ser literalmente instalada no ambiente de clean room do consumidor)

Após entrar em uma clean room, o consumidor importa (vincula) todos os dados necessários aos modelos dessa clean room, especifica como os dados podem ser acessados, como quais colunas podem ser unidas ou projetadas, fornece filtros específicos do modelo ou outros parâmetros e, em seguida, executa o modelo. Os consumidores podem especificar uma execução repetida do modelo, se desejarem. Os resultados podem ser visualizados no navegador ou baixados. Se o provedor tiver habilitado a ativação e o consumidor aprovar, o consumidor poderá exportar os resultados para os locais aprovados (sua própria conta Snowflake ou um conector de ativação de terceiros designado pelo provedor).

Os dados importados para uma sala limpa não podem ser consultados ou visualizados diretamente por nenhuma das partes, seja provedor ou consumidor, mas só podem ser acessados por meio de um modelo na sala limpa. Um modelo é uma consulta SQL instalada na sala limpa pelo provedor ou consumidor, e a permissão deve ser dada pela outra parte para usá-lo na sala limpa.

Cada parte também define regras de acesso aos seus próprios dados, incluindo quais colunas podem ser unidas, projetadas ou exportadas e quais modelos podem ser executados na clean room. Cada parte pode excluir seus dados da clean room a qualquer momento.

Por padrão, somente um consumidor pode executar modelos na sala limpa, mas o provedor pode solicitar permissão do consumidor para executar um modelo especificado na sala limpa.

Saiba mais

Templates

Every clean room has one or more templates installed. A template is a JinjaSQL query that typically includes run-time parameters provided by the template runner. These parameters enable users to specify column or table names or WHERE clause filters. You cannot simply run arbitrary SQL queries in a clean room (unless a provider grants that ability); most clean room usage is limited to templates submitted by the provider or consumer and approved by the other party.

Snowflake provides a few stock templates for common use cases such as audience overlap and reach and frequency templates. You can also create custom templates to use in your clean room. Snowflake Data Clean Rooms supports any valid JinjaSQL template.

Os modelos podem ser executados na UI de clean rooms ou em código. Os resultados dos modelos podem ser visualizados ou baixados, ou podem ser compartilhados com o provedor, o consumidor ou um terceiro aprovado, se a ativação for permitida nessa clean room.

Saiba mais

  • Por padrão, somente os consumidores podem executar um modelo em uma clean room. No entanto, um provedor pode pedir permissão ao consumidor para executar um modelo em uma clean room.

  • O modelo e a configuração da clean room definem o que pode ser feito com os resultados de consulta. Se os resultados de consulta forem exportados para fora da clean room, isso é chamado de ativação. Os resultados podem ser ativados para uma conta Snowflake do provedor ou consumidor, ou para um terceiro aprovado pelo Snowflake.

Variações de clean room

A clean room mais comum, conforme descrito acima, é aquela em que um provedor importa dados e especifica uma ou mais consultas específicas que podem ser executadas com base nos dados e como os resultados podem ser compartilhados, e o consumidor importa seus próprios dados e executa as consultas permitidas com base nos dados combinados. No entanto, um provedor pode permitir diversas variações da clean room padrão:

  • Permita que o provedor execute suas próprias consultas nos dados do consumidor.. Por padrão, somente o consumidor pode executar consultas em uma clean room. Se ativado para uma clean room, um provedor pode solicitar permissão do consumidor para executar uma consulta específica na clean room.

  • Permitir que os resultados de consulta sejam exportados (ativado) para a conta Snowflake da pessoa que está executando a consulta ou para uma conta de terceiros aprovada pelo Snowflake, como o Meta Ads Manager ou o The Trade Desk. A exportação de dados para fora da clean room está sempre sujeita à aprovação de todas as partes que compartilharam os dados que estão sendo consultados.

  • Permita que qualquer uma das partes inclua código Python personalizado que pode ser chamado pela consulta que elas executam. Normalmente, esse código filtra ou manipula os dados de alguma forma enquanto a consulta está sendo executada. Ele não pode realizar ações externas, como salvar arquivo, exportar dados ou realizar outras ações.

  • Permitir que a consulta acesse dados em outras clean rooms, sujeito à aprovação dos provedores de todas as clean rooms que estão sendo acessadas.

  • Encadeie várias consultas.

Sobre provedores e consumidores

Clean room collaborators are classified as either a provider or a consumer for a given clean room. A provider is the account that creates a clean room; a consumer is an account that is shared a clean room. You cannot invite someone in the same account where you created a clean room to act as a consumer for that clean room. All users in the same Snowflake account have the same clean room role (provider or consumer) for the same clean rooms in that account.

The provider and consumer roles apply at the Snowflake account level, not the individual user level. That is, if you create clean room cleanroom1 using Snowflake account ABC, then share cleanroom1 with account XYZ, all ABC users with access to cleanroom1 are providers, and all XYZ users with access to cleanroom1 are consumers.

O fato de você ser um provedor ou consumidor é determinado apenas pelo fato de ter criado ou compartilhado uma clean room, e não por quaisquer funções do Snowflake ou outras permissões.

Aqui estão mais informações sobre as funções de provedor e consumidor.

Dica

Às vezes, a palavra colaborador é usada para designar um consumidor ou qualquer pessoa com acesso a uma determinada clean room.

Provedores

Um provedor é definido como a conta que criou uma clean room. Qualquer pessoa que acesse a clean room a partir dessa conta é considerada um provedor para essa clean room.

Os provedores realizam as seguintes ações de clean room:

  • Criar, compartilhar e excluir clean rooms

  • Especificar quem pode usar uma clean room como consumidor (convida os consumidores)

  • Importe dados para uma clean room

  • Definir quais modelos podem ser executados em uma clean room

  • Especificar se os consumidores podem executar um modelo personalizado em uma clean room

  • Convidar os consumidores a compartilhar a clean room

  • Especificar quais modelos são usados em uma clean room e criar modelos personalizados para a clean room

  • Executar consultas nos dados do consumidor, se o consumidor consentir

  • Permitir modelos encadeados

  • Carregar script Python em uma clean room para usar em um modelo

  • Permitir que os dados do provedor dessa clean room sejam consultados com dados de outras clean rooms especificadas em uma consulta do consumidor

  • Ativar ou desativar a privacidade diferencial para a clean room ou para o consumidor

  • Gerenciar o controle de versão da clean room

  • Definir políticas de colunas e junções em seus próprios dados

Consumidores

Um consumidor é definido como uma conta que recebeu um convite de um provedor para ingressar (instalar) em uma clean room.

Os consumidores realizam as seguintes ações na clean room (de acordo com a configuração da clean room):

  • Ingressar (instalar) em uma clean room para sua conta

  • Importar dados para a clean room

  • Executar todas as consultas compatíveis pela clean room

  • Exportar os resultados de consulta conforme habilitado pela clean room

  • Solicitar permissão para usar seu próprio modelo em uma clean room

  • Especifique se os provedores podem executar um modelo na clean room (por padrão, somente os consumidores podem executar um modelo)

  • Permitir que o provedor de clean room execute consultas nos dados do consumidor

  • Executar uma consulta que abranja seus dados e os dados do provedor de várias clean rooms, se os provedores de todas as clean rooms afetadas concordarem.

  • Carregar o script Python na clean room (com a permissão do provedor)

  • Definir políticas de colunas e junções em seus próprios dados

  • Definir configurações de privacidade diferenciadas para consultas executadas pelo provedor

Ways to access Snowflake Data Clean Rooms

Snowflake Data Clean Rooms provide both a no-code browser-based application (the clean rooms UI) and an API to create and manage clean rooms. Currently the clean rooms UI and API are not exactly equivalent in capabilities. Here is a summary of the differences:

Recursos somente da UI

Recursos somente da API

  • Tarefas de gerenciamento de ambiente, como logotipo, nome e descrição da clean room, a lista de ativação disponível ou conectores de identidade.

  • Gerenciamento da lista de contas de administradores, provedores e (possíveis) consumidores.

  • Agendamento de execuções repetidas de um modelo. (Você pode agendar execuções usando outras ferramentas de script, como os cron jobs)

  • Uso de provedores de identidade.

  • Criação de modelos personalizados, tanto de provedor quanto de consumidor

  • Criação de cadeias de modelos

  • Análise multiprovedor

  • Controle de acesso no nível do consumidor sobre tabelas e modelos (restrict_table_options_to_consumers e restrict_template_options_to_consumers).

Note that you can create a clean room using the clean rooms UI and then use or manage it in the API, and vice versa.

UI de clean rooms

As clean rooms de dados Snowflake podem ser gerenciadas e executadas em um navegador. Você pode usar a UI de clean rooms para criar, gerenciar e usar clean rooms como provedor ou consumidor, ou para configurar vários recursos no nível da conta, como contas gerenciadas, conectores de terceiros e recursos para UI de usuários.

The clean rooms UI is accessed at a separate URL from Snowsight. You can find the login URL here.

Permissions and access: You must be granted access to use the clean room UI by a clean room administrator. The clean rooms UI uses your Snowflake credentials.

Try out the clean rooms UI tutorial or read more about the clean rooms UI.

API

Snowflake provides a number of stored procedures to create, manage, and run clean rooms. These procedures can be called through Snowsight notebooks or worksheets or any interface where you can run stored procedures in your Snowflake account. The API does not enable clean room account administration; to administer a clean room account you must use the clean rooms UI.

Permissions and access: In order to use the API you must be granted access to use the SAMOOHA_APP_ROLE by the a clean rooms administrator for your Snowflake account.

Leia sobre a API de Clean Room ou experimente o tutorial da API.

O ambiente de clean rooms está instalado em sua conta Snowflake?

Veja a seguir como saber se a UI ou API de clean rooms estão instaladas em sua conta:

Para verificar se o Snowflake Data Clean Rooms está instalado:

  1. Faça login no Snowsight.

  2. No menu de navegação, selecione Catalog » Apps » Installed Apps.

  3. Look to see whether Snowflake Data Clean Rooms appears in your Installed Apps list.