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 conteúdo do Power BI com uma conexão ao vivo do Modelo de Tabela do Analysis Services localem um aplicativo padrão do Power BI que possui um aplicativo de dados. Este artigo aplica-se a todos os modelos SSAS de conexão em tempo real, quer implementem ou não RLS.
Nesse cenário, o banco de dados está no modelo SSAS (local) e o mecanismo do Power BI se conecta a ele por meio de um gateway. As funções de segurança (RLS) e permissões, se houver, são definidas no modelo SSAS e não no Power BI Desktop.
A quem se destina este artigo
Este artigo é principalmente relevante para ISVs que já têm uma configuração de banco de dados local (SSAS) (com ou sem RLS) e desejam incorporar conteúdo diretamente de lá.
Configuração de ISV
A segurança em nível de linha local só está disponível com uma conexão ao vivo, mas você pode criar uma conexão ao vivo com qualquer banco de dados, quer ele implemente ou não RLS. Isto inclui:
- Bancos de dados sem funções RLS configuradas
- Bancos de dados com membros que pertencem a uma ou mais funções
- Bancos de dados com funções de segurança estáticas ou dinâmicas
Para incorporar um relatório de um modelo SSAS, você precisa executar as seguintes ações:
Configurar o gateway
Adicionar uma conexão de fonte de dados ao gateway SSAS
Insira o nome da fonte de dados, o tipo de fonte de dados, o servidor, o banco de dados, um nome de usuário e uma senha que o Ative Directory reconhece.
Para obter mais informações sobre como criar e gerenciar um gateway, consulte Adicionar ou remover uma fonte de dados de gateway.
Atribuir permissões ao principal de serviço ou ao utilizador mestre no gateway
O usuário que gera o token de incorporação também precisa de uma das seguintes permissões:
Permissões de administrador do gateway
Permissão de personificação da fonte de dados (ReadOverrideEffectiveIdentity)
Os utilizadores com permissão de impersonação (sobreposição) têm um ícone em forma de chave junto ao nome.
Siga estas instruções para conceder permissões no gateway ao seu utilizador principal, principal de serviço ou perfil do principal de serviço.
Efetue uma das seguintes formas:
Mapa Nomes de utilizador
Se os nomes de usuário no diretório local e no diretório do Microsoft Entra forem diferentes e você quiser exibir dados no portal, será necessário criar uma tabela de mapeamento de usuário que mapeie cada usuário ou função no Microsoft Entra ID para usuários do banco de dados local. Para obter instruções sobre como mapear nomes de utilizador, aceda a Remapeamento manual de nomes de utilizador
Para obter mais informações, consulte Mapear nomes de usuário para fontes de dados do Analysis Services.
Criar uma ligação em direto
Depois que o ambiente estiver configurado, crie uma conexão ao vivo entre o Power BI Desktop e o servidor SQL e crie seu relatório.
Inicie o Power BI Desktop e selecione Obter dados>Base de dados.
Na lista de fontes de dados, selecione o Banco de Dados doSQL Server Analysis Services e selecione Conectar.
Preencha os detalhes da instância tabular do Analysis Services e selecione Conectar ao vivo. Em seguida, selecione OK.
Gerar um token de incorporação
Para incorporar o seu relatório no cenário de incorporação para os seus clientes, gere um token de incorporação que transmita a identidade efetiva ao Power BI. Todas as conexões ao vivo com mecanismos AS precisam de uma identidade eficaz, mesmo que não haja RLS implementada.
Se não houver RLS configurado, apenas o administrador tem acesso ao banco de dados, então você deseja usar o administrador como a identidade efetiva.
A informação necessária para gerar um token de incorporação depende de estar ligado ao Power BI através de um principal de serviço ou como utilizador mestre, e também de a base de dados ter RLS ativado.
- Token de incorporação do utilizador principal
- Token de incorporação do principal de serviço ou do perfil de principal de serviço
Para gerar o token de incorporação, forneça as seguintes informações:
- Nome de utilizador (Opcional se não houver RLS. Necessário para RLS) - Um nome de usuário válido reconhecido pelo SSAS que será usado como a identidade efetiva. Se o banco de dados não usar RLS e nenhum nome de usuário for fornecido, as credenciais do usuário mestre serão usadas.
- Função (necessária para RLS) - O relatório só exibirá dados se a identidade efetiva for um membro da função.
Exemplo:
public EmbedToken GetEmbedToken(Guid reportId, IList<Guid> datasetIds, [Optional] Guid targetWorkspaceId)
{
PowerBIClient pbiClient = this.GetPowerBIClient();
// Define the user identity and roles. Use one of the following:
var rlsidentity = new EffectiveIdentity( //If no RLS
username: "Domain\\Username", // can also be username@contoso.com
datasets: new List<string>{ datasetId.ToString()}
)
var rlsidentity = new EffectiveIdentity( // If RLS
username: "username@contoso.com",
roles: new List<string>{ "MyRole" },
datasets: new List<string>{ datasetId.ToString()}
)
// Create a request for getting an embed token for the rls identity defined above
var tokenRequest = new GenerateTokenRequestV2(
reports: new List<GenerateTokenRequestV2Report>() { new GenerateTokenRequestV2Report(reportId) },
datasets: datasetIds.Select(datasetId => new GenerateTokenRequestV2Dataset(datasetId.ToString())).ToList(),
targetWorkspaces: targetWorkspaceId != Guid.Empty ? new List<GenerateTokenRequestV2TargetWorkspace>() { new GenerateTokenRequestV2TargetWorkspace(targetWorkspaceId) } : null,
identities: new List<EffectiveIdentity> { rlsIdentity }
);
// Generate an embed token
var embedToken = pbiClient.EmbedToken.GenerateToken(tokenRequest);
return embedToken;
}
Agora você pode incorporar seu relatório em seu aplicativo, e ele filtrará os dados de acordo com as permissões do usuário que acessa o relatório.
Considerações e limitações
CustomData não é suportado.