Blog

Postado em em 1 de agosto de 2022

RLS O que é, como definir e validar as funções?

Você sabe como restringir acesso de determinadas abas do seu dashboard a um grupo de pessoas? O RLS torna isso possível. Aprenda Hoje!

Fala impressionadores! Temos duas aulas sobre RLS disponíveis com diferentes formas de aplicação:

Caso prefira esse conteúdo no formato de vídeo-aula, assista ao vídeo abaixo ou acesse o nosso canal do YouTube!

rls o que é

O que é RLS? 

RLS é a sigla para Row-Level Security ou segurança em nível de linha. O RLS Power BI, por mais complexo que seja, é um filtro no seu modelo de dados.

Cada organização possui uma política de segurança da informação específica, certo? Com os conceitos de segurança RLS Power BI, você conseguirá utilizar a base para solucionar problemas. 

RLS ou Row-Level Security é segurança em nível de linha com o Power BI. Ela é utilizada para restringir o acesso a dados para determinados usuários por meio de filtros. 

Em palavras simples, sua finalidade é restringir as linhas que ficarão visíveis para determinado usuário. Se você não prestou atenção, fique atento: a RLS só se aplica a linhas.

Para implementar esse controle de acesso, é preciso conhecer as formas de configuração. Pode, inclusive, exigir funções DAX complexas dependendo da regra de negócio da empresa.

De maneira simplificada, as etapas são: 

  1. Definir regras de acesso no Power BI Desktop e testá-las
  2. Publicar o relatório no Power BI Online
  3. Atribuir as regras de acesso aos usuários
  4. Compartilhar com os usuários

Veja a seguir como definir as funções e regras do RLS no Power BI.

Como definir as funções e regras no Power BI?

funções e regras power bi

A segurança RLS Power BI deve ser definida a partir de funções e regras. Mas como defini-las? Basta seguir este simples passo a passo:

  1. Configure uma conexão do DirectQuery ou importe os dados para o relatório do Power BI Desktop. Se for o caso de conexões dinâmicas do Analysis Services, defina as funções no modelo do Analysis Services. Não será possível, neste caso, definir funções no Power BI Desktop.
  2. Clique na guia Modelagem (Modeling) e selecione Gerenciar Funções (Manage roles).
  3. Na janela Gerenciar funções, clique em Criar
  4. Em Funções, dê um nome para a função.
  5. Em Tabelas, selecione uma tabela para aplicar uma regra DAX.
  6. Na caixa “Expressão DAX da tabela de filtro”, insira as expressões DAX, que retorna verdadeiro ou falso. Nesta expressão, você poderá usar username(), sobre o qual falaremos adiante.
  7. Após criar a expressão DAX, selecione a marca de seleção para validá-la. Ela fica acima da caixa de expressão. A propósito, nesta caixa, use vírgulas para separar argumentos da função DAX. Isso se aplica igualmente se você usar uma localidade que usa separadores de ponto e vírgula.
  8. Clique em Salvar.

No Power BI Desktop, você não conseguirá atribuir usuários a uma função. Mas isso pode ser feito no serviço do Power BI, ok? 

Uma pergunta comum na hora de definir funções e regras do RLS é sobre a filtragem bidirecional. Será que é possível?

Por padrão, essa filtragem de segurança usa filtros unidirecionais. Não importa se as relações estão definidas como unidirecionais ou bidirecionais. Porém, é possível habilitar manualmente a filtragem cruzada bidirecional.

Basta selecionar a relação e marcar a caixa de seleção “Aplicar filtro de segurança em ambas as direções”. 

Você deve selecionar essa opção após implementar a segurança dinâmica no nível da linha no nível do servidor. Neste caso, a segurança no nível da linha se baseia na ID de logon ou no nome de usuário.

Como validar as funções dentro do Power BI? 

Após criar a função, é preciso testar os resultados dela no Power BI Desktop. O processo é bem simples:

  1. Na guia Modelagem (Modeling), clique em Exibir como (View as). Será exibida a janela “Exibir como funções”, onde você poderá ver as funções que criou.
  2. Selecione a função criada e clique em OK para aplicá-la. Com isso, os relatórios renderizam apenas os dados relevantes para essa função.
  3. Você também pode selecionar “Outro usuário” para fornecer um determinado usuário. Nossa dica aqui é fornecer o nome UPN, que será utilizado pelo serviço do Power BI e pelo Servidor de Relatórios do Power BI. Esta opção no Power BI Desktop exibirá resultados diferentes caso você esteja utilizando a segurança dinâmica com base nas expressões DAX.
  4. Selecione OK, e o relatório será renderizado baseando-se no que esse usuário pode ver. 

Uma observação importante sobre o recurso “Exibir como função” é que ele não funciona para modelos DirectQuery com SSO (Sign-On único) habilitado.

Após a conclusão da validação das funções no Power BI Desktop, é só publicar seu relatório no serviço do Power BI.

Como adicionar membros?

Com o RLS, é possível adicionar membros à função com endereço de email, nome de usuário ou grupo de segurança. Grupos criados no Power BI não são permitidos, e os grupos do Office 365 não são compatíveis. 

Você pode adicionar membros externos à sua empresa e usar os seguintes grupos para configurar o RLS power bi: 

  • Grupo habilitado para email;
  • Grupo de distribuição;
  • Grupo de Segurança.

Ao lado do nome da função ou ao lado do campo “Membros”, você poderá ver quantos membros fazem parte da função.

Como remover membros?

Você pode remover membros no RLS facilmente. Basta selecionar X ao lado do nome.

Como são as funções DAX UserName () e userprincipalname()?

As funções DAX username() ou userprincipalname() podem ser utilizadas dentro de seu conjunto de dados no Power BI Desktop. Após publicar seu modelo, serão utilizadas no serviço do Power BI. Veja:

  • Power BI Desktop: username() retorna um usuário no formato DOMÍNIO\nomedeusuário (DOMAIN\User), e userprincipalname() retornará um nome UPN do usuário.
  • Serviço do Power BI: username() e userprincipalname() retornam o nome UPN do usuário (semelhante a um endereço de email).

Essas funções DAX, ao configurar as relações corretas, permitem habilitar a segurança dinâmica no Power BI Desktop.

A RLS permite ocultar dados detalhados, mas conceder acesso aos dados resumidos nos visuais?

Não permite. Isso ocorre porque você consegue apenas proteger linhas individuais de dados. Contudo, os usuários podem ver os detalhes ou os dados resumidos.

Posso usar a RLS para limitar as colunas ou as medidas acessíveis por meus usuários?

Não pode. A RLS só se aplica a linhas. Se o usuário conseguir acessar uma linha específica de dados, poderá ver todas as colunas de dados desta linha.

rls e segurança

Qual a relação entre a RLS e outras funções de segurança? 

Outras funções de segurança, como funções do SQL Server ou funções do SAP BW, podem estar definidas. Teria relação com a RLS? 

Depende. Você está importando dados para o Power BI ou usando o DirectQuery? No primeiro caso, as funções de segurança em sua fonte de dados serão inutilizadas. Então, é preciso definir a RLS power bi para impor regras de segurança para usuários que se conectam ao Power BI. 

No segundo caso, as funções de segurança serão usadas. Se um usuário abre um relatório, o programa envia uma consulta para a fonte de dados subjacente. Ela aplica as regras de segurança aos dados com base nas credenciais daquele usuário.

Como Restringir Abas do Dashboard para Pessoas Diferentes

Caso prefira esse conteúdo no formato de vídeo-aula, assista ao vídeo abaixo ou acesse o nosso canal do YouTube!

Para receber por e-mail o(s) arquivo(s) utilizados na aula, preencha:

Fala Impressionadores! Na aula de hoje eu quero te mostrar como restringir abas no Dashboard do Power BI, ou seja, você vai conseguir restringir dados no Dashboard.

Dessa forma pode limitar a visualização apenas a uma aba específica, para que uma pessoa não consiga visualizar todas as outras informações.

Vale lembrar que isso não é uma funcionalidade nativa do Power BI, então vamos fazer alguns ajustes para que isso possa ser feito.

Para isso será utilizado o RLS (Row Level Security, que é segurança a nível de linha).

Nós já vimos na aula anterior uma forma de usar essa funcionalidade, nesta aula além do RLS vou passar pela parte de como criar navegação entre páginas do Power BI! Gostou? Então bora para o conteúdo!

Como Restringir Abas do Dashboard?

Para restringir o acesso as abas o primeiro passo é ocultar as abas da planilha, para fazer isso clique com o botão direito no mouse no nome da aba e selecione -> ocultar página, faça isso para todas as abas (hashtag, Lacoste e Reserva).

ocultar página
ocultar página

Agora essas abas estão ocultas quando o link é compartilhado de forma online.

Como criar o filtro do nosso dashboard?

Para criar este filtro inicial onde o usuário pode escolher o nome do dashboard que deseja ir e clicar em um botão para ser direcionado a ele é simples.

Primeiro você precisa criar no seu dashboard uma planilha com o nome de cada aba, este nome deve estar escrito idêntico a aba.

rls
Criar lista

Para criar essa tabela vá em página inicial -> inserir dados, coloque o nome da lista as marcas e o nome da tabela, clique em carregar.

Renomeie os campo e carregue
Renomeie os campo e carregue

Feito isso vamos criar uma segmentação de dados e colocar na segmentação de dados esta tabela com o nome das marcas que acabamos de criar

rls
segmentação de dados

Agora já temos a lista com o nome das abas só precisamos criar o botão, no caso deste dashboard já temos na imagem um botão desenhado, a única coisa que fizemos para habilitar o botão foi criar um botão em branco, colocar por cima da imagem do botão e programá-lo para nos encaminhar a aba selecionada no filtro.

Para programar o botão em branco basta que ele esteja selecionado -> clique em ação -> em Tipo coloque -> navegação na página e em Destino clique em Fx.

rls
Fx

Clicando em Fx vai aparecer mais um campo para completar, coloque no primeiro campo -> Valor do Campo -> no campo abaixo vamos selecionar -> Primeiras Marcas e no campo ao lado -> Primeiro.

rls
Ação

Essa é uma das forma de habilitar o botão, mas, se quiser aprender como fazer isso inserindo um link na imagem temos uma aula sobre este mesmo dashboard explicando de forma mais detalhada como fazer o filtro e o Botão de Navegação!

Para retornar ao menu precisamos apenas colocar um ícone programado para retornar ao menu em cada um dos 3 dashboards.

ícone de retorno
ícone de retorno

Como Restringir o Acesso das Pessoas aos Dashboards?

Vamos aprender agora como determinar qual pessoa terá acesso a determinado dashboard e qual não terá acesso ou terá o acesso total.

Na lista que fizemos das marcas vamos restringir a quantidade de marcas que uma pessoa pode acessar, a ideia é que se a pessoa só conseguir acessar uma marca da lista então vamos ter conseguido restringir as demais abas dela.

Vamos na guia Modelagem -> clique em Gerenciar funções -> Essa opção de gerenciar funções foi atualizada nas versões mais recentes do Power BI, para atualizar -> clique em arquivos no Power BI -> opções e configurações -> opções -> recursos de visualização -> selecione o editor de segurança aprimorado em nível de linha e reinicie o Power BI.

As funções servem para definir restrição, por exemplo, uma função só dá acesso a uma das abas da planilha, você pode atribuir aquela função uma pessoa da sua instituição, logo, essa pessoa tem acesso restrito a 1 única aba do dashboard.

Crie quantas opções de função precisar para contemplar as restrições de que precisa.

Para criar a função é simples -> clique em Novo -> Dê um nome a função (pode ser o nome da aba para ficar mais intuitivo) -> clique na coluna de marcas como mostra a imagem acima e do lado direito vai aparecer -> Mostrar os dados quando -> Complete colocando o nome da aba que você deseja liberar para a pessoa que tiver esta função atribuída, neste caso a função está dando acesso a aba Hashtag.

gerenciando funções
gerenciando funções

Crie uma função para cada aba desta forma e nomeie cada uma com o nome das abas para ficar bem intuitivo.

Definindo o acesso de cada pessoa nas abas!

O primeiro passo é salvar o relatório -> na guia página inicial clique em Publicar – > escolha sua área de trabalho e aguarde carregar.

Entre no Power BI online -> Meu Workspace -> Nele vamos ter acesso ao relatório e ao conjunto de dados -> passe o cursor do mouse próximo ao conjunto de dados, vai aparecer três pontinhos -> clique sobre eles e após isso -> clique em Segurança.

conjunto de dados
conjunto de dados

Feito isso, vamos ter acesso a todas as funções que criamos, para atribuir pessoas a elas basta clicar sobre a função e, em Membros coloque o e-mail da pessoa e adicione.

adicionar
adicionar

É importante destacar que, atribuir as pessoas, as funções, não basta para que elas tenham acesso ao dashboard, também é necessário compartilhar o dashboard com elas, para isso vamos clicar no relatório.

relatório
relatório

Feito isso, vai aparecer nosso dashboard -> clique em compartilhar (o botão de compartilhar logo acima do dashboard).

compartilhar
compartilhar

Logo em seguida vai aparecer uma caixa com o link do seu dashboard, copie o link e envie para as pessoas da sua organização.

Quando a pessoa utilizar o link ela terá acesso a aba que determinamos na função que esta pessoa está atribuída.

Detalhe importante

Como esse modo de compartilhamento não é de uma função específica do Power BI, na verdade, estamos fazendo alguns arranjos para poder restringir o acesso as abas do dashboard, podem ocorrer erros.

Um importante que devemos tratar é, se uma pessoa com acesso a uma determinada aba fornecer o link para outra pessoa que não deveria ter acesso, a pessoa mesmo sem o acesso, com o link em mãos pode ver a aba.

Como resolver este problema?

Para resolver o problema vamos voltar ao nosso relatório na guia Modelagem -> Gerenciar funções -> vamos acrescentar uma condição na nossa função.

A ideia aqui é que a nova condição impeça quem tem acesso a aba hashtag de ver as abas Lacoste e Reserva, para isso vamos colocar que, para a pessoa acessar essas outras abas ela tem que cumprir com essa nova condição, porém, vamos colocar uma condição impossível de ser cumprida.

Se a nova condição nunca puder ser satisfeita então a pessoa também não consegue ter acesso a aba mesmo que tenham o link.

Vamos a condição

No exemplo abaixo estamos trabalhando com a função Reserva em Funções, ao lado temos a parte de selecionar tabelas, como estamos trabalhando com a função Reserva o objetivo aqui é fazer com que a pessoa só tenha acesso a aba Reserva e NÃO as demais abas. Para isso vamos clicar nas outras abas hashtag e Lacoste criar para elas uma condição impossível.

Observe na imagem abaixo que a aba Lacoste da função Reserva só pode ser acessada se o ano da venda É igual A -> 1800.

Como não vamos ter venda do ano de 1800 este é um tipo de condição impossível que não será satisfeita, você pode colocar outras como uma marca que não existe, por exemplo, basta que seja impossível para restringir acesso.

restrição
restrição

Faça isso para todas as funções, restringindo as abas que não podem ser acessadas. Quando terminar atualize o relatório para carregar as modificações feitas.

Agora, quando a pessoa sem acesso conseguir o link de uma aba não autorizada, ela consegue abrir o dashboard, mas os gráficos e resultados ficam em branco.

Último detalhe importante – Como fazer com que uma pessoa tenha acesso a tudo?

A partir do momento que criamos as restrições não basta ir ao relatório acessar a segurança e retirar aquela pessoa da restrição, se você fizer isso o que vai acontecer é que a pessoa não terá mais acesso a aba nenhuma.

Após criar as restrições a forma mais simples para dar acesso a todo o relatório a uma pessoa é criando mais uma função que dê acesso ao relatório completo, ou seja, uma função sem nenhuma restrição, aí é só atribuir a esta função as pessoas com acesso total.

Obs. Sempre salve e carrega novamente as alterações.

Feito isso, na página do Power Bi online, volte em Segurança e a nova função já vai aparecer, atribua as pessoas e pronto, conseguimos conceder acesso total!

Quer aprender mais sobre Power BI com um minicurso gratuito

Conclusão

A RLS é segurança em nível de linha utilizada para restringir o acesso a dados para determinados usuários. Ela se aplica somente a linhas e depende da definição de funções e regras.

Ficou em dúvida sobre as fórmulas DAX sobre as quais falamos? Veja como sair do zero no Power BI

Hashtag Treinamentos

Para acessar outras publicações de Power BI, clique aqui!


Quer aprender mais sobre Power BI com um minicurso básico gratuito?

Quer sair do zero no Python e virar uma referência na sua empresa? Inscreva-se agora mesmo no Python Impressionador