Programa
Segurança em nível de linha (RLS) no Power BI permite controlar quais linhas de dados os usuários podem visualizar com base em filtros. Essa funcionalidade é super útil quando vários usuários precisam acessar um relatório compartilhado, mas com visualizações personalizadas de acordo com suas funções ou departamentos.
Neste tutorial, vou te mostrar como funciona o RLS, com detalhes práticos e aprofundados, incluindo suas configurações estáticas e dinâmicas, passos práticos de implementação, técnicas avançadas para empresas e erros comuns que aprendi a evitar. Também vou compartilhar as melhores práticas e comparar o RLS com outros modelos de segurança.
Se você está começando a usar o Power BI, recomendo que dê uma olhada em nosso programa de habilidades Fundamentos do Power BI, que vai te ajudar a dominar todas as habilidades essenciais que você vai precisar.
O que é segurança no nível da linha?
A Segurança em Nível de Linha (RLS) é um recurso de segurança do Power BI que limita o acesso às linhas de uma tabela com base na identidade do usuário que está vendo o relatório. Em vez de duplicar relatórios para diferentes grupos de usuários, o RLS permite aplicar filtros no nível dos dados, para que cada usuário veja apenas os dados que tem permissão para visualizar.
Isso é super importante pra manter a confidencialidade e a integridade dos dados, principalmente quando se trata de informações confidenciais ou exclusivas. A RLS funciona dentro do modelo de dados do Power BI e garante que usuários não autorizados não possam acessar dados restritos, mesmo por métodos indiretos, como segmentadores ou drill-downs.
Funções e filtros
A implementação do RLS tem três partes principais:
- Papéis: Grupos lógicos com regras de acesso definidas.
- DAX filtros: Expressões que definem quais dados cada função pode acessar.
- Atribuições do usuário: Configurar quais usuários ou grupos fazem parte de quais funções.
Esses elementos trabalham juntos para avaliar cada consulta em relação às condições de acesso antes de retornar os resultados.
Casos de uso
O RLS é super útil em vários setores e situações, tipo:
- Áreas de vendas: Os gerentes de vendas só veem os dados de desempenho da sua região.
- Saúde: Os médicos só conseguem ver os registros dos pacientes que estão sob seus cuidados.
- e SaaS multi-tenant: Os clientes só veem os dados da própria organização nos painéis compartilhados.
Esse modelo de segurança permite que os conjuntos de dados compartilhados continuem seguros, minimizando a duplicação e a sobrecarga administrativa.
Arquiteturas RLS estáticas vs dinâmicas
A segurança no nível da linha pode ser dividida em dois tipos: estática e dinâmica.
Resumi as diferenças na tabela abaixo:
|
Critérios |
RLS estático |
Dynamic RLS |
|
Tempo de instalação |
Rápido |
Moderado |
|
Manutenção |
Manual |
Baseado em tabelas |
|
Escalabilidade |
Limitado |
Alto |
|
Complexidade |
Baixo |
Moderado a alto |
Dica: Use RLS estático para grupos pequenos e fixos de usuários. Use RLS dinâmico para ambientes em crescimento ou de grande escala.
Vou mostrar algumas implementações de exemplos estáticos e dinâmicos abaixo.
Implementação estática do RLS
O RLS estático envolve criar funções com filtros DAX codificados. Cada função é para um grupo ou segmento específico, tipo uma região ou departamento.
Aqui estão as etapas gerais para implementar um RLS estático:
- Crie uma função chamada, por exemplo, “Região_Leste”.
- Aplique um filtro como
[Region] = "East"a essa função. - Atribua usuários específicos à função no Serviço Power BI.
Implementação dinâmica do RLS
O RLS dinâmico usa funções como USERNAME() ou USERPRINCIPALNAME() junto com tabelas de mapeamento pra filtrar dados de forma dinâmica com base na identidade do usuário.
Aqui estão os passos gerais para implementar um RLS dinâmico:
- Crie uma tabela de mapeamento que conecte os usuários aos níveis de acesso. Essa vai ser sua tabela de segurança. Essa tabela deve ter colunas como e-mails dos usuários, suas regiões de acesso e seus nomes.
- Escreva um filtro DAX como:
[Region] = RELATED(UserRegion[Region]) - Filtra essa tabela com:
UserRegion[Email] = USERPRINCIPALNAME()
Configurando a segurança em nível de linha no Power BI Desktop
Agora vamos ver um guia rápido sobre como configurar a segurança estática em nível de linha usando um conjunto de dados simples de vendas.
1. Criando um conjunto de dados de amostra usando Python
Para testar o RLS, crie um conjunto de dados de amostra usando Python:
import pandas as pd
data = {
'Salesperson': ['Alice', 'Bob', 'Charlie', 'Alice', 'Bob', 'Charlie'],
'Region': ['East', 'West', 'South', 'East', 'West', 'South'],
'SalesAmount': [15000, 20000, 18000, 17000, 21000, 16000],
'Email': ['alice@company.com', 'bob@company.com', 'charlie@company.com'] * 2,
'Date': pd.date_range(start='2025-01-01', periods=6, freq='M')
}
sales_df = pd.DataFrame(data)
sales_df.to_csv('sample_sales_data.csv', index=False)
2. Importando para o Power BI e criando uma visualização de referência
- Open Power BI Desktop.
- Vá para Página inicial > Obter dados > Texto/CSV.
- Escolha o arquivo “
sample_sales_data.csv”.

- Carregue os dados no modelo.
Dá uma olhada se os tipos de dados estão certos e se a coluna “ Email ” está igual ao formato de login (geralmente e-mail).
- Crie um gráfico de colunas empilhadas básico no Power BI. Arraste o campo Data para o eixo X e o campo Valor das vendas para o eixo Y.
Aqui tá como o seu gráfico deve ficar:

Mais informações sobre como usar o Power BI podem ser encontradas em nossa folha de dicas, como mostrado abaixo.
3. Criando funções
Depois, vamos criar algumas funções pra definir quais funções podem ter quais permissões.
- Vá para Modelagem > Gerenciar funções.

- Clique em Criar e nomeie sua função, por exemplo, “
SalesRegionStatic”. - Escolha a tabela certa.
- Digite uma expressão DAX de filtro:
[Email] = “charlie@company.com”
A tua interface deve ficar assim:

- Salve e feche a caixa de diálogo.
Se as alterações forem salvas com sucesso, uma barra verde aparecerá como mostrado abaixo.

4. Testando funções
- Vá para Modelagem > Exibir como funções.

- Escolha a função “
SalesRegionStatic” que criamos antes.

- Dá uma olhada nos gráficos do relatório filtrados por essa identidade.
Como você pode ver na imagem abaixo, o gráfico foi filtrado para mostrar só os dados em que o e-mail é “charlie@company.com”.

Isso permite a validação local antes da implantação.
Atribuir usuários e gerenciar funções no serviço Power BI
Depois que suas funções RLS estiverem configuradas e testadas no Power BI Desktop, o próximo passo é publicar o relatório no Serviço Power BI. Isso permite que você atribua usuários ou grupos de segurança específicos a cada função, garantindo que o controle de acesso seja aplicado quando o relatório for compartilhado.
1. Publicar o relatório no Serviço Power BI
- No Power BI Desktop, clique em Página inicial > Publicar > Para o Power BI.
- Escolha o espaço de trabalho de destino no seu Serviço Power BI.

- Depois de publicar, entre no Serviço Power BI em https://app.powerbi.com.
Aqui tá como tá o meu no serviço Power BI na web.

A publicação é um pré-requisito para configurar atribuições de funções RLS, já que as funções definidas no Power BI Desktop são transferidas junto com o conjunto de dados.
2. Acessando as configurações de segurança
- Escolha o menu Mais opções pro seu modelo semântico.Clique nas reticências (...) ao lado do conjunto de dados e selecione Segurança.
- Você vai ver uma lista de funções definidas no Power BI Desktop.
É aqui que você atribui usuários ou grupos do Azure Active Directory (AAD) a cada função.
3. Atribuir usuários individuais e grupos de segurança
Para atribuir usuários, digite os endereços de e-mail completos deles na caixa de texto abaixo da função desejada, aperte Enter e clique em Adicionar.

Para atribuir grupos AAD, use o nome do grupo (por exemplo, Sales_Region_East ou Finance_Team). Certifique-se de que o grupo já está definido e atualizado no Azure Active Directory.
4. Verificando o acesso atribuído
Depois de atribuir usuários ou grupos, reserve um tempo para verificar se os dados corretos estão sendo apresentados ao grupo certo.
Cada pessoa só vai ver os dados filtrados pela expressão DAX ligada à sua função. Eles não vão ser avisados diretamente sobre a atribuição de funções, então é melhor você passar as instruções de acesso depois de fazer a verificação.
5. Testando atribuições de funções no Serviço Power BI
- Na mesma página, clique no nome do RLS que você definiu anteriormente e clique nas reticências (...), e depois em Teste como função.

- O Power BI vai abrir uma versão só para leitura do relatório, mostrando só os dados que a função selecionada permite.
Para RLS dinâmico, você também pode simular o que um usuário específico vai ver:
- Clique em Teste como função.
- Digite o e-mail de um usuário para simular a experiência dele.
Isso é útil pra garantir que seus filtros dinâmicos (por exemplo, baseados em USERPRINCIPALNAME()) estejam funcionando corretamente.
Técnicas avançadas de implementação
O RLS pode ser ainda mais integrado ao seu fluxo de trabalho do Power BI por meio de algumas técnicas avançadas. Aqui estão alguns que você deve prestar atenção:
1. Integração de grupos de segurança
Usar grupos de segurança do Azure Active Directory (AAD) permite que você dê permissões de acesso para grupos inteiros, em vez de usuários individuais.
Essa prática é especialmente útil em empresas onde os funcionários entram ou saem frequentemente das equipes, pois elimina a necessidade de atualizar manualmente as permissões de acesso no Power BI.
2. Considerações sobre modelos de dados complexos
Quando estiver criando modelos de dados grandes, certifique-se de que o RLS não atrapalhe as relações e a propagação dos filtros.
Aqui vão algumas dicas:
- Use um esquema em estrela pra evitar junções complicadas.
- Limite o uso de relações bidirecionais, a menos que seja necessário.
- Evite relações ambíguas que possam resultar em filtragem incorreta.
- Otimize o desempenho minimizando as colunas calculadas em tabelas com muitos filtros.
3. Abordagens híbridas
Uma abordagem híbrida para a RLS é a combinação de técnicas estáticas e dinâmicas.
Por exemplo, você pode definir uma função estática para dar acesso a uma unidade de negócios específica e aplicar filtros dinâmicos dentro dessa função com base em endereços de e-mail ou nomes de usuário individuais. Esse método permite uma lógica de segurança em camadas e flexível.
4. Segurança no nível do objeto (OLS)
A segurança no nível do objeto permite ocultar tabelas ou colunas inteiras de determinadas funções. Ele complementa o RLS, adicionando mais uma camada de proteção de dados. O OLS pode ser usado pra campos sensíveis, tipo informações sobre salário ou médicas.
Estratégias de teste e validação
1. Teste em computador
O Power BI Desktop oferece uma maneira útil de simular diferentes visualizações do usuário por meio do recurso de função “Exibir como”. Esse recurso ajuda os desenvolvedores de relatórios a validar se a lógica de segurança no nível da linha está funcionando corretamente antes de publicar o relatório.
Como testar o RLS no Power BI Desktop:
- Clique no Modelagem .
- Selecionar Exibir como na faixa de opções.
- Escolha as funções que você configurou (por exemplo, SalesRegionStatic).
- Se quiser, digite um nome de usuário/e-mail de teste se estiver usando RLS dinâmico.
- Clique em OK e veja como os elementos visuais são filtrados.
Isso simula o relatório como se um usuário com essa função estivesse vendo. Isso é super útil quando você tá testando filtros RLS dinâmicos que dependem de funções DAX, tipo USERPRINCIPALNAME().
2. Teste de serviço
Depois de publicado no Serviço Power BI, o RLS deve ser testado de novo no ambiente da nuvem para garantir a precisão.
Como testar o RLS no Serviço Power BI:
- Vá até o conjunto de dados na sua área de trabalho.
- Clique no ... ao lado do conjunto de dados > Segurança.
- Escolha uma função > clique em Teste como função.
- Use a opção “Testar como usuário específico” para simular filtros RLS dinâmicos.
Isso garante que os filtros funcionem como esperado para os usuários reais.
3. Dicas importantes para validação
Para validação, você pode usar contas de teste ou identidades de serviço para simular o uso real. Todos os filtros em elementos visuais importantes, como tabelas e gráficos, também devem ser revisados de vez em quando.
Você também deve dar uma olhada nos segmentadores, drillthrough e favoritos pra garantir que não tem nenhum vazamento de dados não autorizados.
Problemas comuns e soluções
Implementar o RLS pode trazer alguns problemas, então aqui estão alguns dos mais comuns e como resolver.
1. Problemas pós-publicação
Depois de publicar no Serviço Power BI, alguns usuários percebem que o RLS não funciona como esperado, mesmo que tenha funcionado no Power BI Desktop.
Soluções:
- Depois de mudar as funções ou filtros, não esquece de publicar o relatório de novo.
- Confirme se o e-mail usado em USERPRINCIPALNAME() está igual ao formato do domínio de login no conjunto de dados.
2. Conflitos de funções no espaço de trabalho
Usuários com certas funções no espaço de trabalho (Admin, Membro) podem acabar passando direto pelo RLS sem querer.
Soluções:
- Atribuir usuários como Visualizadores na área de trabalho para aplicar as regras de RLS.
- Evite dar direitos de colaborador/administrador, a menos que seja necessário para o desenvolvimento de conteúdo.
3. Limitações da função DAX
Erros comuns acontecem quando a gente usa mal funções DAX como USERNAME() e USERPRINCIPALNAME():
USERNAME()pode retornar um nome de conta local em vez de um e-mail quando testado no Desktop.- Use
USERPRINCIPALNAME()para manter a consistência com o comportamento da identidade na nuvem.
Dicas:
- Adicione uma tabela de referência com exemplos de e-mails para facilitar os testes locais.
- Use lógica condicional ou valores padrão no DAX para evitar falhas no filtro.
4. Desafios do DirectQuery e do SSO
O RLS dinâmico com fontes DirectQuery precisa de um cuidado extra, principalmente quando usado com o Single Sign-On (SSO).
Problemas comuns:
- A configuração incorreta do gateway pode impedir a representação do usuário.
- A configuração do SSO com Kerberos pode falhar se os SPNs estiverem mal configurados.
Soluções:
- Dá uma olhada na documentação da Microsoft sobre SSO com gateways do Power BI.
- Trabalhe junto com as equipes de TI e infraestrutura para habilitar a delegação Kerberos.
Removendo ou desativando o RLS para acesso público
Pode ser que a RLS precise ser removida temporariamente (por exemplo, para demonstrações ou painéis abertos) ou permanentemente (por exemplo, ao compartilhar dados com pessoas de fora). Nesses casos, é preciso tomar cuidado com as configurações de visibilidade pra evitar vazamentos inesperados.
Desativando o RLS no Power BI Desktop
Para desativar o RLS:
- Abra seu relatório no Power BI Desktop.
- Vá até Modelagem > Gerenciar funções.
- Escolha e apague todas as funções ou desative os filtros delas.
- Salve e publique de novo o conjunto de dados no Serviço Power BI.
Depois de removidos, todos os usuários vão poder acessar o conjunto completo de dados, a menos que outras medidas de segurança estejam em vigor.
Compartilhamento seguro sem RLS
Se o RLS não for viável ou necessário, pense nessas práticas pra manter a segurança dos dados:
- Use permissões no nível do conjunto de dados: Compartilhe o conjunto de dados ou relatório só com pessoas de confiança e use as permissões da área de trabalho (Visualizador, Colaborador) da maneira certa.
- Evite publicar na web: “Publicar na Web” tira todos os controles de segurança. Em vez disso, use “Incorporar para organização” ou Power BI Embedded para compartilhamento público seguro.
Tirar o RLS não quer dizer que você vai ficar sem segurança. Use outras camadas de controle de acesso e recursos de compartilhamento no Serviço Power BI para garantir a divulgação responsável dos dados.
Melhores práticas para implantação em empresas
A implantação bem-sucedida da segurança em nível de linha em toda a empresa precisa de um planejamento cuidadoso, uma arquitetura escalável e uma governança adequada. Esta seção mostra as melhores práticas comprovadas em diferentes partes da implementação do RLS.
1. Modelagem de dados
Um modelo de dados bem feito ajuda a manter as configurações do RLS funcionando direitinho e sem complicações.
Recomendações:
- Siga um esquema em estrela com relações claras entre tabelas de fatos e dimensões.
- Evite relações bidirecionais desnecessárias que possam causar confusão na filtragem.
2. Gerenciamento de funções
Gerenciar as funções do RLS de forma centralizada e consistente ajuda a reduzir erros e melhorar a colaboração.
Recomendações:
- Mantenha um documento de definição de funções para acompanhar a lógica RLS e as expressões DAX.
- Use nomes de funções que sejam bem claros (por exemplo, “Vendas_Região_Leste”) pra evitar confusão.
3. Otimização do desempenho
O RLS pode afetar o desempenho dos relatórios, principalmente quando tem filtros complicados ou conjuntos de dados grandes.
Recomendações:
- Quando possível, agrupe os dados antes, usando tabelas resumidas.
- Tenta usar o mínimo possível de colunas calculadas na lógica RLS.
- Use indexação e consultas otimizadas nos sistemas de origem para dar suporte a cenários do DirectQuery.
RLS vs Modelos de Segurança Alternativos
Agora vamos comparar as diferenças entre a Segurança no Nível da Linha (RLS) e outros recursos de segurança, principalmente a Segurança no Nível do Objeto (OLS).
1. Granularidade e caso de uso
O RLS dá acesso a linhas individuais de dados, o que é ótimo pra filtrar dados por identidade do usuário, localização, departamento ou unidade de negócios. Já o OLS controla o acesso a tabelas ou colunas inteiras, o que é útil para esconder informações confidenciais de finanças ou RH (por exemplo, coluna de salários).
2. Implementação e adaptação dinâmica
O RLS pode ser facilmente implementado no Power BI Desktop por meio de filtros DAX em funções. Essas regras podem ser estáticas (filtros codificados) ou dinâmicas (lógica controlada pelo usuário). O OLS é configurado pelo Editor Tabular ou pelo endpoint XMLA. Também precisa de um espaço de trabalho premium ou um conjunto de dados do Power BI hospedado no Analysis Services.
Fiz um resumo comparativo na tabela abaixo:
|
Recurso |
RLS |
OLS |
|
Nível de controle |
Nível de linha |
Nível de tabela/coluna |
|
Visualizações específicas do usuário |
Sim |
Não |
|
Configuração da interface gráfica do usuário |
Suportado no Power BI Desktop |
Precisa de ferramentas externas |
|
Casos de uso |
Acesso à região de vendas, específico para cada funcionário |
Ocultar salário, colunas confidenciais |
|
Escalabilidade |
Moderado a alto (com configuração dinâmica) |
Alto (se integrado com ferramentas de governança) |
Conclusão
Resumindo, a segurança em nível de linha (RLS) no Power BI é um método essencial para garantir a governança dos dados dentro da plataforma. Isso permite que as empresas ofereçam análises personalizadas e seguras em um único relatório ou painel, sem comprometer a confidencialidade ou a integridade dos dados.
A segurança é cada vez mais importante na gestão e governança de dados, que é um ponto importante quando se trabalha com o Power BI. Para saber mais sobre o Power BI, dá uma olhada no nosso Implantando e mantendo ativos no Power BI ou o nosso Relatórios no Power BI. Se quiser saber mais, dá uma olhada nos nossos guias sobre Hierarquias do Power BI e Painéis do Power BI podem ser úteis.
Perguntas frequentes sobre segurança no nível da linha do Power BI
Como posso automatizar o processo de atribuição de usuários a funções RLS?
Você pode automatizar atribuições de funções RLS no Power BI usando RLS dinâmico com DAX e aproveitando funções de identidade do usuário, como USERNAME() ou USERPRINCIPALNAME(). Isso permite manter mapeamentos de funções de usuário em uma tabela de segurança separada (armazenada no Excel, SQL ou SharePoint), que pode ser atualizada programaticamente ou por meio de pipelines ETL, eliminando a necessidade de atribuir usuários manualmente no Serviço Power BI.
Quais são as melhores práticas para projetar um modelo de dados para RLS no Power BI?
Comece separando sua lógica de segurança em uma tabela dedicada que mapeia os usuários para seus valores permitidos (por exemplo, região, departamento). Certifique-se de que esta tabela tenha uma relação clara com as tabelas de fatos ou dimensões. Use relações unidirecionais e evite filtragem bidirecional, a menos que seja necessário, pois isso pode introduzir complexidade. Além disso, mantenha seu modelo simples e consistente, com uma lógica de funções claramente documentada para facilitar a manutenção.
Qual é a diferença entre o RLS dinâmico e o RLS estático em termos de implementação e manutenção?
O RLS dinâmico usa filtros DAX que fazem referência a uma tabela de mapeamento do usuário, permitindo um controle de acesso escalável e orientado por dados, sem a necessidade de criar funções individuais. Já o RLS estático precisa que você defina várias funções manualmente e atribua usuários a elas explicitamente, o que fica mais complicado de gerenciar conforme a base de usuários ou os requisitos de acesso aumentam. O RLS dinâmico é mais fácil de manter e mais flexível em cenários empresariais.
Você pode dar exemplos de problemas comuns do RLS e como resolver?
Problemas comuns incluem usuários que não veem dados (muitas vezes devido a incompatibilidades entre os formatos de e-mail na tabela de mapeamento e o login do Power BI), relações circulares ou filtros DAX muito complexos. Isso pode ser resolvido validando os identificadores do usuário, simplificando as relações e depurando os filtros usando o recurso “Exibir como função”. Além disso, certifique-se de que a tabela de segurança está carregada corretamente e não foi filtrada sem querer.
Como posso testar o RLS de forma eficaz no Power BI sem causar problemas de acesso aos dados?
Use o recurso “Exibir como função” no Power BI Desktop para simular o acesso do usuário e ver se os filtros estão funcionando direitinho. Para RLS dinâmico, use endereços de e-mail de teste na sua tabela de segurança para ver se a lógica de filtragem tá funcionando como esperado. No Serviço Power BI, teste em uma área de trabalho separada ou com usuários de teste para evitar afetar o acesso à produção.

Sou Austin, blogueiro e escritor de tecnologia com anos de experiência como cientista de dados e analista de dados na área de saúde. Iniciando minha jornada tecnológica com formação em biologia, agora ajudo outras pessoas a fazer a mesma transição por meio do meu blog de tecnologia. Minha paixão por tecnologia me levou a contribuir por escrito para dezenas de empresas de SaaS, inspirando outras pessoas e compartilhando minhas experiências.
