Partilhar via


Controlo de acesso baseado em funções (RBAC)

O OneLake RBAC usa atribuições de função para aplicar permissões aos seus membros. Você pode atribuir funções a indivíduos ou a grupos de segurança, grupos do Microsoft 365 e listas de distribuição. Cada membro do grupo de usuários recebe a função atribuída.

Se alguém estiver em dois ou mais grupos de segurança ou no grupo do Microsoft 365, obterá o nível mais alto de permissão fornecido pelas funções. Se você aninhar grupos de usuários e atribuir uma função a um grupo, todos os usuários contidos terão permissões.

O RBAC do OneLake permite que os usuários definam funções de acesso a dados apenas para itens do Lakehouse.

O OneLake RBAC restringe o acesso a dados para usuários com o Visualizador de Espaço de Trabalho ou acesso de leitura a uma casa de lago. Não se aplica a Administradores de Espaço de Trabalho, Membros ou Colaboradores. Como resultado, o OneLake RBAC suporta apenas o nível de leitura de permissões.

Como criar funções RBAC

Você pode definir e gerenciar funções RBAC do OneLake por meio de suas configurações de acesso a dados lakehouse.

Saiba mais em Introdução às funções de acesso a dados.

Função RBAC padrão em lakehouse

Quando o usuário cria uma nova lakehouse, o OneLake gera uma função RBAC padrão chamada Default Readers. A função permite que todos os usuários com permissão ReadAll leiam todas as pastas no item.

Aqui está a definição de função padrão:

Item de tecido Nome da Função Permissão Pastas incluídas Membros designados
Casa do Lago DefaultReader ReadAll Todas as pastas em Tables/ e Files/ Todos os usuários com permissão ReadAll

Nota

Para restringir o acesso a usuários específicos ou pastas específicas, você deve modificar a função padrão ou removê-la e criar uma nova função personalizada.

Herança em OneLake RBAC

Para qualquer pasta, as permissões RBAC do OneLake sempre herdam toda a hierarquia dos arquivos e subpastas da pasta.

Por exemplo, dada a seguinte hierarquia de uma casa de lago em OneLake.

Tables/
──── (empty folder)
Files/
────folder1
│   │   file11.txt
│   │
│   └───subfolder11
│       │   file1111.txt
|       │
│       └───subfolder111
|            │   file1111.txt
│   
└───folder2
    │   file21.txt

Para a hierarquia dada, OneLake RBAC permissões para Role1 e Role2 herdar de uma seguinte maneira:

Funções Permissão Pasta definida na Permissão Pastas e arquivos que herdam a Permissão
Função1 Ler pasta1
│   │   file11.txt
│   │
│   └───subfolder11
│       │   file1111.txt
|       │
│       └───subfolder111
|            │   file1111.txt
Função2 Ler pasta2
    │   file21.txt

Travessia e listagem no OneLake RBAC

O OneLake RBAC fornece a travessia automática de itens pai para garantir que os dados sejam fáceis de descobrir. Conceder a um usuário Read to subfolder11 concede ao usuário a capacidade de listar e percorrer a pasta do diretório pai1. Essa funcionalidade é semelhante às permissões de pasta do Windows, onde dar acesso a uma subpasta fornece descoberta e travessia para os diretórios pai. A lista e a travessia concedidas ao pai não se estendem a outros itens fora dos pais diretos, garantindo que outras pastas sejam mantidas seguras.

Por exemplo, dada a seguinte hierarquia de uma casa de lago em OneLake.

Tables/
──── (empty folder)
Files/
────folder1
│   │   file11.txt
│   │
│   └───subfolder11
│       │   file111.txt
|       │
│       └───subfolder111
|            │   file1111.txt
│   
└───folder2
    │   file21.txt

Para a hierarquia fornecida, as permissões RBAC do OneLake para 'Role1' fornecem o seguinte acesso. Observe que o acesso a file11.txt não é visível, pois não é pai da subpasta11. Da mesma forma, para o Role2, file111.txt também não é visível.

Funções Permissão Pasta definida na Permissão Pastas e arquivos que herdam a Permissão
Função1 Ler subpasta11
Files/
────folder1
│   │
│   └───subfolder11
│       │   file111.txt
|       │
│       └───subfolder111
|            │   file1111.txt
Função2 Ler subpasta111
Files/
────folder1
│   │
│   └───subfolder11
|       │
│       └───subfolder111
|            │   file1111.txt

Para atalhos, o comportamento da listagem é ligeiramente diferente. Os atalhos para fontes de dados externas se comportam da mesma forma que as pastas, no entanto, os atalhos para outros locais do OneLake têm comportamento especializado. O acesso a um atalho OneLake é determinado pelas permissões de destino do atalho. Ao listar atalhos, nenhuma chamada é feita para verificar o acesso de destino. Como resultado, ao listar um diretório, todos os atalhos internos serão retornados, independentemente do acesso de um usuário ao destino. Quando um usuário tenta abrir o atalho, a verificação de acesso será avaliada e um usuário verá apenas os dados que ele tem as permissões necessárias para ver. Para obter mais informações sobre atalhos, consulte a seção de segurança de atalhos.

Os exemplos abaixo usam a seguinte hierarquia de pastas.

Files/
────folder1
│   
└───shortcut2
|
└───shortcut3
Funções Permissão Pasta definida na Permissão Resultado da listagem de arquivos
Função1 Ler pasta1
Files/
────folder1
│   
└───shortcut2
|
└───shortcut3
Função2 N/A N/A
Files/
│   
└───shortcut2
|
└───shortcut3

Como as permissões RBAC do OneLake são avaliadas com as permissões de malha

As permissões de Espaço de Trabalho e Item permitem que você conceda acesso "de grão grosso" aos dados no OneLake para o Item determinado. As permissões RBAC do OneLake permitem que você restrinja o acesso a dados no OneLake apenas a pastas específicas.

Diagrama mostrando a ordem das avaliações de permissões com espaço de trabalho, item e RBAC.

Permissões de RBAC e Espaço de trabalho do OneLake

As permissões de espaço de trabalho são o primeiro limite de segurança para dados no OneLake. Cada espaço de trabalho representa um único domínio ou área de projeto onde as equipes podem colaborar em dados. Você gerencia a segurança no espaço de trabalho por meio de funções de espaço de trabalho de malha. Saiba mais sobre o RBAC (controle de acesso baseado em função de malha): funções de espaço de trabalho

As funções de espaço de trabalho no Fabric concedem as seguintes permissões no OneLake.

Permissão Admin Membro Contribuinte Visualizador
Ver ficheiros no OneLake Sempre* Sim Sempre* Sim Sempre* Sim Não por defeito. Use o OneLake RBAC para conceder o acesso.
Gravar arquivos no OneLake Sempre* Sim Sempre* Sim Sempre* Sim Não

Nota

*Como as funções de administrador, membro e colaborador do espaço de trabalho concedem automaticamente permissões de gravação ao OneLake, ele substitui quaisquer permissões de leitura do OneLake RBAC.

Função do espaço de trabalho O OneLake aplica permissões de leitura RBAC?
Administrador, Colaborador, Membro Não, a Segurança do OneLake ignorará todas as permissões de Leitura do OneLake RBC
Visualizador Sim, se definido, as permissões de leitura do OneLake RBAC serão aplicadas

Permissões OneLake RBAC e Lakehouse

Dentro de um espaço de trabalho, os itens de malha podem ter permissões configuradas separadamente das funções do espaço de trabalho. Você pode configurar permissões por meio do compartilhamento de um item ou gerenciando as permissões de um item. As permissões a seguir determinam a capacidade de um usuário executar ações em dados no OneLake.

Permissões Lakehouse

Permissão Lakehouse É possível visualizar arquivos no OneLake? Pode escrever arquivos no OneLake? É possível ler dados por meio do ponto de extremidade de análise SQL?
Lida Não por padrão, use o OneLake RBAC para conceder acesso. No Não
ReadAll Sim por padrão. Use o OneLake RBAC para restringir o acesso. No Não
Escrita Sim Sim Sim
Executar, Recompartilhar, ViewOutput, ViewLogs N/A - não pode ser concedido por si só N/A - não pode ser concedido por si só N/A - não pode ser concedido por si só

Permissões do OneLake RBAC e Lakehouse SQL Analytics Endpoint

O ponto de extremidade de análise SQL é um depósito gerado automaticamente a partir de um Lakehouse no Microsoft Fabric. Um cliente pode fazer a transição da visualização "Lake" da Lakehouse (que suporta engenharia de dados e Apache Spark) para a visualização "SQL" da mesma Lakehouse. Saiba mais sobre o ponto de extremidade de análise SQL na documentação do Data Warehouse: Ponto de extremidade de análise SQL.

Permissão de ponto de extremidade do SQL Analytics Os usuários podem visualizar arquivos via OneLake Endpoint? Os usuários podem escrever arquivos via OneLake Endpoint? Os usuários podem ler dados por meio do ponto de extremidade de análise SQL?
Lida Não por padrão, use o OneLake RBAC para conceder acesso. Não Não por padrão, mas pode ser configurado com permissões granulares do SQL
ReadData Não por defeito. Use o OneLake RBAC para conceder acesso. Não Sim
Escrita Sim Sim Sim

Permissões do OneLake RBAC e do Modelo Semântico Padrão do Lakehouse

No Microsoft Fabric, quando o usuário cria uma lakehouse, o sistema também provisiona o modelo semântico padrão associado. O modelo semântico padrão tem métricas sobre os dados do lakehouse. O modelo semântico permite que o Power BI carregue dados para relatórios.

Permissão de modelo semântico padrão É possível visualizar arquivos no OneLake? Pode escrever arquivos no OneLake? Pode ver esquema no Modelo Semântico? É possível ler dados no Modelo Semântico?
Lida Não por padrão, use o OneLake RBAC para conceder acesso. No Não Sim por padrão. Pode ser restrito com a segurança em nível de objeto do Power BI e a segurança em nível de linha do Power BI
Compilar Sim por padrão. Use o OneLake RBAC para restringir o acesso. Sim Sim Sim
Escrita Sim Sim Sim Sim
Partilhar novamente N/A - não pode ser concedido por si só N/A - não pode ser concedido por si só N/A - não pode ser concedido por si só N/A - não pode ser concedido por si só

Compartilhamento Lakehouse e permissões OneLake RBAC

Quando o usuário compartilha uma lakehouse, eles concedem a outros usuários ou a um grupo de usuários acesso a uma lakehouse sem dar acesso ao espaço de trabalho e ao resto de seus itens. A casa de lago compartilhada pode ser encontrada por meio do Data Hub ou da seção Compartilhado Comigo no Microsoft Fabrics.

Quando alguém compartilha um lakehouse, também pode conceder acesso ao ponto de extremidade de análise SQL e ao modelo semântico padrão associado.

Uma captura de tela da tela de acesso das pessoas do lakehouse Grant.

Opção de compartilhamento É possível visualizar arquivos no OneLake? Pode escrever arquivos no OneLake? É possível ler dados por meio do ponto de extremidade de análise SQL? É possível visualizar e construir modelos semânticos?
Nenhuma permissão adicional selecionada Não por padrão, use o OneLake RBAC para conceder acesso. No No Não
Leia tudo Apache Spark Sim por padrão. Use o OneLake RBAC para restringir o acesso. No No Não
Ler todos os dados do ponto de extremidade SQL Não por padrão, use o OneLake RBAC para conceder acesso. Não Sim No
Criar relatórios no conjunto de dados padrão Sim por padrão. Use o OneLake RBAC para restringir o acesso. No No Sim

Saiba mais sobre o modelo de permissões de compartilhamento de dados:

Atalhos

OneLake RBAC em atalhos internos

Para qualquer pasta em uma casa de lago, as permissões RBAC sempre herdam todos os atalhos internos onde essa pasta é definida como destino.

Quando um usuário acessa dados por meio de um atalho para outro local do OneLake, a identidade do usuário chamador é usada para autorizar o acesso aos dados no caminho de destino do atalho*. Como resultado, esse usuário deve ter permissões OneLake RBAC no local de destino para ler os dados.

Importante

Ao acessar atalhos por meio de modelos semânticos do Power BI ou T-SQL, a identidade do usuário chamador não é passada para o destino de atalho. Em vez disso, a identidade do proprietário do item chamador é passada, delegando o acesso ao usuário chamador.

A definição de permissões RBAC para o atalho interno não é permitida e deve ser definida na pasta de destino localizada no item de destino. Como a definição de permissões RBAC é limitada apenas a itens lakehouse, o OneLake habilita permissões RBAC apenas para atalhos direcionados a pastas em itens lakehouse.

A tabela a seguir especifica se o cenário de atalho correspondente é suportado para definir permissões RBAC OneLake.

Cenário de atalho interno Permissões RBAC OneLake suportadas? Comentários
Atalho em uma lakehouse1 apontando para folder2 localizada na mesma lakehouse. Suportado. Para restringir o acesso aos dados no atalho, defina OneLake RBAC para folder2.
Atalho em uma lakehouse1 apontando para folder2 localizada em outra lakehouse2 Suportado. Para restringir o acesso aos dados no atalho, defina OneLake RBAC para folder2 em lakehouse2.
Atalho em uma casa de lago apontando para uma tabela localizada em um datawarehouse Não suportado. O OneLake não suporta a definição de permissões RBAC em datawarehouses. Em vez disso, o acesso é determinado com base na permissão ReadAll.
Atalho em uma casa de lago apontando para uma tabela localizada em um banco de dados KQL Não suportado. O OneLake não suporta a definição de permissões RBAC em bancos de dados KQL. Em vez disso, o acesso é determinado com base na permissão ReadAll.

OneLake RBAC em atalhos externos (ADLS, S3, Dataverse)

O OneLake suporta a definição de permissões RBAC para atalhos como ADLS, S3 e Dataverse. Nesse caso, o modelo RBAC é aplicado sobre o modelo de autorização delegada habilitado para esse tipo de atalho.

Suponha que user1 crie um atalho do S3 em uma lakehouse apontando para uma pasta em um bucket do AWS S3. Em seguida, user2 está tentando acessar dados neste atalho.

A Conexão do S3 autoriza o acesso para o usuário delegado1? O OneLake RBAC autoriza o acesso para o usuário solicitante2? Resultado: o usuário2 pode acessar dados no atalho do S3?
Sim Sim Sim
No No No
No Sim No
Sim No Não

As permissões RBAC devem ser definidas para todo o escopo do atalho (pasta de destino inteira), mas herdam recursivamente para todas as suas subpastas e arquivos.

Saiba mais sobre os atalhos do S3, ADLS e Dataverse no OneLake Shortcuts.

Limites do OneLake RBAC

A tabela a seguir fornece as limitações das funções de acesso a dados do OneLake.

Cenário Limite
Número máximo de funções RBAC OneLake por item de malha No máximo 250 funções para cada item da casa do lago.
Número máximo de membros por função OneLake RBAC No máximo 500 usuários e grupos de usuários por função.
Número máximo de permissões por função RBAC OneLake No máximo 500 permissões por função

Latências no OneLake RBAC

  • Se você alterar uma definição de Função RBAC do OneLake, levará cerca de 5 minutos para o OneLake aplicar as definições atualizadas.
  • Se você alterar um grupo de usuários na função RBAC do OneLake, levará cerca de uma hora para o OneLake aplicar as permissões da função no grupo de usuários atualizado.