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.
Aplica-se a:✅ Análises embutidas do Power BI para os seus clientes (App-owns-data)
Este artigo explica como incorporar um relatório paginado que usa RLS (segurança ao nível da linha) na sua aplicação app owns data.
Nota
Este artigo só é relevante para clientes de dados proprietários de aplicativos.
Para usar a RLS para seus relatórios paginados:
- Configurar o ambiente para filtrar o relatório
- Filtrar os dados ao nível do relatório ou da consulta
- Passe o parâmetro configurado usando um token de incorporação
Pré-requisitos
Este artigo pressupõe que você saiba como incorporar um relatório paginado do Power BI. Ele explica como gerar o token de incorporação para que o relatório mostre apenas o que o usuário tem permissão para acessar.
Os relatórios paginados são criados usando o mecanismo do SQL Server Reporting Services e não o mecanismo do Power BI (Analysis Services), portanto, a filtragem RLS é configurada no Construtor de Relatórios do Power BI.
Configurar o ambiente
Para aplicar segurança ao nível da linha a um relatório paginado do Power BI, utilize o campo incorporado UserID para atribuir um parâmetro. Este parâmetro é usado para filtrar ou consultar seus dados.
Em seguida, passe o UserID para o Embed Token - Generate Token API para obter o token de incorporação.
Usar UserID como um filtro no nível de relatório ou consulta
Você pode usar UserId como um filtro ou em uma consulta à fonte de dados.
Filtrar os dados
Na janela Propriedades do modelo semântico, no painel esquerdo, selecione Filtrar.
No menu suspenso Expressão, selecione o parâmetro que deseja usar para filtrar os dados.
Selecione o botão de função Valor.
Na janela Expressão, na lista Categoria, selecione Campos incorporados.
Na lista Item, selecione UserID e selecione OK.
Na janela Propriedades do modelo semântico, verifique se a expressão é o parâmetro selecionado = UserID e selecione OK.
Utilizar uma consulta
Na janela Propriedades do modelo semântico, no painel de navegação esquerdo, selecione Parâmetros e selecione Adicionar.
No campo Nome do parâmetro, digite @UserID e, no valor do parâmetro, adicione [&UserID].
No painel esquerdo, selecione Consulta, na Consulta adicione o parâmetro UserID como parte da consulta e selecione OK.
Nota
Na captura de tela abaixo o parâmetro color é usado como exemplo (WHERE FinalTable.Color = @UserID). Se necessário, você pode criar uma consulta mais complexa.
Gerar um token de incorporação
Ao incorporar um relatório paginado para os seus clientes, utilize a API Reports GenerateTokenInGroup para obter o token de incorporação. Esse token também pode ser usado para filtrar alguns dados do relatório paginado.
Só pode gerar um token com um principal de serviço. Não é possível gerar um token como usuário mestre. O principal de serviço tem de ter, pelo menos, permissões de Membro no espaço de trabalho do serviço Power BI. (Se o principal de serviço tiver a função de Contribuidor ou de Leitor, não conseguirá gerar um token).
Para gerar um token, atribua o username campo com as informações que deseja exibir. Por exemplo, em um relatório paginado que tem um parâmetro de cor, se você inserir verde no username campo, o token de incorporação restringirá os dados incorporados apenas aos dados que têm verde como seu valor na coluna de cores.
{
"reports": [
{
"id": "8d57615e-cfed-4d60-bd21-7dc05727193c"
}
],
"identities": [
{
"username": "green",
"reports": [
"8d57615e-cfed-4d60-bd21-7dc05727193c"
]
}
]
}
Nota
Se gerar um token de incorporação sem especificar um ID de utilizador, será utilizado o ID de objeto do service principal.
Considerações e limitações
- O usuário mestre não é suportado com relatórios paginados para incorporação para seus clientes. O usuário-mestre é suportado para incorporação em sua organização.
- O principal de serviço deve ter, no mínimo, permissões de membro no espaço de trabalho (ou seja, não visualizador nem colaborador).