Novo recurso: Segurança a nível de linha (RLS) estático

Novo recurso: Segurança a nível de linha (RLS) estático

O RLS dinâmico

O Power BI Embedded já suporta o recurso de Segurança a nível de linha (RLS) há um bom tempo, onde você cria uma role no seu modelo do Power BI, implementa as regras de segurança e filtros necessários, especifica o nome da role que deve ser usada para filtrar as permissões e o sistema usa essa role para todos os usuários que visualizem o relatório, deixando toda a gestão das permissões em um único local e permitindo usar DAX para tratar todas as regras.

Nesse formato, a regra de RLS, criada no Power BI Desktop, receberá o e-mail do usuário que está acessando o relatório e será responsável por realizar os filtros utilizando esse e-mail, com base nas regras criadas e nesse caso, é necessário manter no seu modelo uma tabela com os usuários e permissões de acordo com a regra do RLS.

Talvez seja necessário alterar a tabela de permissões para permitir filtros em diferentes níveis de hierarquia e usar funções DAX para configurar usuários com acesso total (sem o RLS).

A configuração do RLS dinâmico é feita na tela de edição do relatório, conforme a tela abaixo, onde você deverá informar o nome da role que será aplicada para todos os usuários que forem visualizar.

 

O RLS estático

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 o RLS estático, que é mais simples de configurar, mas apresenta performance pior e é mais difícil de gerenciar as permissões.

Esse é o formato que é utilizado pelo Power BI serviço para definir o RLS.

Para acessar a tela do RLS estático, vá na página de relatórios, clique no botão de “Ações” e clique no item do menu “Segurança”

Nesse formato, você irá visualizar a lista das roles que existem nesse modelo.

Clique no botão “Gerenciar” para visualizar a lista de usuários e grupos do sistema e adicioná-los nessa role, para esse modelo.

Agora basta salvar nessa tela para confirmar as alterações e ativar o RLS nesse relatório.

Caso o seu relatório tenha uma role RLS definida, não se esqueça de adicionar todos os usuários que vão acessar o relatório em alguma role RLS, dinâmica ou estática, caso contrário, essa pessoa irá ver uma mensagem de erro ao tentar visualizar o relatório.

 

Como funciona o fluxo do RLS no sistema

  1. Ao visualizar o relatório, o sistema irá verificar se o usuário logado está em alguma das roles estáticas, seja com acesso direto ou pelo grupo. Caso o usuário esteja associado, essa role será enviada para renderizar o relatório.
  2. Caso o usuário logado não esteja em nenhuma role estática, então o sistema irá verificar se existe alguma role dinâmica cadastrada. Se houver, ela será utilizada.
  3. Se nenhum dos cenários acima for verdadeiro, então o sistema não irá enviar nenhuma role para o RLS, e irá considerar que o relatório não possui regras de RLS.

 

Observações:

  • Como o comportamento é igual ao do Power BI serviço, o mais comum é um usuário estar em apenas 1 role por relatório. Caso ele esteja em mais de 1 role, o comportamento do RLS pode ser um pouco diferente do esperado (como já acontece no Power BI serviço).
  • Caso exista alguma regra de RLS criada no relatório e a role não for informada pelo sistema, será gerada uma mensagem de erro ao tentar visualizar o relatório, seja porque o usuário não está em nenhuma role estática ou porque o nome da role dinâmica não foi especificado.

Deixe um comentário

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *