A RLS (segurança em nível de linha) com o Power BI Desktop pode ser usada para restringir o acesso a dados para determinados usuários. Os filtros restringem os dados no nível da linha. É possível definir filtros nas funções.

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

Importante:

Se você tiver definido funções/regras no serviço do Power BI, será necessário recriar essas funções no Power BI Desktop e publicar o relatório no serviço.

Saiba mais sobre as opções para a RLS no serviço do Power BI.

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.

Se você quiser tirar proveito da segurança dinâmica, precisará habilitar a opção de visualização Habilitar filtragem cruzada em ambas as direções para o DirectQuery. Isso permitirá a capacidade de filtrar de modo cruzado e aplique o filtro de segurança em ambas as direções.

Para definir funções de segurança, faça o seguinte:

  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ê precisará 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\nomeusuário no Power BI Desktop. No serviço do Power BI, ele estará no formato do UPN do usuário. Como alternativa, é possível usar userprincipalname(), que sempre retornará o usuário no formato de seu nome UPN.

  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.

  9. Selecione Salvar.

Não é possível atribuir usuários a uma função no Power BI Desktop. Isso é feito 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.

Validando a função no Power BI Desktop

Depois de criar sua função, você poderá testar os resultados da função no Power BI Desktop. Para fazer isso, selecione Exibir Como Funções.

A caixa de diálogo Exibir como funções permite alterar a exibição do que você está vendo para esse usuário ou função específica. Você verá as funções criadas.

Selecione a função criada e OK para aplicar essa função ao que está sendo exibido. Os relatórios somente renderizarão os dados relevantes a essa função.

Você também pode selecionar Outro usuário e fornecer um usuário específico. É melhor fornecer o nome UPN, pois esse é o que será usado pelo serviço do Power BI. Selecione OK e os relatórios serão renderizados com base no que esse usuário pode ver.

Observação:

No Power BI Desktop, isso exibirá apenas resultados diferentes se você estiver usando a segurança dinâmica com base nas expressões DAX.

Limitações

Veja a seguir uma lista das limitações atuais da segurança em nível de linha nos modelos de nuvem.

  • Se você já tinha funções/regras definidas no serviço do Power BI, precisará recriá-las no Power BI Desktop.
  • É possível definir a RLS somente nos conjuntos de dados criados usando o cliente do Power BI Desktop. Se desejar habilitar a RLS para conjuntos de dados criados com o Excel, será necessário converter os arquivos em arquivos PBIX primeiro. Saiba mais
  • Somente conexões ETL e DirectQuery têm suporte. Conexões dinâmicas do Analysis Services são tratadas no modelo local.
  • No momento, não há suporte para a P e R nem para a Cortana na RLS. Você não verá a caixa de entrada da P e R para os dashboards se todos os modelos tiverem a RLS configurada. Isso está em nossos planos, mas ainda não há um cronograma disponível.
  • Atualmente, não há suporte para o compartilhamento externo com conjuntos de dados que usam RLS.
  • Para qualquer modelo fornecido, o número máximo de entidades do Azure AD (ou seja, usuários individuais ou grupos de segurança) que podem ser atribuídos a funções de segurança é 1.000. Para atribuir grandes números de usuários a funções, certifique-se de atribuir grupos de segurança em vez de usuários individuais.

Problemas conhecidos

Há um problema conhecido em que você receberá uma mensagem de erro quando tentar publicar por meio do Power BI Desktop se ele já tiver sido publicado anteriormente. 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. Ela receberá um erro.

Solução alternativa: publique novamente o arquivo do Power BI Desktop no serviço do Power BI até que esse problema seja resolvido. Faça isso selecionando Obter Dados > Arquivos.

PERGUNTAS FREQUENTES

Pergunta: E se eu já tiver criado funções/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ê precisaria recriar as funções/regras no Power BI Desktop e publicá-las no serviço de Power BI.

Pergunta: Posso criar essas funções para fontes de dados do Analysis Services?
Resposta: Sim, é 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 em visuais?
Resposta: Não. Você protege linhas individuais de dados, mas os usuários sempre podem ver os detalhes ou os dados resumidos.

Próximas etapas

RLS (segurança em nível de linha) com o serviço do Power BI

Mais perguntas? Experimente perguntar à Comunidade do Power BI