🔐 Segurança em Nível de Linha (RLS)
Row-Level Security (RLS) permite que diferentes usuários vejam apenas os dados autorizados, com base em filtros definidos diretamente no modelo semântico do Power BI.
🔹 Tipos de RLS
✔ Estática
Os filtros são fixos dentro da função criada no modelo.
Exemplo:
DimRegiao[Estado] = "SP"
✔ Dinâmica
Os filtros dependem do usuário conectado, usando funções como USERPRINCIPALNAME().
Exemplo:
DimVendedor[Email] = USERPRINCIPALNAME()
🔹 Como Criar Funções de Segurança
- No Power BI Desktop, vá em Modeling → Manage Roles
- Clique em Create
- Defina o nome da função (ex.: "Vendedores_SP")
- Aplique o filtro DAX na tabela correspondente
Exemplo de regra:
FatoVendas[Estado] = "SP"
🔹 RLS Dinâmico – Exemplo Completo
Imagine uma dimensão de vendedores:
| Vendedor |
Email |
Região |
| João |
joao@empresa.com |
Sul |
| Maria |
maria@empresa.com |
Norte |
Regra dinâmica:
DimVendedor[Email] = USERPRINCIPALNAME()
O Power BI fará automaticamente o filtro para o usuário conectado no serviço.
🔹 Testar RLS no Power BI Desktop
- Vá em Modeling → View As
- Escolha a função a ser testada
- Verifique se o relatório mostra os dados esperados
Isso evita erros antes da publicação.
🔹 Configuração no Power BI Service
Após publicar o dataset:
- Acesse o workspace
- Vá em Datasets → Security
- Escolha a função criada
- Adicione usuários ou grupos correspondentes
Lembre-se:
- RLS não funciona no “Meu Workspace”
- Para apps corporativos, recomenda-se workspaces dedicados e governança ativa
🔹 Recomendações Importantes
- Armazene usuários em uma tabela de dimensão quando usar RLS dinâmico
- Evite relacionamentos bidirecionais
- Certifique-se de que a coluna usada no filtro está corretamente relacionada às tabelas fato
- Teste sempre antes de publicar
- Combine RLS com governança e sensibilidade de dados
📚 Links Oficiais
- Documentação RLS:
https://learn.microsoft.com/power-bi/enterprise/service-admin-row-level-security