O POWER BI É PARA VOCÊ

Ter visão 360º de sua empresa já é possível com
o Microsoft Power BI.

Fevereiro 14, 2020

A RLS (segurança em nível de linha) com o Power BI pode ser usada para restringir o acesso a dados para determinados usuários. Os filtros restringem o acesso a dados no nível da linha e você pode definir filtros nas funções. Lembre-se de que, no serviço do Power BI, os membros de um workspace têm acesso a conjuntos de dados no workspace. A RLS não restringe esse acesso a dados.

É possível configurar a RLS de modelos de dados importados para o Power BI com o Power BI Desktop. Você também pode configurar RLS em conjuntos de dados que estão usando DirectQuery, como o SQL Server. Anteriormente, você conseguia apenas implementar a RLS nos modelos do Analysis Services local fora do Power BI. Para as conexões dinâmicas do Analysis Services, configure a Segurança em nível de linha no modelo local. A opção de segurança não será exibida para conjuntos de dados com conexão dinâmica.

Definir funções e regras no Power BI Desktop

É possível definir funções e regras no Power BI Desktop. Quando você publica no Power BI, ele também publica as definições de função.

Para definir funções de segurança, siga estas etapas.

  1. Importe os dados para o relatório do Power BI Desktop ou configure uma conexão do DirectQuery.

     Observação

    Você não pode definir funções no Power BI Desktop BI para as conexões dinâmicas do Analysis Services. Você precisa fazer isso no modelo do Analysis Services.

  2. Selecione a guia Modelagem.

  3. Selecione Gerenciar Funções.

  4. Selecione Criar.

  5. Forneça um nome para a função.

  6. Selecione a tabela à qual você deseja aplicar uma regra DAX.

  7. Insira as expressões DAX. Essa expressão deve retornar true ou false. Por exemplo: [ID da Entidade] = “Valor”.

     Observação

    Você pode usar o username() nesta expressão. Lembre-se de que username() terá o formato DOMÍNIO\nomedeusuário no Power BI Desktop. Dentro do serviço do Power BI e do Servidor de Relatórios do Power BI, ele está no formato do nome UPN do usuário. Como alternativa, você pode usar userprincipalname() , que sempre retorna o usuário no formato de seu nome UPN, nome de usuário@contoso.com.

  8. Depois de criar a expressão DAX, você pode selecionar a seleção acima da caixa de expressão para validar a expressão.

     Observação

    Nessa caixa de expressão, use vírgulas para separar argumentos da função DAX, mesmo que esteja usando uma localidade que normalmente usa separadores de ponto e vírgula (por exemplo, francês ou alemão).

  9. Selecione Salvar.

Não é possível atribuir usuários a uma função no Power BI Desktop. Você pode atribuí-los no serviço do Power BI. É possível habilitar a segurança dinâmica no Power BI Desktop fazendo uso das funções DAX username() ou userprincipalname() e configurando as relações corretas.

Por padrão, a filtragem de segurança em nível de linha usa filtros unidirecionais, independentemente se as relações forem definidas para unidirecional ou bidirecional. Habilite manualmente o filtro cruzado bidirecional com a segurança em nível de linha selecionando a relação e marcando a caixa de seleção Aplicar filtro de segurança em ambas as direções. Você deverá marcar essa caixa quando também tiver implementado a segurança dinâmica em nível de linha no nível do servidor, em que a segurança em nível de linha se baseia no nome de usuário ou na ID de logon.

Para obter mais informações, consulte Filtragem cruzada bidirecional usando o DirectQuery no Power BI Desktop e o artigo técnico Protegendo o modelo semântico de BI de tabela.

Aplicar filtro de segurança

Validar as funções dentro do Power BI Desktop

Depois de criar sua função, você poderá testar os resultados da função no Power BI Desktop.

  1. Selecione Exibir Como Funções.

    Em Exibir como funções, você pode ver as funções que criou.

  2. Selecione a função criada > OK para aplicá-la. Os relatórios renderizam somente os dados relevantes para essa função.

  3. Você também pode selecionar Outro usuário e fornecer um determinado usuário. É melhor fornecer o nome UPN, é ele que será usado pelo serviço do Power BI e pelo Servidor de Relatórios do Power BI.

  4. Selecione OK e os relatórios serão renderizados com base no que esse usuário pode ver.

No Power BI Desktop, a opção Outro usuário somente exibirá resultados diferentes se você estiver usando a segurança dinâmica com base em expressões DAX.

Gerenciar a segurança no modelo

Para gerenciar a segurança no modelo de dados, é necessário fazer o seguinte.

  1. Selecione as reticências (...) para um conjunto de dados.

  2. Selecione Segurança.

    Aplicar filtro de segurança em ambos os sentidos

Você será levado à página da RLS para adicionar membros a uma função criada no Power BI Desktop. Somente os proprietários do conjunto de dados verão a opção Segurança disponível. Se o conjunto de dados está em um Grupo, somente os Administradores do grupo encontrarão a opção de segurança.

Você só pode criar ou modificar funções no Power BI Desktop.

Trabalhando com membros

Adicionar membros

É possível adicionar um membro à função digitando o endereço de email, o nome do usuário, o grupo de segurança ou a lista de distribuição que você deseja adicionar. Não é possível adicionar Grupos criados no Power BI. Você pode adicionar membros externos à sua organização.

Adicionar um membro

Você também pode ver quantos membros fazem parte da função pelo número entre parênteses ao lado do nome da função ou ao lado de Membros.

Membros na função

Remover membros

É possível remover membros selecionando o X ao lado do nome.

Remover membro

Validando a função no serviço do Power BI

Você pode validar que a função definida está funcionando corretamente ao testar a função.

  1. Selecione Mais opções (...) ao lado da função.
  2. Selecione Testar dados como função

Testar como função

Então, você verá os relatórios que estão disponíveis para essa função. Os painéis de controle não são apresentados nessa exibição. Na barra azul acima, você verá o que está sendo aplicado.

Exibindo agora como <função>

Você pode testar outras funções ou uma combinação de funções, selecionando Exibindo agora como.

Testar outras funções

Você pode optar por exibir dados como uma pessoa específica ou pode selecionar uma combinação de funções disponíveis para validar que estão funcionando.

Para retornar à exibição normal, selecione Voltar à Segurança de Nível de Linha.

Usando a função DAX username() ou userprincipalname()

Você pode tirar proveito das funções DAX username() ou userprincipalname() dentro de seu conjunto de dados. Você pode usá-las dentro de expressões no Power BI Desktop. Quando você publicar seu modelo, ele será usado no serviço do Power BI.

No Power BI Desktop, username() retorna um usuário no formato DOMÍNIO\Usuário e userprincipalname() retorna um usuário no formato user@contoso.com.

No serviço do Power BI, username() e userprincipalname() retornam o nome UPN do usuário. Isso se parece com um endereço de email.

Usando RLS com workspaces no Power BI

Se você publicar seu relatório do Power BI Desktop em um workspace no serviço do Power BI, as funções serão aplicadas aos membros somente leitura. Será necessário indicar que os membros só podem exibir o conteúdo do Power BI nas configurações de workspace.

 Aviso

Se você tiver configurado o workspace para que os membros tenham permissões de edição, as funções RLS não serão aplicadas a eles. Os usuários poderão ver todos os dados.

Configurações de grupo

Limitações

Veja a seguir uma lista com as limitações atuais da Segurança em Nível de Linha nos modelos de nuvem.

  • Se você definiu funções e regras anteriormente no serviço do Power BI, deverá criá-las novamente no Power BI Desktop.

  • Você pode definir a RLS somente nos conjuntos de dados criados com o Power BI Desktop. Se desejar habilitar a RLS para conjuntos de dados criados com o Excel, deverá primeiro converter os arquivos em arquivos PBIX (Power BI Desktop). Saiba mais

  • Há suporte apenas para conexões de Importação e DirectQuery. Conexões dinâmicas do Analysis Services são tratadas no modelo local.

Problemas conhecidos

Há um problema conhecido em que você obterá uma mensagem de erro se tentar publicar um relatório publicado anteriormente no Power BI Desktop. O cenário é descrito a seguir.

  1. Sara tem um conjunto de dados que foi publicado no serviço do Power BI e ela configurou a RLS.

  2. Sara atualiza o relatório no Power BI Desktop e o publica novamente.

  3. Sara recebe um erro.

Solução alternativa: Publique novamente o arquivo do Power BI Desktop por meio do serviço do Power BI até que esse problema seja resolvido. Você pode fazer isso selecionando Obter Dados > Arquivos.

PERGUNTAS FREQUENTES

Pergunta: E se eu já tiver criado funções e regras para um conjunto de dados no serviço do Power BI? Elas ainda funcionariam se eu não fizesse nada?
Resposta: Não, os visuais não seriam renderizados corretamente. Você precisará recriar as funções e regras no Power BI Desktop e, em seguida, publicá-las no serviço do Power BI.

Pergunta: Posso criar essas funções para fontes de dados do Analysis Services?
Resposta: Sim, isso é possível se você importou os dados no Power BI Desktop. Se você estiver usando uma conexão dinâmica, não poderá configurar a RLS no serviço do Power BI. Isso é definido no modelo local do Analysis Services.

Pergunta: Posso usar a RLS para limitar as colunas ou as medidas acessíveis por meus usuários?
Resposta: Não, se um usuário tiver acesso a uma linha específica de dados, ele poderá ver todas as colunas de dados dessa linha.

Pergunta: A RLS permite ocultar dados detalhados, mas conceder acesso aos dados resumidos nos visuais?
Resposta: Não. Você protege linhas individuais de dados, mas os usuários sempre podem ver os detalhes ou os dados resumidos.

Pergunta: Minha fonte de dados já tem funções de segurança definidas (por exemplo, funções do SQL Server ou funções do SAP BW). Qual é a relação entre essas funções e a RLS?
Resposta: A resposta depende de você estar importando dados ou usando o DirectQuery. Se você estiver importando dados para o conjunto de dados do Power BI, as funções de segurança em sua fonte de dados não serão usadas. Nesse caso, você deve definir a RLS para impor regras de segurança para usuários que se conectam ao Power BI. Se você estiver usando o DirectQuery, as funções de segurança em sua fonte de dados serão usadas. Quando um usuário abre um relatório, o Power BI envia uma consulta para a fonte de dados subjacente, que aplica as regras de segurança aos dados com base nas credenciais do usuário.

Tags: