Compartilhar via


RBAC (controle de acesso baseado em função)

O RBAC do OneLake usa atribuições de função para aplicar permissões a 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 no grupo de usuários recebe a função atribuída.

Se alguém estiver em dois ou mais grupos de segurança ou em um grupo do Microsoft 365, a pessoa receberá 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 somente para Itens do Lakehouse.

O RBAC do OneLake restringe o acesso a dados para usuários com acesso de leitura ou de espectador do Workspace a um lakehouse. Ele não se aplica a Administradores, Membros nem Colaboradores do Workspace. Como resultado, o RBAC do OneLake oferece suporte apenas no 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 do lakehouse.

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

Função RBAC padrão no lakehouse

Quando o usuário cria um novo 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.

Definição de função padrão:

Item do Fabric Nome da Função Permissão Pastas inclusas Membros atribuídos
Lakehouse DefaultReader ReadAll Todas as pastas em Tables/ e Files/ Todos os usuários com a permissão ReadAll

Observação

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

Herança no RBAC do OneLake

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

Por exemplo, dada a hierarquia a seguir de um lakehouse no OneLake.

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

Para a hierarquia fornecida, as permissões de RBAC do OneLake para Role1 e Role2 são herdadas da seguinte maneira:

Função Permissão Pasta definida na Permissão Pastas e arquivos que herdam a Permissão
Role1 Leitura folder1
│   │   file11.txt
│   │
│   └───subfolder11
│       │   file1111.txt
|       │
│       └───subfolder111
|            │   file1111.txt
Role2 Leitura folder2
    │   file21.txt

Travessia e listagem no RBAC do OneLake

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

Por exemplo, dada a hierarquia a seguir de um lakehouse no 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 acesso a seguir. Observe que o acesso ao file11.txt não é visível, pois ele não é um pai de subfolder11. Da mesma forma para Role2, file111.txt também não é visível.

Função Permissão Pasta definida na Permissão Pastas e arquivos que herdam a Permissão
Role1 Leitura subfolder11
Files/
────folder1
│   │
│   └───subfolder11
│       │   file111.txt
|       │
│       └───subfolder111
|            │   file1111.txt
Role2 Leitura subfolder111
Files/
────folder1
│   │
│   └───subfolder11
|       │
│       └───subfolder111
|            │   file1111.txt

O comportamento da listagem é ligeiramente diferente para atalhos. 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 do 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 avaliará e o usuário verá apenas os dados que ele tem as permissões necessárias para ver. Para obter mais informações sobre atalhos, confira Atalhos do OneLake.

O exemplo abaixo usa a seguinte hierarquia de pastas.

Files/
────folder1
│   
└───shortcut2
|
└───shortcut3
Função Permissão Pasta definida na Permissão Resultado da listagem de Arquivos
Role1 Leitura folder1
Files/
────folder1
│   
└───shortcut2
|
└───shortcut3
Role2 N/A N/A
Files/
│   
└───shortcut2
|
└───shortcut3

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

As permissões Espaço de Trabalho e Item permitem que você conceda acesso de alta granularidade aos dados no OneLake para o Item especificado. As permissões de 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 do workspace são o primeiro limite de segurança para dados em um OneLake. Cada workspace representa um único domínio ou área de projeto em que as equipes podem colaborar nos dados. A segurança no workspace é gerenciada por meio de funções de workspace do Fabric. Saiba mais sobre o controle de acesso baseado em função (RBAC) do Fabric: Funções de workspace

As funções de workspace no Fabric concedem as seguintes permissões no OneLake.

Permissão Administrador Membro Colaborador Visualizador
Exibir arquivos no OneLake Sempre* Sim Sempre* Sim Sempre* Sim Não por padrão. Use o RBAC do OneLake para conceder o acesso.
Gravar arquivos no OneLake Sempre* Sim Sempre* Sim Sempre* Sim Não

Observação

*Como as funções de Administrador, Membro e Colaborador automaticamente concedem permissão de gravação ao OneLake, elas substituem qualquer permissão de leitura RBAC do OneLake.

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

Permissões de RBAC do OneLake e do Lakehouse

Em um workspace, os itens do Fabric podem ter permissões configuradas separadamente das funções do workspace. As permissões podem ser configuradas por meio do compartilhamento de um item ou do gerenciamento das permissões de um item. A capacidade de um usuário de executar ações em dados no OneLake é determinada pelas permissões a seguir.

Permissões do Lakehouse

Permissão do Lakehouse Pode exibir arquivos no OneLake? Pode gravar arquivos no OneLake? Pode ler dados por meio do ponto de extremidade de análise do SQL?
Ler Não por padrão. Use o RBAC do OneLake para conceder acesso. Não No
ReadAll Sim por padrão. Use o RBAC do OneLake para restringir o acesso. Não Não
Gravar Sim Sim Sim
Executar, Recompartilhar, ViewOutput, ViewLogs N/A - não pode ser concedido por conta própria N/A - não pode ser concedido por conta própria N/A - não pode ser concedido por conta própria

Permissões de RBAC do OneLake e do ponto de extremidade de análise do SQL do Lakehouse

Um ponto de extremidade de análise do SQL é um depósito gerado automaticamente por um Lakehouse no Microsoft Fabric. Um cliente pode fazer a transição da exibição "Lake" do Lakehouse (que dá suporte à engenharia de dados e ao Apache Spark) para a exibição "SQL" do mesmo Lakehouse. Saiba mais sobre o ponto de extremidade de análise do SQL na documentação do Data Warehouse: ponto de extremidade de análise do SQL.

Permissão do ponto de extremidade de análise do SQL Os usuários podem visualizar arquivos por meio do ponto de extremidade do OneLake? Pode ler dados por meio do ponto de extremidade de análise do SQL? Os usuários podem ler dados por meio do ponto de extremidade de análise do SQL?
Ler Não por padrão. Use o RBAC do OneLake para conceder acesso. Não Não por padrão, mas pode ser configurado com permissões granulares do SQL
ReadData Não por padrão. Use o RBAC do OneLake para conceder acesso. Não Sim
Gravar Sim Sim Sim

Permissões de RBAC do OneLake e do modelo semântico padrão do Lakehouse

No Microsoft Fabric, quando o usuário cria um lakehouse, o sistema também provisiona o modelo semântico padrão. 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 nos relatórios.

Permissão do modelo semântico padrão Pode exibir arquivos no OneLake? Pode gravar arquivos no OneLake? Pode ver o esquema no modelo semântico? Pode ler dados no modelo semântico?
Ler Não por padrão. Use o RBAC do OneLake para conceder acesso. Não No Sim por padrão. Pode ser restrito com a Segurança em nível de objeto do Power BI e com a Segurança em nível de linha do Power BI
Compilação Sim por padrão. Use o RBAC do OneLake para restringir o acesso. Sim Sim Sim
Gravar Sim Sim Sim Sim
Compartilhar novamente N/A - não pode ser concedido por conta própria N/A - não pode ser concedido por conta própria N/A - não pode ser concedido por conta própria N/A - não pode ser concedido por conta própria

Compartilhamento do Lakehouse e permissões de RBAC do OneLake

Quando um usuário compartilha um lakehouse, ele concede a outros usuários ou a um grupo de usuários acesso a um lakehouse sem fornecer acesso ao espaço de trabalho e ao restante de seus itens. O lakehouse compartilhado pode ser encontrado no Hub de Dados ou na seção Compartilhado Comigo no Microsoft Fabrics.

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

Uma captura da tela Conceder acesso a pessoas do Lakehouse.

Opção de compartilhamento Pode exibir arquivos no OneLake? Pode gravar arquivos no OneLake? Pode ler dados por meio do ponto de extremidade de análise do SQL? Pode visualizar e compilar modelos semânticos?
Nenhuma permissão adicional selecionada Não por padrão. Use o RBAC do OneLake para conceder acesso. Não No No
Ler todo o Apache Spark Sim por padrão. Use o RBAC do OneLake para restringir o acesso. Não No No
Ler todos os dados do ponto de extremidade SQL Não por padrão. Use o RBAC do OneLake para conceder acesso. Não Sim No
Criar relatórios sobre o conjunto de dados padrão Sim por padrão. Use o RBAC do OneLake para restringir o acesso. Não No Sim

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

Atalhos

RBAC do OneLake em atalhos internos

Em qualquer pasta em um lakehouse, as permissões de RBAC sempre são herdadas em todos os atalhos internos nos quais a pasta é definida como destino.

Quando um usuário acessa os dados por meio de um atalho para outro local do OneLake, a identidade do usuário chamado é utilizada para autorizar o acesso aos dados no caminho de destino do atalho*. Como resultado, esse usuário deve ter permissões de RBAC do OneLake 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 de chamada não é passada para o destino do atalho. Em vez disso, a identidade do proprietário do item de chamada é passada, delegando acesso ao usuário da chamada.

A definição de permissões de 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 de RBAC é limitada apenas a itens de lakehouse, o OneLake habilita permissões de RBAC apenas para atalhos direcionados a pastas em itens de lakehouse.

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

Cenário de atalho interno As permissões de RBAC do OneLake têm suporte? Comentários
Atalho em um lakehouse1 apontando para o folder2 localizado no mesmo lakehouse. Com suporte. Para restringir o acesso aos dados no atalho, defina o RBAC do OneLake para o folder2.
Atalho em um lakehouse1 apontando para o folder2 localizado em outro lakehouse2 Com suporte. Para restringir o acesso aos dados no atalho, defina o RBAC do OneLake para o folder2 no lakehouse2.
Atalho em um lakehouse apontando para uma tabela localizada em um datawarehouse Não há suporte. O OneLake não oferece suporte à definição de permissões de RBAC em datawarehouses. Em vez disso, o acesso é determinado com base na permissão ReadAll.
Atalho em um lakehouse apontando para uma tabela localizada em um banco de dados KQL Não há suporte. O OneLake não oferece suporte à definição de permissões de RBAC em bancos de dados KQL. Em vez disso, o acesso é determinado com base na permissão ReadAll.

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

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

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

A conexão do S3 autoriza o acesso do user1 delegado? O RBAC do OneLake autoriza o acesso para o user2 solicitante? Resultado: o user2 pode acessar os dados no atalho do S3?
Sim Sim Sim
Não No No
No Sim Não
Sim Não No

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

Saiba mais sobre os atalhos do S3, ADLS e Dataverse em Atalhos do OneLake.

Limites no RBAC do OneLake

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 do OneLake por item do Fabric No máximo 250 funções para cada item de lakehouse.
Número máximo de membros por função RBAC do OneLake 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 do OneLake No máximo 500 permissões por função.

Latências no RBAC do OneLake

  • Se uma definição de função de RBAC do OneLake for alterada, ele levará cerca de cinco minutos para aplicar as definições atualizadas.
  • Se um grupo de usuários na função RBAC do OneLake for alterado, ele levará cerca de uma hora aplicar as permissões da função no grupo de usuários atualizado.