Registro de dados

Este tópico descreve como registrar os dados para que possam ser vinculados a um Snowflake Data Clean Room.

Objetos com suporte

Os seguintes tipos de objetos podem ser vinculados a clean rooms:

Nota

†As tabelas externas e Iceberg devem ser ativadas antes de poderem ser usadas em uma clean room.

Registro de objetos de dados

Antes que os usuários possam vincular dados em um Snowflake Data Clean Room, os dados devem primeiro ser registrados. O registro de dados concede privilégios de USAGE e SELECT no objeto para SAMOOHA_APP_ROLE, que é usado pelo ambiente de clean room para acessar os dados. Se você registrar um banco de dados ou esquema, todos os objetos filho também serão registrados. Você deve ter o privilégio MANAGE GRANTS em um objeto para poder vinculá-lo.

Você pode registrar bancos de dados, esquemas e objetos usando a UI das salas limpas ou a API de salas limpas. Usar a UI das salas limpas é mais simples, mas requer que você tenha a função ACCOUNTADMIN. Usando as APIs do desenvolvedor , você pode registrar qualquer objeto no qual você tenha o privilégio OWNERSHIP sem usar a função ACCOUNTADMIN.

Importante

O registro de um banco de dados ou esquema não registra objetos adicionados após o registro. Você deve registrar o novo objeto individualmente ou usar a UI das salas limpas para navegar para Admin > Snowflake Admin > Database Registration e selecionar Resync.

Você pode vincular apenas os dados registrados pela sua conta. Ou seja, um provedor não pode vincular dados registrados pelo consumidor e um consumidor não pode vincular dados registrados pelo provedor. Depois que os dados são vinculados a uma clean room, eles podem ser acessados por qualquer pessoa com acesso à clean room, sujeito às configurações da parte vinculante (como políticas de junção e coluna).

Siga as etapas abaixo para registrar um banco de dados, esquema ou objeto usando a UI de salas limpas:

  1. Faça login na UI de salas limpas como administrador de conta e siga uma das seguintes etapas:

    • Se estiver usando uma conta gerenciada, selecione Admin > My Account.

    • Se estiver usando uma conta Snowflake, selecione Admin > Snowflake Admin e entre no Snowflake como um usuário com a função ACCOUNTADMIN.

  2. Selecione Admin > Snowflake Admin.

  3. Selecione Log in to Snowflake, e autentique como um usuário com a função ACCOUNTADMIN.

  4. Para ativar tabelas externas ou Iceberg na conta, ative a opção External & Iceberg Tables.

  5. Na seção Access management for Snowflake objects, selecione Edit e, em seguida, selecione o banco de dados, o esquema ou o objeto para tornar seus dados vinculáveis aos usuários dessa conta.

  6. Selecione Save.

Registro de tabelas ou exibições que têm políticas Snowflake aplicadas

Se você quiser vincular em dados que tenham uma política Snowflake aplicada e a política Snowflake estiver armazenada em um banco de dados diferente dos dados de origem, você deverá conceder uso de referência no banco de dados da política para salas limpas. Você pode fazer isso uma vez por conta ou uma vez por sala limpa.

Conceder uso de referência uma vez por conta

Para conceder o uso de referência a um banco de dados uma vez por conta e que ele seja concedido automaticamente para cada sala limpa, conceda o uso de referência ao SAMOOHA_APP_ROLE executando o seguinte comando SQL. Substitua o espaço reservado do banco de dados pelo nome do seu banco de dados.

GRANT REFERENCE_USAGE ON DATABASE <database_name>
  TO ROLE SAMOOHA_APP_ROLE
  WITH GRANT OPTION;
Copy

Conceder uso de referência uma vez por sala limpa

Se você preferir conceder o uso de referência a um banco de dados por sala limpa em vez de a todas as salas limpas da conta, execute o seguinte comando SQL. Substitua os espaços reservados para o nome do banco de dados e o ID da sala limpa pelos valores apropriados:

GRANT REFERENCE_USAGE ON DATABASE <database_name>
  TO SHARE IN APPLICATION PACKAGE SAMOOHA_CLEANROOM_<clean_room_ID>;
Copy

Cancelamento do registro de objetos de dados

Quando uma tabela é vinculada a uma clean room, ela não pode ser removida. No entanto, você pode cancelar o registro do objeto na conta, o que removerá o acesso de qualquer clean room nessa conta.

Se você quiser remover dados de uma clean room ou conta, não exclua simplesmente o objeto subjacente; isso fará com que a clean room falhe. Em vez disso, use uma das técnicas a seguir para cancelar o registro do objeto.

Ao cancelar o registro de um objeto de uma conta, você também deve atualizar todas as clean rooms criadas que usaram esses dados.

As consultas de qualquer colaborador que dependam de dados excluídos falharão na próxima vez em que forem executadas.

Para cancelar o registro de um objeto em uma conta:

  1. Faça login na UI de salas limpas como administrador de conta e siga uma das seguintes etapas:

    • Se estiver usando uma conta gerenciada, selecione Admin > My Account.

    • Se estiver usando uma conta Snowflake, selecione Admin > Snowflake Admin e entre no Snowflake como um usuário com a função ACCOUNTADMIN.

  2. Selecione Admin > Snowflake Admin.

  3. Selecione Log in to Snowflake, e autentique como um usuário com a função ACCOUNTADMIN.

  4. Para ativar tabelas externas ou Iceberg na conta, ative a opção External & Iceberg Tables.

  5. Na seção Access management for Snowflake objects, selecione Edit e, em seguida, desmarque o banco de dados, esquema ou objeto para tornar seus dados indisponíveis para os usuários dessa conta.

  6. Selecione Save.

  7. Atualize todas as clean rooms que você criou e que dependem desses dados.

Habilitação de tabelas externas e Apache Iceberg™

Para permitir que tabelas externas e tabelas Iceberg sejam vinculadas a uma clean room, a conta deve primeiro ser configurada para permitir o uso de tabelas externas e Iceberg. Depois que as tabelas externas e Iceberg forem ativadas, elas poderão ser registradas, vinculadas e usadas da mesma forma que qualquer outra tabela.

O processo para habilitar tabelas externas e Iceberg varia dependendo se você está gerenciando a sala limpa usando a UI de salas limpas ou a API de salas limpas.

Requisitos de tabela externa e Iceberg

  • Tanto a conta de provedor quanto a de consumidor devem habilitar tabelas externas e Iceberg para permitir o uso completo de uma clean room vinculada a tabelas externas ou Iceberg.

  • Os provedores devem sempre ativar tabelas externas e tabelas Iceberg ao compartilhar uma clean room com uma conta gerenciada. Isso ocorre porque as contas gerenciadas sempre usam tabelas externas.

  • Se o provedor e o consumidor estiverem em regiões diferentes, somente o consumidor poderá vincular tabelas externas ou Iceberg em uma clean room.

A UI de salas limpas controla tabelas externas e Iceberg no nível da conta.

Aviso

Se a conta de consumidor não tiver ativado esse recurso, os consumidores serão impedidos de ingressar em qualquer clean room vinculada a tabelas externas ou Iceberg, ou serão impedidos de editar (mas ainda poderão executar) qualquer clean room em que já tenham ingressados vinculada a qualquer tipo de tabela.

O administrador de DCR, tanto na conta de provedor quanto na do consumidor, deve executar as seguintes etapas:

  1. Faça login na UI de salas limpas como administrador de conta e siga uma das seguintes etapas:

    • Se estiver usando uma conta gerenciada, selecione Admin > My Account.

    • Se estiver usando uma conta Snowflake, selecione Admin > Snowflake Admin e entre no Snowflake como um usuário com a função ACCOUNTADMIN.

  2. Habilite a alternância de External & Iceberg Tables. Isso permite o recurso em clean rooms criadas pela UI e API.

  3. As tabelas externas e Iceberg agora podem ser selecionadas no painel Access management for Snowflake objects do administrador, onde podem ser selecionadas para torná-las disponíveis para clean rooms, da mesma forma que qualquer outro objeto.