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 |
|
Função2 | Ler | pasta2 |
|
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 |
|
Função2 | Ler | subpasta111 |
|
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 |
|
Função2 | N/A | N/A |
|
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.
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.
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:
- Como funciona o compartilhamento de casas no lago
- Partilhe os seus dados e faça a gestão de permissões
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.