Ajuda – Row Level Security (RLS) e Object Level Security (OLS)

Ajuda - Row Level Security (RLS) e Object Level Security (OLS)

Segurança

Segurança a nível de linhas é amplamente utilizada para aplicar filtros nos modelos de dados e garantir que os usuários vejam apenas as informações pertinentes. No Power Embedded, oferecemos suporte tanto para RLS (Row-Level Security) quanto para OLS (Object-Level Security). Abaixo estão algumas informações para ajudar no entendimento.

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.

Notes: 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.

Rls com Direct query no Power BI

Se você se deparar com o erro abaixo ao tentar acessar o relatório, é muito provável que a tabela que contém a regra de RLS esteja utilizando a conexão Direct Query.

O Direct Query é amplamente utilizado para acessar dados em tempo real. No entanto, é importante destacar que as regras de Row-Level Security (RLS) não se aplicam diretamente às tabelas conectadas via Direct Query no Power BI. Isso acontece porque a configuração dessas regras, quando se utiliza Direct Query, deve ser feita no nível do banco de dados, e não no Power BI. Por isso, é importante alterar a conexão da tabela para os modos Import ou Dual, caso seja necessário aplicar essas regras.

Para alterar a conexão da tabela, siga os passos abaixo:

  1. Abra o Power BI Desktop.
  2. Vá para a “Exibição do Modelo“.
  3. Selecione a tabela que possui regras de RLS e está conectada via Direct Query.
  4. Acesse o menu “Avançado”, conforme mostrado na imagem.
  5. Altere o modo de armazenamento para “Importar” ou “Dual”.

Ao seguir o passo a passo anterior, um aviso como o mostrado na imagem aparecerá na tela. Basta clicar em “OK” e prosseguir. Após realizar esse processo, é só publicar o relatório novamente.

Agora irá conseguir ver suas informações.

Power Embedded
Privacy Overview

This website uses cookies so that we can provide you with the best user experience possible. Cookie information is stored in your browser and performs functions such as recognising you when you return to our website and helping our team to understand which sections of the website you find most interesting and useful.