Partilhar via


Segurança em nível de linha (RLS) no Servidor de Relatório do Power BI

Configurar a segurança em nível de linha (RLS) com o Servidor de Relatório do Power BI pode restringir o acesso a dados para determinados usuários. Os filtros restringem o acesso aos dados no nível da linha e você pode definir filtros dentro das funções. Se você estiver usando as permissões padrão no Servidor de Relatório do Power BI, qualquer usuário com permissões do Publicador ou do Gerenciador de Conteúdo para o relatório do Power BI poderá atribuir membros a funções para esse relatório.

Configurar RLS para relatórios importados para o Power BI com o Power BI Desktop. Você também pode configurar RLS em relatórios que usam DirectQuery, como o SQL Server. Lembre-se de que a RLS não será respeitada se sua conexão DirectQuery usar autenticação integrada para leitores de relatórios. Para conexões em tempo real do Analysis Services, você configura a segurança em nível de linha no modelo local. A opção de segurança não aparece para conjuntos de dados de conexão em tempo real.

Definir funções e regras no Power BI Desktop

Você pode definir funções e regras no Power BI Desktop. Ao publicar no Power BI, você também publica as definições de função.

Para definir funções de segurança:

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

    Nota

    Não é possível definir funções no Power BI Desktop para conexões em tempo real do Analysis Services. Você precisa fazer isso dentro do modelo do Analysis Services.

  2. Na guia Modelagem, selecione Gerenciar funções.

    Captura de ecrã do separador Modelação, realçando Gerir funções.

  3. Na janela Gerenciar funções, selecione Criar.

    Captura de ecrã da janela Gerir funções, realçando Criar.

  4. Em Funções, forneça um nome para a função.

    Nota

    Não é possível definir uma função com uma vírgula, por exemplo London,ParisRole.

  5. Em Tabelas, selecione a tabela à qual deseja aplicar uma regra DAX (Expressão de Análise de Dados).

  6. Na caixa Expressão DAX do filtro de tabela, insira as expressões DAX. Essa expressão retorna um valor de true ou false. Por exemplo: [Entity ID] = “Value”.

    Captura de tela da janela Gerenciar funções, destacando um exemplo de expressão DAX.

    Nota

    Você pode usar username() dentro desta expressão. Lembre-se de que username() tem o formato de DOMAIN\username no Power BI Desktop. No serviço do Power BI e no Servidor de Relatório do Power BI, ele está no formato UPN (Nome Principal do Usuário) do usuário. Como alternativa, você pode usar userprincipalname(), que sempre retorna o usuário no formato de seu nome principal de usuário, username@contoso.com.

  7. Depois de criar a expressão DAX, selecione a marca de seleção acima da caixa de expressão para validar a expressão.

    Captura de tela da janela de expressão DAX do filtro de tabela, realçando a marca de seleção.

    Nota

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

  8. Selecione Guardar.

Não é possível atribuir usuários a uma função no Power BI Desktop. Você os atribui no serviço do Power BI. Você pode habilitar a segurança dinâmica no Power BI Desktop usando as funções DAX username() ou userprincipalname() e tendo as relações adequadas configuradas.

Filtragem cruzada bidirecional

Por padrão, a filtragem de segurança em nível de linha usa filtros unidirecionais, independentemente de as relações estarem definidas como direção única ou bidirecional. Você pode habilitar manualmente o filtro cruzado bidirecional com segurança em nível de linha.

  • Selecione a relação e marque a caixa de seleção Aplicar filtro de segurança em ambas as direções .

    Aplicar filtro de segurança

Marque esta caixa ao implementar a segurança dinâmica em nível de linha com base no nome de usuário ou ID de login.

Para saber mais, consulte Filtragem cruzada bidirecional usando DirectQuery no Power BI Desktop e o whitepaper técnico Protegendo o Modelo Semântico de BI Tabular.

Validar as funções no Power BI Desktop

Depois de criar suas funções, teste os resultados das funções no Power BI Desktop.

  1. Na guia Modelagem, selecione Exibir como.

    Captura de ecrã do separador Modelação, realçando Ver como.

    A janela Exibir como funções é exibida, onde você vê as funções que criou.

    Captura de ecrã da janela Ver como funções com Nenhuma selecionada.

  2. Selecione uma função que você criou. Em seguida, escolha OK para aplicar essa função.

    O relatório torna os dados relevantes para essa função.

  3. Você também pode selecionar Outro usuário e fornecer um determinado usuário.

    Captura de ecrã da janela Ver como funções com um utilizador de exemplo introduzido.

    É melhor fornecer o UPN (Nome Principal do Usuário) porque é isso que o serviço do Power BI e o Servidor de Relatório do Power BI usam.

    No Power BI Desktop, Outro usuário exibe resultados diferentes somente se você estiver usando segurança dinâmica com base em suas expressões DAX. Nesse caso, você precisa incluir o nome de usuário, bem como a função.

  4. Selecione OK.

    O relatório é renderizado com base no que os filtros RLS permitem que o usuário veja.

    Nota

    O recurso Exibir como funções não funciona para modelos DirectQuery com SSO (Single Sign-On) habilitado.

Adicionar membros a funções

Depois de salvar seu relatório no Servidor de Relatório do Power BI, você gerencia a segurança e adiciona ou remove membros no servidor. Somente os usuários com permissões de Publicador ou Gerenciador de Conteúdo para o relatório têm a opção de segurança em nível de linha disponível e não acinzentada.

Se o relatório não tiver as funções necessárias, você precisará abri-lo no Power BI Desktop, adicionar ou modificar funções e salvá-lo novamente no Servidor de Relatório do Power BI.

  1. No Power BI Desktop, salve o relatório no Servidor de Relatório do Power BI. Você precisa usar a versão do Power BI Desktop para o Servidor de Relatório do Power BI.

  2. No Serviço de Relatório do Power BI, selecione as reticências (...) ao lado do relatório.

  3. Selecione Gerenciar>segurança em nível de linha.

    Gerenciar a segurança em nível de linha

    Na página Segurança em nível de linha, você adiciona membros a uma função criada no Power BI Desktop.

  4. Para adicionar um membro, selecione Adicionar membro.

  5. Digite o usuário ou grupo na caixa de texto no formato Nome de usuário (DOMÍNIO\usuário) e selecione as funções que deseja atribuir a eles. O membro tem que estar dentro da sua organização.

    Adicionar membro à função

    Dependendo de como você configurou o Ative Directory, inserir o Nome Principal do Usuário aqui também funciona. Nesse caso, o Servidor de Relatório mostra o nome de usuário correspondente na lista.

  6. Clique em OK para aplicar.

  7. Para remover membros, marque a caixa ao lado de seus nomes e selecione Excluir. Você pode excluir vários membros ao mesmo tempo.

    Excluir membros

username() e userprincipalname()

Você pode aproveitar as funções DAX username() ou userprincipalname() em seu conjunto de dados. Você pode usá-los em expressões no Power BI Desktop. Quando você publica seu modelo, o Servidor de Relatório do Power BI os usa.

No Power BI Desktop, username() retorna um usuário no formato DOMAIN\User e userprincipalname() retorna um usuário no formato de user@contoso.com.

No Servidor de Relatório do Power BI, username() e userprincipalname() retornam o UPN (Nome Principal do Usuário) do usuário, que é semelhante a um endereço de email.

Se você estiver usando a autenticação personalizada no Servidor de Relatório do Power BI, ela retornará o formato de nome de usuário que você configurou para os usuários.

Considerações e limitações

Aqui estão as limitações atuais para segurança em nível de linha em modelos do Power BI.

Os usuários que tinham relatórios usando a função DAX username() notarão um novo comportamento agora onde o Nome Principal do Usuário (UPN) é retornado EXCETO ao usar o DirectQuery com segurança integrada. Como a RLS não é respeitada nesse cenário, o comportamento nesse cenário permanece inalterado.

Você pode definir RLS somente em conjuntos de dados criados com o Power BI Desktop. Para habilitar a RLS para conjuntos de dados criados com o Excel, você deve converter seus arquivos em arquivos do Power BI Desktop (PBIX) primeiro. Saiba mais sobre como converter arquivos do Excel.

Somente conexões Extract, Transform, Load (ETL) e DirectQuery usando credenciais armazenadas são suportadas. As conexões em tempo real com conexões do Analysis Services e do DirectQuery usando autenticação integrada são tratadas na fonte de dados subjacente.

Se você estiver usando a segurança integrada com o DirectQuery, seus usuários poderão notar:

  • A RLS está desativada e todos os dados são retornados.
  • Os usuários não podem atualizar suas atribuições de função e recebem um erro na página Gerenciar RLS.
  • Para a função de nome de usuário DAX, você continua a receber o nome de usuário como DOMAIN\USER.

Os autores de relatórios não têm acesso para exibir os dados do relatório no Servidor de Relatórios do Power BI até que tenham atribuído a si mesmos funções de acordo após carregar o relatório.

As atribuições de função por meio de associações de grupo só são suportadas quando o Servidor de Relatório do Power BI está configurado para ser executado com autenticação NTLM ou Kerberos. Os servidores que executam com autenticação personalizada ou Windows Basic precisam de usuários explicitamente atribuídos a funções.

FAQ

Posso criar essas funções para fontes de dados do Analysis Services?

Você pode se importou os dados para o Power BI Desktop. Se você estiver usando uma conexão ao vivo, não poderá configurar a RLS no serviço do Power BI. A RLS é definida dentro do modelo local do Analysis Services.

Posso usar a RLS para limitar as colunas ou medidas acessíveis aos meus utilizadores?

N.º Se um usuário tiver acesso a uma determinada linha de dados, ele poderá ver todas as colunas de dados dessa linha.

A RLS permite-me ocultar dados detalhados, mas dá acesso a dados resumidos em elementos visuais?

Não, você protege linhas individuais de dados, mas os usuários sempre podem ver os detalhes ou os dados resumidos.

Posso adicionar novas funções no Power BI Desktop se já tiver funções e membros existentes atribuídos?

Sim, se você já tiver funções existentes definidas e membros atribuídos no Servidor de Relatório do Power BI, poderá criar funções adicionais e publicar novamente seu relatório sem efeito em suas atribuições atuais.

Tem dúvidas? Tente perguntar à Comunidade do Power BI