Como proteger um lakehouse para equipes de ciência de dados
Introdução
Neste artigo, forneceremos uma visão geral de como configurar a segurança de um lakehouse no Fabric para uso com equipes de ciência de dados e cargas de trabalho.
Recursos de segurança
O Microsoft Fabric usa um modelo de segurança de várias camadas com diferentes controles disponíveis em diferentes níveis para fornecer somente as permissões mínimas necessárias. Para obter mais informações sobre os diferentes recursos de segurança disponíveis no Fabric, confira este documento.
Proteger por caso de uso
A segurança no Microsoft Fabric é otimizada para proteger dados para casos de uso específicos. Um caso de uso é um conjunto de usuários que precisa de acesso específico e acesso a dados por meio de um determinado mecanismo. Alguns exemplos de casos de uso para cenários de ciência de dados incluem:
- Gravadores do Apache Spark: usuários que precisam gravar dados em um lakehouse usando Notebooks do Apache Spark.
- Leitores do Apache Spark: usuários que precisam ler dados usando Notebooks do Apache Spark.
- Leitores de pipeline: usuários que precisam ler dados de um lakehouse usando pipelines.
- Criadores de atalhos: usuários que precisam criar atalhos para dados em um lakehouse.
Podemos então alinhar cada caso de uso com as permissões necessárias no Fabric.
Acesso de gravação
Para usuários que precisam gravar dados no Fabric, o acesso é controlado por meio das funções de espaço de trabalho do Fabric. Há três funções de espaço de trabalho que concedem permissões de gravação: Administrador, Membro e Colaborador. Escolha a função necessária e conceda aos usuários acesso a ela.
Os usuários com acesso para gravação não são restritos pelas funções de acesso a dados do OneLake (visualização). Os usuários de gravação podem ter restrição de acesso aos dados por meio dos dados de ponto de extremidade de análise do SQL, mas mantêm acesso completo aos dados no OneLake. É necessário criar um espaço de trabalho separado para os dados para restringir o acesso aos dados por usuários de gravação.
Acesso de leitura
Para usuários que precisam ler dados usando pipelines ou Notebooks do Apache Spark, as permissões são controladas pelas permissões de item do Fabric com as funções de acesso a dados do OneLake (preview). As permissões de item do Fabric controlam quais itens um usuário pode ver e como eles podem acessar esse item. As funções de acesso a dados do OneLake controlam quais dados o usuário pode acessar por meio de experiências que se conectam ao OneLake. Para lakehouses sem a visualização de funções de acesso a dados do OneLake habilitada, o acesso é regido pela permissão de item ReadAll e o acesso aos dados do OneLake é concedido para todo o lakehouse.
Para ler dados, um usuário primeiro precisa acessar o lakehouse no qual os dados residem. Permitir acesso a um lakehouse pode ser feito clicando no botão Compartilhar em um lakehouse na página do espaço de trabalho ou na interface do usuário do lakehouse. Insira os endereços de e-mail ou o grupo de segurança dos usuários e clique em Compartilhar. (Deixe as caixas Permissões adicionais desmarcadas. Para lakehouses sem a visualização de funções de acesso a dados do OneLake habilitada, marque a caixa Ler todos os dados do OneLake [ReadAll]).
Em seguida, navegue até o lakehouse e clique no botão Gerenciar acesso a dados do OneLake (visualização). Com essas opções, você pode criar funções que concedem aos usuários acesso para ver e ler pastas específicas no lakehouse. Por padrão, o acesso às pastas não é permitido. Os usuários adicionados a uma função recebem acesso às pastas abrangidas por essa função. Para obter mais informações, confira Funções de acesso a dados do OneLake (visualização). Crie funções conforme necessário para conceder aos usuários acesso para ler as pastas por meio de pipelines, atalhos ou notebooks do Spark.
Importante
Todos os lakehouses que usam a visualização de funções de acesso a dados do OneLake possuem a função DefaultReader, que concede acesso aos dados do lakehouse. Se um usuário tiver a permissão ReadAll, ele não será restringido por outras funções de acesso a dados. Verifique se todos os usuários incluídos na função de acesso a dados também não fazem parte da função DefaultReader ou remova a função DefaultReader.
Uso com atalhos
Os atalhos são um recurso do OneLake que permitem que os dados sejam referenciados de um local sem precisar copiar fisicamente os dados. Confira esta documentação para obter mais informações sobre atalhos.
Você pode proteger dados para uso com atalhos como protegeria qualquer outra pasta no OneLake. Depois de configurar as funções de acesso a dados, os usuários de outros lakehouses só poderão criar atalhos para as pastas as quais têm acesso. Isso pode ser usado para dar aos usuários em outros espaços de trabalho acesso apenas a determinados dados em um lakehouse.
Importante
O ponto de extremidade de análise do SQL usa uma identidade fixa para acessar atalhos. Quando um usuário consulta uma tabela de atalho por meio do ponto de extremidade de análise do SQL, a identidade do proprietário do lakehouse é verificada para confirmar se ele tem acesso ao atalho. Isso significa que, ao criar atalhos para uso com consultas SQL, o criador do lakehouse também precisa fazer parte de quaisquer funções de acesso a dados do OneLake que estejam restringindo o acesso apenas a determinadas pastas.