Visão geral de Snowflake Data Clean Rooms

Esta página fornece uma visão geral de como funciona o Snowflake Data Clean Rooms. Se você for um administrador Snowflake e quiser instalar clean rooms em sua conta, leia Instalação do ambiente Snowflake Data Clean Rooms.

Instalação de clean rooms em sua conta

O ambiente de Snowflake Data Clean Room é instalado uma vez para uma conta Snowflake inteira (não uma vez por usuário ou clean room) por alguém com privilégios ACCOUNTADMIN na conta Snowflake.

  • Se você recebeu um convite por e-mail para participar de uma clean room, já há clean rooms instaladas em sua conta Snowflake. Você pode ler o restante desta página para saber mais sobre o uso da clean room, mas não é necessário instalar nada, apenas entrar na 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.

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

O ambiente de clean rooms de dados Snowflake é instalado uma vez para uma conta Snowflake inteira (não uma vez por usuário ou por clean room) por alguém com privilégios ACCOUNTADMIN na conta Snowflake.

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

Criação de clean room

O administrador de conta Snowflake concede permissão aos usuários em sua conta Snowflake para que possam criar clean rooms. A pessoa que cria uma clean room é chamada de provedor para essa clean room. Os provedores podem configurar e compartilhar clean rooms com usuários de outras contas Snowflake (ou mesmo com aqueles que não são usuários Snowflake). Quando uma clean room é compartilhada com você, ele é chamado de consumidor para essa clean room.

Nota

As funções de provedor e consumidor se aplicam ao nível da conta Snowflake, não ao nível do usuário individual. Ou seja, se você criar uma clean room na conta Snowflake ABC, todos os usuários ABC com acesso ao ambiente de Clean Room ABC poderão gerenciar sua clean room. Da mesma forma, se você convidar a conta Snowflake EFG para ser um consumidor, todos os usuários na EFG com acesso a clean rooms serão consumidores dessa clean room.

Depois de criar uma clean room, o provedor importa (vincula) tabelas ou exibições para ela, especifica quais consultas podem ser executadas em seus dados, quais colunas em seus dados podem ser unidas ou aparecer nos resultados e o que pode ser feito com os resultados. (Você pode criar variações da clean room padrão, conforme descrito mais adiante)

Em seguida, o provedor convida os consumidores a participar da clean room, importar suas próprias tabelas e exibições e executar uma das consultas especificadas pelo provedor. Os consumidores devem ser pré-aprovados por um administrador de clean rooms antes de serem convidados para uma 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).

Nenhum dado importado para uma clean room pode ser consultado ou visualizado diretamente por qualquer uma das partes – o provedor ou o consumidor – mas só pode ser acessado por meio de um modelo nessa clean room. Um modelo é uma consulta SQL instalada na clean room pelo provedor ou consumidor, e a outra parte deve dar permissão para usá-lo na clean room.

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 em uma clean room, mas o provedor pode solicitar ao consumidor a execução de um modelo específico na clean room.

Saiba mais

Execução de consultas

Toda clean room tem um ou mais modelos instalados. Um modelo é uma consulta SQL que pode incluir parâmetros de tempo de execução fornecidos pela pessoa que está executando o modelo. Esses parâmetros permitem que os usuários especifiquem quais tabelas da clean room são usadas na consulta, quais colunas são usadas na consulta, filtros da cláusula WHERE e muito mais. Você não pode simplesmente executar consultas SQL arbitrárias em uma clean room, mas deve criar um modelo que seja avaliado como uma consulta SQL e pedir permissão à outra parte para executar esse modelo.

O Snowflake fornece um conjunto de modelos padrão para uso no aplicativo da Web. Esses modelos permitem casos de uso comuns, como sobreposição de público, público semelhante, previsão de inventário e consultas arbitrárias em SQL. Os desenvolvedores também podem criar modelos personalizados para usar em suas clean rooms.

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 possa ser chamado pela consulta executada. Esse código normalmente filtra ou manipula os dados de alguma forma enquanto a consulta está sendo executada; ele não pode realizar ações externas, como salvar um arquivo, exportar dados ou executar 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

Os colaboradores de clean room são classificados como provedor ou consumidor para uma determinada clean room. O provedor é a conta que cria uma clean room; o consumidor é a conta com quem uma clean room é compartilhada. Não é possível convidar alguém da mesma conta em que você criou uma clean room para atuar como consumidor dessa clean room. Todos os usuários na mesma conta Snowflake têm a mesma função de clean room (provedor ou consumidor) para as mesmas clean rooms nessa conta.

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

Maneiras de acessar as clean rooms de dados Snowflake

As clean rooms de dados Snowflake oferecem um aplicativo baseado em navegador sem código (a UI de clean rooms) e uma API para criar e gerenciar clean rooms. Atualmente, a UI e a API de clean rooms não são exatamente equivalentes em termos de recursos. Aqui está um resumo das diferenças:

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

Observe que você pode criar uma clean room no aplicativo da Web e usá-la ou gerenciá-la na API, e 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.

Permissões e acesso: você deve ter acesso para usar a UI de clean room por um administrador da clean room.

A UI de clean room requer um endereço de e-mail, nome e senha para fazer login. O endereço de e-mail não precisa corresponder ao endereço de e-mail de sua conta Snowflake, mas é designado pelo administrador da clean room. O nome de usuário e a senha são escolhidos por você.

A UI de clean rooms é acessada em um URL separado do Snowsight, o aplicativo Web Snowflake. O URL é específico para cada conta.

Para ter uma ideia de como usar a UI de clean rooms, experimente o tutorial de UI de clean rooms, ou leia mais sobre a UI de clean rooms.

API

O Snowflake fornece vários procedimentos armazenados para criar ou executar clean rooms. Esses procedimentos podem ser chamados por meio de notebooks ou planilhas do Snowsight ou qualquer outra interface de linha de comando em que você possa executar procedimentos armazenados em sua conta Snowflake.

Esses procedimentos permitem que você execute a maioria das ações de consumidor ou provedor necessárias para criar, gerenciar ou usar uma clean room como provedor ou consumidor. A API não permite ações administrativas; para administrar uma clean room, você deve usar o aplicativo da Web. Leia a documentação de referência da API.

Permissões e acesso: para usar a API, você deve ter recebido acesso para usar samooha_app_role do administrador de clean rooms de sua conta Snowflake.

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:

No Snowsight, abra Data Products » Apps » Installed Apps para ver se o Snowflake Data Clean Rooms está instalado.