Nota
O acesso a esta página requer autorização. Pode tentar iniciar sessão ou alterar os diretórios.
O acesso a esta página requer autorização. Pode tentar alterar os diretórios.
As funções de segurança do OneLake controlam quem pode aceder aos dados nos seus itens do Fabric. Por vezes, conceder ou negar acesso a um item inteiro é demasiado grosseiro. Pode ser necessário esconder colunas sensíveis, limitar as linhas que o utilizador vê ou expor apenas certas tabelas. Dentro de uma função, pode refinar o acesso em três níveis de granularidade: segurança ao nível de objeto para tabelas e pastas, segurança ao nível de coluna (CLS) para colunas individuais e segurança ao nível de linha (RLS) para linhas individuais.
Este artigo explica o que cada controlo faz e como a OneLake o aplica. Para criar estes controlos, consulte Criar e gerir funções de segurança OneLake.
As funções de segurança do OneLake utilizam um modelo de concessão para conceder acesso aos dados. Não podes negar acesso concedido através de um papel ou modelo de permissão diferente. Por essa razão, estes controlos não restringem o acesso para utilizadores nas funções de Administrador, Membro e Contribuidor ao nível do espaço de trabalho.
Segurança de tabelas e pastas
A segurança ao nível de tabela e pasta, também chamada de segurança ao nível de objeto (OLS), permite-lhe conceder acesso a tabelas ou pastas específicas num elemento de dados. Com OLS, cria-se permissões tanto para dados estruturados como não estruturados ao nível da pasta. Como as tabelas Delta Parquet no OneLake são representadas como pastas, pode proteger as tabelas da mesma forma que protege as pastas. Os esquemas também são pastas, por isso podes protegê-los da mesma forma.
Segurança ao nível das colunas e ao nível das linhas
A segurança OneLake aplica a segurança ao nível das colunas e das linhas de duas formas:
- Tabelas de filtros: Um utilizador que consulta uma tabela usando um motor Fabric, como cadernos Spark, ou um motor autorizado de terceiros vê apenas as colunas ou linhas que as regras CLS ou RLS permitem.
- Tabelas de blocos: Um utilizador que consulta uma tabela usando um motor de terceiros não autorizado não consegue ler a tabela.
A segurança do OneLake pode aplicar regras CLS e RLS a tabelas Delta Parquet ou tabelas Iceberg virtualizadas. As regras aplicadas a outros tipos de tabelas bloqueiam o acesso a toda a tabela para os membros da função.
Se uma regra CLS ou RLS tiver uma incompatibilidade com a tabela onde está definida, a consulta falha e não retorna dados. Por exemplo, ocorre um desajuste quando uma regra faz referência a uma coluna que não está na tabela.
Segurança ao nível das colunas
A segurança ao nível das colunas (CLS) concede acesso a colunas selecionadas numa tabela em vez da tabela completa. Os dados nas colunas que remove da lista permitida não são visíveis para os utilizadores.
Para tabelas filtradas com CLS, aplicam-se os seguintes comportamentos:
- Se um utilizador executa uma
select *consulta numa tabela onde tem acesso apenas a algumas das colunas, as regras CLS comportam-se de forma diferente dependendo do motor Fabric:- Cadernos Spark: A consulta tem sucesso e mostra apenas as colunas permitidas.
- Endpoint de análise SQL: A consulta devolve um erro e bloqueia o acesso às colunas que o utilizador não consegue aceder.
- Modelos semânticos: A consulta devolve um erro e bloqueia o acesso às colunas que o utilizador não consegue aceder.
- O nome de uma coluna segura pode ser visível em certas experiências, mas os valores dos dados nunca aparecem.
Segurança a nível de linha
A segurança ao nível das linhas (RLS) define restrições de dados ao nível das linhas para dados tabulares armazenados no OneLake. Defines funções que contêm regras para filtrar linhas de dados para membros do cargo. Quando um membro de um papel RLS consulta os dados, o OneLake avalia as regras RLS e devolve apenas as linhas permitidas. Linhas são um conceito relevante apenas para dados tabulares, por isso não se pode definir RLS para pastas que não sejam tabelas ou dados não estruturados.
Para tabelas filtradas com RLS, aplicam-se os seguintes comportamentos:
- O acesso a uma tabela pode ser bloqueado se a instrução RLS contiver erros de sintaxe que impeçam que ela seja avaliada.
Para a sintaxe usada na escrita das regras RLS, veja Referência de sintaxe de segurança ao nível de linhas.
Combine a segurança ao nível de linha e ao nível de coluna
A segurança em nível de linha e em nível de coluna pode ser usada em conjunto para restringir o acesso do usuário a uma tabela. No entanto, as duas políticas devem ser aplicadas usando uma única função de segurança OneLake. Nesse cenário, o acesso aos dados é restrito de acordo com as regras definidas em uma função.
A segurança do OneLake não suporta a combinação de duas ou mais funções em que uma contém regras RLS e outra contém regras CLS. Os usuários que tentam acessar tabelas que fazem parte de uma combinação de funções sem suporte recebem erros de consulta.