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