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 |
|
Role2 | Leitura | folder2 |
|
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 |
|
Role2 | Leitura | subfolder111 |
|
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 |
|
Role2 | N/A | N/A |
|
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.
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.
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.