Blog

Postado em em 1 de agosto de 2022

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

rls o que é

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. 

Quer saber mais sobre o controle de acesso RLS Power BI? Confira!

O que é RLS? 

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.

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 aprender a construir um Dashboard em Excel do zero? Se inscreva gratuitamente na Jornada do Excel!