O que é o Azure Databricks Clean Rooms?
Este artigo apresenta o Clean Rooms, um recurso do Azure Databricks que usa o Compartilhamento Delta e a computação sem servidor para fornecer um ambiente seguro e que protege a privacidade, no qual várias partes podem trabalhar juntas em dados corporativos confidenciais sem acesso direto aos dados umas das outras.
Requisitos
Para ser qualificado para usar salas limpas, você deve ter:
- Uma conta habilitada para computação sem servidor. Confira Habilitar a computação sem servidor.
- Um workspace que esteja habilitado para o Catálogo do Unity. Consulte Habilitar um workspace para o Catálogo do Unity.
- Delta Sharing habilitado para seu metastore do Catálogo do Unity. Confira Habilitar o Delta Sharing em um metastore.
Como funciona o Clean Rooms?
Ao criar um clean room, você cria o seguinte:
- Um objeto de clean room seguro em seu metastore do Catálogo do Unity.
- O clean room "central", que é um ambiente efêmero isolado gerenciado pela Databricks.
- Um objeto de clean room seguro no metastore do Catálogo do Unity do seu colaborador.
Tabelas, volumes (dados não tabulares), exibições e blocos de anotações que qualquer colaborador compartilhe na sala limpa são compartilhados apenas com a sala limpa central, usando o Compartilhamento Delta.
Os colaboradores não podem ver os dados em tabelas, exibições ou volumes de outros colaboradores, mas podem ver nomes de coluna e tipos de coluna e podem executar código de notebook aprovado que opera nos ativos de dados. O código do notebook é executado no clean room central. Os blocos de anotações também podem gerar tabelas de saída que permitem que seu colaborador salve temporariamente a saída somente leitura em seu metastore do Catálogo do Unity para que ele possa trabalhar com ela em seus espaços de trabalho.
Como o Clean Rooms garante um ambiente sem confiança?
O modelo do Databricks Clean Rooms é "sem confiança". Todos os colaboradores em um clean room sem confiança têm privilégios iguais, inclusive o criador do clean room. O Clean Rooms foi projetado para impedir a execução de código não autorizado e o compartilhamento não autorizado de dados. Por exemplo, todos os colaboradores devem aprovar um notebook antes que ele possa ser executado. Essa confiança é imposta implicitamente ao impedir que um colaborador execute qualquer notebook que ele mesmo tenha criado: você só pode executar um notebook criado por outro colaborador.
Proteções ou restrições adicionais
As seguintes proteções estão em vigor, além do processo de aprovação implícita de notebook mencionado acima:
Depois que um clean room é criado, ele é bloqueado para evitar que novos colaboradores entrem no clean room.
Se algum colaborador excluir o clean room, o clean room central será anulado e nenhuma tarefa do clean room poderá ser executada por nenhum usuário.
Durante a visualização pública, cada clean room é limitado a dois colaboradores.
Não é possível renomear o clean room.
O nome do clean room deve ser exclusivo no metastore de cada colaborador, para que todos os colaboradores possam se referir ao mesmo clean room sem ambiguidade.
Os comentários sobre o clean room que pode ser protegido no espaço de trabalho de cada colaborador não são propagados para outros colaboradores.
O que é compartilhado com outros colaboradores?
- Nome do clean room.
- Nuvem e região do clean room central.
- O nome da sua organização (que pode ser qualquer nome que você escolher).
- Seu identificador de compartilhamento de sala limpa (ID do metastore global + ID do workspace + endereço de e-mail do usuário).
- Aliases de tabelas, exibições ou volumes compartilhados.
- Metadados da coluna (nome da coluna ou alias e tipo).
- Notebooks (somente leitura).
- Tabelas de saída (somente leitura, temporárias).
- Tabela do sistema de eventos do clean room.
- Histórico de execuções, incluindo:
- O nome do notebook que está sendo executado
- Colaborador que executou o notebook (não o usuário).
- O estado da execução do notebook.
- A hora de início da execução do notebook.
O que é compartilhado com o clean room central?
Tudo o que está listado na seção anterior.
Tabelas, volumes, visualizações e blocos de anotações somente leitura.
Tabelas, exibições e volumes são registrados no metastore da sala limpa central com todos os aliases fornecidos. Os ativos de dados são compartilhados durante todo o ciclo de vida da sala limpa.
Perguntas frequentes sobre salas limpas
As perguntas a seguir são frequentes sobre salas limpas.
Como meus dados são gerenciados em uma sala limpa?
A sala de limpeza central é gerenciada pelo Azure Databricks. Na sala de limpeza central:
- Nenhuma das partes tem privilégios de administrador.
- Somente metadados são visíveis para todas as partes.
- Cada parte pode adicionar dados à sala de limpeza central.
- As salas limpas usam o Compartilhamento Delta para compartilhar dados com segurança na sala limpa, mas não entre os participantes. Confira O que é o Compartilhamento Delta?.
Como meus dados são mantidos privados?
As salas limpas centrais são executadas em um plano de computação sem servidor gerenciado pelo Databricks isolado hospedado em uma região de provedor de nuvem escolhida pelo criador da sala limpa.
As salas limpas fornecem:
- Aprovação de código: o criador da sala limpa e os colaboradores podem compartilhar tabelas e volumes com a sala limpa central, mas só podem executar notebooks carregados pela outra parte. Você pode examinar o código adicionado pela outra parte antes de aprovar. Se você executar um notebook adicionado por terceiros, aprovará implicitamente o código.
- Controle de versão: blocos de anotações de salas limpas têm controle de versão para garantir que todas as partes só possam executar notebooks totalmente aprovados. Somente a versão mais recente de um notebook pode ser executada. Você pode usar a tabela de sistema de salas limpas para ver qual versão do notebook foi executada e monitorar as alterações feitas.
- Acesso restrito: ao criar uma sala limpa, você pode usar o controle de saída sem servidor para gerenciar conexões de rede de saída. Se você restringir o acesso de sua sala limpa, o acesso ao armazenamento não autorizado será bloqueado. Veja O que é o controle de saída sem servidor?.
Para saber mais sobre segurança e o plano de computação sem servidor, confira Sistema de rede do plano de computação sem servidor.
Como as ações são registradas?
As ações de sala limpa executadas por você ou seus colaboradores são registradas na tabela do sistema de eventos de sala limpa. Esses registros incluem metadados detalhados sobre a ação específica tomada. Confira a referência da tabela do sistema de eventos da sala limpa.
As ações de sala limpa também são registradas no log de auditoria da conta sob o serviço clean-room
. Confira Tabela de referência do sistema de logs de auditoria.
Limitações
Durante a visualização pública, aplicam-se as seguintes limitações:
- Nenhuma biblioteca de credencial de serviço Scala incluída na versão necessária do Databricks Runtime
Cotas de recursos
O Azure Databricks impõe cotas de recursos em todos os objetos protegíveis do Clean Room. Essas cotas são listadas em Limites de recursos. Se você espera exceder esses limites de recursos, entre em contato com sua equipe de conta do Azure Databricks.
Você pode monitorar o uso da cota usando as APIs de cotas de recursos do Catálogo do Unity. Consulte Monitorar o uso de cotas de recursos do Catálogo do Unity.