Table of Contents
ToggleAjuda - Row Level Security (RLS) e Object Level Security (OLS)
Segurança
Tipos de RLS
Segurança estática
Para empresas que precisam ou gostariam de criar várias roles e utilizar uma role de acordo com o usuário que está acessando, sem a necessidade de ter uma tabela no modelo com os usuários e permissões, existe a segurança estática, que é mais simples de configurar, mas apresenta performance pior e é mais difícil de gerenciar as permissões.
Nesse formato, você irá visualizar a lista das roles que existem no modelo e poderá associar os usuários ou grupos que serão filtrados por essa role.
Aqui está um print das regras criadas no Power BI Desktop. Existem duas regras criadas: ‘Alimentos’ e ‘Bebidas’. Isso significa que se um usuário for atribuído à regra de alimentos, ele só poderá visualizar dados relacionados a alimentos.
Ao publicar o relatório, ao acessar “Ações” > “Segurança”, o Power Embedded automaticamente identifica as regras criadas. Você pode então atribuir essas regras aos usuários conforme necessário.
Quando o usuário marcos acessar o relatório ele só vai ver a as informações relacionadas a alimentos.
Segurança Dinâmica
Com a Segurança Dinâmica, você pode definir uma ou mais roles e elas serão aplicadas automaticamente para todos os usuários que acessem o relatório. Essa é a recomendação de boas práticas para melhor gerenciamento de regras e performance.
Nesse formato, a role/função criada no Power BI Desktop, receberá o e-mail do usuário que está acessando o relatório (utilizando as funções USERNAME() ou USERPRINCIPALNAME()) e será responsável por realizar os filtros utilizando esse e-mail, com base nas regras criadas.
Nessa forma de aplicar os filtros automaticamente de acordo com o usuário, é necessário manter no seu modelo uma tabela com os usuários e permissões de acordo com a regra do RLS ou OLS.
A tabela abaixo exemplifica um modelo contendo as informações de e-mails dos gerentes de um determinado relatório.
Relacionamento entre as tabelas, ou seja sua tabela vai estar vinculada a uma fato que contém as informações.
Ao publicar essa relatório, a regra passa a ser visualizada no portal, é só selecionar a mesma e a regra será aplicada, diferente da estática aqui você não atribui um usuário a regra, somente clica na regra que deseja aplicar.
Relatório normal sem a regra existentes:
Relatório com regra de rls existente no modelo utilizando a RLS dinâmica:
A regra de RLS é aplicada utilizando a função UserPrincipalName() para identificar qual usuário está logado e realizar o filtro nas outras tabelas também, ou seja o usuário só consegue visualizar as informações pertinentes a ele.
Observação: Quando criar uma regra de RLS, é necessário associá-la a um usuário, caso contrário ele não conseguirá visualizar os relatórios, e uma mensagem como esta será exibida.