Nota
O acesso a esta página requer autorização. Pode tentar iniciar sessão ou alterar os diretórios.
O acesso a esta página requer autorização. Pode tentar alterar os diretórios.
A segurança em nível de linha (RLS) com o Power BI pode ser usada para 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. No serviço do Power BI, os usuários com acesso a um espaço de trabalho têm acesso a modelos semânticos nesse espaço de trabalho. A RLS apenas restringe o acesso a dados para usuários com permissões de visualizador . Não se aplica a administradores, membros ou colaboradores.
Você pode configurar a RLS para modelos de dados importados para o Power BI com o Power BI. Você também pode configurar RLS em modelos semânticos que estão usando DirectQuery, como o SQL Server. Para conexões em tempo real do Analysis Services ou do Azure Analysis Services, você configura a segurança em nível de linha no modelo, não no Power BI. A opção de segurança não aparece para modelos semânticos de conexão ao vivo.
Definir funções e regras no Power BI Desktop
Você pode definir funções e regras no Power BI Desktop. With this editor, you can toggle between using the default drop-down interface and a DAX interface. Ao publicar no Power BI, você também publica as definições de função.
Para definir funções de segurança:
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.
Na guia Modelagem, selecione Gerenciar funções.
Na janela Gerenciar funções , selecione Novo para criar uma nova função.
Em Funções, forneça um nome para a função e selecione enter.
Nota
Não é possível definir uma função com uma vírgula, por exemplo
London,ParisRole
.Em Selecionar tabelas, selecione a tabela à qual pretende aplicar um filtro de segurança ao nível da linha.
Em Filtrar dados, use o editor padrão para definir suas funções. As expressões criadas retornam um valor verdadeiro ou falso.
Nota
Nem todos os filtros de segurança de nível de linha suportados no Power BI podem ser definidos usando o editor padrão. As limitações incluem expressões que hoje só podem ser definidas usando DAX, incluindo regras dinâmicas como username() ou userprincipalname(). Para definir funções usando esses filtros, alterne para usar o editor DAX.
Selecione, se desejar, Mudar para o editor DAX para passar a usar o editor DAX para definir a sua função. As expressões DAX retornam um valor de true ou false. Por exemplo:
[Entity ID] = “Value”
. The DAX editor is complete with autocomplete for formulas (intellisense). Você pode selecionar a marca de seleção acima da caixa de expressão para validar a expressão e o botão X acima da caixa de expressão para reverter as alterações.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. Além disso, 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, como francês ou alemão.
Você pode voltar para o editor padrão selecionando Alternar para o editor padrão. Todas as alterações feitas em qualquer interface do editor persistem ao alternar interfaces quando possível. Ao definir uma função usando o editor DAX que não pode ser definida no editor padrão, se você tentar alternar para o editor padrão, será solicitado um aviso de que a troca de editores pode resultar na perda de algumas informações. Para manter essas informações, selecione Cancelar e continue editando apenas essa função no editor DAX.
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, como francês ou alemão.
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.
Por padrão, a filtragem de segurança em nível de linha usa filtros unidirecionais, quer as relações estejam definidas como direção única ou bidirecional. Você pode habilitar manualmente a filtragem cruzada bidirecional com 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 . Observe que, se uma tabela participar de várias relações bidirecionais, você só poderá selecionar essa opção para uma dessas relações. Selecione esta opção quando também tiver implementado a segurança dinâmica em nível de linha no nível do servidor, onde a segurança em nível de linha é baseada em nome de usuário ou ID de login.
Para obter mais informações, consulte Filtragem cruzada bidirecional usando DirectQuery no Power BI e o artigo técnico Protegendo o Modelo Semântico de BI Tabular.
Gerencie a segurança em seu modelo
Para gerenciar a segurança em seu modelo semântico, abra o espaço de trabalho onde você salvou seu modelo semântico no Fabric e execute as seguintes etapas:
Em Fabric, selecione o menu Opções adicionais para um modelo semântico. Esse menu aparece quando você passa o mouse sobre um nome de modelo semântico.
Selecione Segurança.
Security takes you to the Role-Level Security page where you add members to a role you created. Contributor (and higher workspace roles) will see Security and can assign users to a role.
Nota
Você só pode gerenciar a segurança em modelos que tenham funções de segurança em nível de linha já definidas no Power BI Desktop ou ao editar seu modelo de dados no serviço do Power BI. Se o seu modelo não tiver funções já definidas, não poderá gerir a segurança no serviço do Power BI.
Trabalhar com os membros
Adicionar membros
No serviço do Power BI, você pode adicionar um membro à função digitando o endereço de email ou o nome do usuário ou grupo de segurança. Não é possível adicionar Grupos criados no Power BI. Você pode adicionar membros externos à sua organização.
Você pode usar os seguintes grupos para configurar a segurança em nível de linha.
- Grupo de Distribuição
- Mail-enabled Group
- Microsoft Entra Security Group
Observe que os grupos do Microsoft 365 não são suportados e não podem ser adicionados a nenhuma função.
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.
Remover membros
Você pode remover membros selecionando o X ao lado do nome deles.
Validando a função dentro do serviço do Power BI
Você pode validar se a função definida está funcionando corretamente no serviço do Power BI testando a função.
- Selecione Mais opções (...) ao lado da função.
- Select Test as role.
Você será redirecionado para o relatório que foi publicado do Power BI Desktop com esse modelo semântico, se ele existir. Dashboards aren't available for testing using the Test as role option.
No cabeçalho da página, a função que está sendo aplicada é mostrada. Teste outras funções, uma combinação de funções ou uma pessoa específica selecionando Agora visualizando como. Aqui você vê detalhes importantes de permissões referentes ao indivíduo ou função que está sendo testado. Para obter mais informações sobre como as permissões interagem com a RLS, consulte Experiência do usuário da RLS.
Teste outros relatórios conectados ao modelo semântico selecionando Visualização no cabeçalho da página. Você só pode testar relatórios localizados no mesmo espaço de trabalho que seu modelo semântico.
To return to normal viewing, select Back to Row-Level Security.
Nota
The Test as role feature doesn't work for DirectQuery models with Single Sign-On (SSO) enabled. Additionally, not all aspects of a report can be validated in the Test as role feature including Q&A visualizations, Quick insights visualizations, and Copilot.
Using the username() or userprincipalname() DAX function
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ê publicar seu modelo, ele será usado no serviço do Power BI.
No Power BI Desktop, username() retornará um usuário no formato DOMAIN\User e userprincipalname() retornará um usuário no formato de user@contoso.com.
No serviço do Power BI, username() e userprincipalname() retornarão o UPN (Nome Principal do Usuário) do usuário. Isso se parece com um endereço de e-mail.
Usando RLS com espaços de trabalho no Power BI
Se você publicar seu relatório do Power BI Desktop em um espaço de trabalho no serviço do Power BI, as funções RLS serão aplicadas aos membros atribuídos à função Visualizador no espaço de trabalho. Mesmo que os Visualizadores recebam permissões de compilação para o modelo semântico, a RLS ainda se aplica. Por exemplo, se os visualizadores com permissões de compilação usarem Analisar no Excel, sua exibição dos dados será restrita pela RLS. Os membros do espaço de trabalho atribuídos a Admin, Membro ou Colaborador têm permissão de edição para o modelo semântico e, portanto, a RLS não se aplica a eles. Se quiser que a RLS se aplique a pessoas em um espaço de trabalho, você só poderá atribuir a elas a função de Visualizador . Leia mais sobre funções em espaços de trabalho.
Considerações e limitações
Você pode ver as limitações atuais para segurança em nível de linha em modelos de nuvem aqui:
- Se você definiu anteriormente funções e regras no serviço do Power BI, deverá recriá-las no Power BI Desktop.
- Você pode definir RLS somente nos modelos semânticos criados com o Power BI Desktop. Se quiser habilitar a RLS para modelos semânticos criados com o Excel, você deve converter seus arquivos em arquivos do Power BI Desktop (PBIX) primeiro. Mais informações.
- Service principals can't be added to an RLS role. Accordingly, RLS isn't applied for apps using a service principal as the final effective identity.
- Somente conexões Import e DirectQuery são suportadas. As conexões em tempo real com o Analysis Services são tratadas no modelo local.
- O recurso Testar como função/Exibir como função não funciona para modelos DirectQuery com logon único (SSO) habilitado.
- The Test as role/view as role feature shows only reports from semantic models workspace.
- O recurso Testar como função/Exibir como função não funciona para relatórios paginados.
Lembre-se de que, se um relatório do Power BI fizer referência a uma linha com RLS configurada, a mesma mensagem será exibida como para um campo excluído ou inexistente. Para esses usuários, parece que o relatório está quebrado.
FAQ
Pergunta: E se eu tiver criado anteriormente funções e regras para um conjunto de dados no serviço do Power BI? Do they still work if I do nothing?
Resposta: Não, os elementos visuais não serão renderizados corretamente. Tem de recriar as funções e regras no Power BI Desktop e, em seguida, publicar no serviço do Power BI.
Pergunta: Posso criar essas funções para fontes de dados do Analysis Services?
Resposta: Sim, se você 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. You define RLS in the Analysis Services model on-premises.
Pergunta: Posso usar a RLS para limitar as colunas ou medidas acessíveis pelos meus utilizadores?
Resposta: Não, se um usuário tiver acesso a uma determinada linha de dados, ele poderá ver todas as colunas de dados dessa linha. Para restringir o acesso a colunas e metadados de coluna, considere o uso de segurança ao nível do objeto.
Pergunta: A RLS permite-me ocultar dados detalhados, mas dá acesso a dados resumidos em elementos 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 estas funções e a RLS?
Resposta: A resposta depende se você está importando dados ou usando o DirectQuery. Se estiver a importar dados para o conjunto de dados do Power BI, as funções de segurança na origem de dados não são utilizadas. Nesse caso, você deve definir RLS para impor regras de segurança para usuários que se conectam no 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 à fonte de dados subjacente, que aplica regras de segurança aos dados com base nas credenciais do usuário.
Pergunta: Um usuário pode pertencer a mais de uma função?
Resposta: Um usuário pode pertencer a várias funções, e as funções são aditivas. Por exemplo, se um usuário pertencer às funções "Vendas" e "Marketing", ele poderá ver os dados de ambas as funções.
Conteúdos relacionados
- Restringir o acesso a dados com segurança em nível de linha (RLS) para o Power BI Desktop
- Row-level security (RLS) guidance in Power BI Desktop
- Planejamento de implementação do Power BI: Relatar o planejamento de segurança do consumidor
- RLS for Embedded scenarios for ISVs
Perguntas? Tente perguntar à Comunidade do Power BI. Sugestões? Contribua com ideias para melhorar o Power BI