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
Saiba como instalar e configurar o ambiente de Clean Room.
Por padrão, você pode compartilhar clean rooms somente com contas na mesma região de hospedagem na Web. O administrador pode habilitar o compartilhamento com contas em outras regiões.
Veja outras tarefas que os administradores de clean rooms realizam.
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
As clean rooms podem ser criadas em código ou usando a UI de clean rooms. A permissão para criar uma clean room é concedida de forma diferente para os usuários da Web e para os codificadores.
As tabelas podem ser importadas tanto de contas Snowflake quanto de tabelas Iceberg não Snowflake no AWS, Azure e Google.
Antes que os dados possam ser importados para uma clean room, eles devem ser registrados por um usuário com privilégios de administrador nos dados de origem.
Você pode convidar usuários Snowflake e aqueles que não são usuário Snowflake para participar de uma clean room.
Saiba mais sobre a função de provedor em clean rooms.
Durante o desenvolvimento, você pode usar a mesma conta para funções de provedor e de consumidor, mas apenas com um subconjunto de funcionalidades de sala limpa.
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
As clean rooms oferecem suporte à privacidade diferencial. A privacidade diferencial pode ser ativada e configurada pelo provedor ou consumidor.
Saiba mais sobre a função do consumidor no Snowflake Data Clean Rooms.
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.
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 |
|---|---|
|
|
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:
Faça login no Snowsight.
No menu de navegação, selecione Catalog » Apps » Installed Apps.
Look to see whether Snowflake Data Clean Rooms appears in your Installed Apps list.
Run
SHOW ROLES LIKE 'SAMOOHA_APP_ROLE';to see if the API is installed in your account. If the role appears, the clean rooms environment is probably installed.Execute
SELECT IS_ROLE_IN_SESSION('SAMOOHA_APP_ROLE');para verificar se você tem acesso à API.Run
SHOW GRANTS ON ROLE SAMOOHA_APP_ROLE;to see what roles can grant SAMOOHA_APP_ROLE, which is required to use the API.