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 administrador do Snowflake e quiser instalar salas limpas em sua conta, leia 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¶
O ambiente Snowflake Data Clean Room é instalado uma vez para uma conta Snowflake inteira (não uma vez por usuário ou por sala limpa) 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
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
Se você recebeu um convite por e-mail para ingressar em uma sala limpa, você já tem salas limpas instaladas em sua conta Snowflake. É possível ler o restante desta página para saber mais sobre o uso da sala limpa, mas não precisa instalar nada, apenas para ingressar na sala limpa.
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¶
Um administrador de conta Snowflake concede permissão aos usuários em sua conta Snowflake para poderem criar salas limpas. A conta que cria uma sala limpa é chamada de provedor para essa sala limpa. Os provedores podem configurar e compartilhar salas limpas com usuários em outras contas Snowflake (ou mesmo com usuários que não sejam do Snowflake). Quando uma sala limpa é compartilhada com você, você é chamado de consumidor dessa sala limpa.
Depois de criar uma sala limpa, o provedor vincula (importa) tabelas ou exibições nela, especifica quais consultas podem ser executadas nos dados, quais colunas nos dados podem ser unidas ou aparecer nos resultados e o que pode ser feito com os resultados.
O provedor então convida os consumidores a entrar na sala limpa, vincular 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 salas limpas antes de poderem ser convidados para uma sala limpa.
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.
Modelos¶
Cada sala limpa tem um ou mais modelos instalados. Um modelo é uma consulta JinjaSQL que normalmente inclui parâmetros de tempo de execução fornecidos pelo executor de modelo. Esses parâmetros permitem aos usuários especificar nomes de colunas ou tabelas ou filtros de cláusula WHERE. Você não pode simplesmente executar consultas SQL arbitrárias em uma sala limpa (a menos que um provedor conceda essa capacidade); a maior parte do uso de salas limpas é limitada a modelos enviados pelo provedor ou consumidor e aprovados pela outra parte.
O Snowflake fornece alguns modelos de estoque para casos de uso comuns, como sobreposição de público e modelos de alcance e frequência. Você também pode criar modelos personalizados para usar em sua sala limpa. Snowflake Data Clean Rooms oferece suporte a qualquer modelo JinjaSQL válido.
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¶
Os colaboradores da sala limpa são classificados como provedor ou consumidor para uma determinada sala limpa. Um provedor é a conta que cria uma sala limpa; um consumidor é uma conta que compartilha uma sala limpa. Você não pode convidar alguém na mesma conta em que você criou uma sala limpa para atuar como consumidor dessa sala limpa. Todos os usuários na mesma conta Snowflake têm a mesma função de sala limpa (provedor ou consumidor) para as mesmas salas limpas nessa conta.
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 a sala limpa cleanroom1 usando a conta ABC do Snowflake e depois compartilhar cleanroom1 com a conta XYZ, todos os usuários ABC com acesso a cleanroom1 serão provedores e todos os usuários XYZ com acesso a cleanroom1 serão consumidores.
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
Formas de acessar o Snowflake Data Clean Rooms¶
As Snowflake Data Clean Rooms fornecem um aplicativo baseado em navegador sem código (a UI de salas limpas) e uma API para criar e gerenciar salas limpas. Atualmente a UI e a API de salas limpas não são exatamente equivalentes em capacidades. Aqui está um resumo das diferenças:
Recursos somente da UI |
Recursos somente da API |
|---|---|
|
|
Note que é possível criar uma sala limpa na UI de salas limpas 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.
A UI de salas limpas é acessada em um URL separado do Snowsight. É possível encontrar o URL de login aqui.
Permissões e acesso: você deve ter recebido acesso para usar a UI de salas limpas por um administrador de sala limpa. A UI de salas limpas usa suas credenciais Snowflake.
Experimente o tutorial da UI de salas limpas ou leia mais sobre a UI de salas limpas.
API¶
O Snowflake fornece uma série de procedimentos armazenados para criar, gerenciar e executar salas limpas. Esses procedimentos podem ser chamados por meio de notebooks ou planilhas do Snowsight ou qualquer interface onde é possível executar procedimentos armazenados em sua conta Snowflake. A API não permite a administração de contas de sala limpa; para administrar uma conta de sala limpa, você deve usar a UI de salas limpas.
Permissões e acesso: para usar a API, você deve ter acesso para usar o SAMOOHA_APP_ROLE pelo administrador de salas limpas da 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:
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.
Procure ver se Snowflake Data Clean Rooms aparece em sua lista Installed Apps.
Execute
SHOW ROLES LIKE 'SAMOOHA_APP_ROLE';para ver se a API está instalada em sua conta. Se a função aparecer, o ambiente de salas limpas provavelmente estará instalado.Execute
SELECT IS_ROLE_IN_SESSION('SAMOOHA_APP_ROLE');para verificar se você tem acesso à API.Execute
SHOW GRANTS ON ROLE SAMOOHA_APP_ROLE;para ver quais funções podem conceder SAMOOHA_APP_ROLE, que é necessário para usar a API.