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 que utiliza OLS num cenário do Power BI App owns data (incorporar para os seus clientes).
Nesse cenário, o ISV tem uma tabela com dados confidenciais e metadados que eles desejam ocultar dos clientes de relatório.
Para obter mais informações sobre o OLS, vá para Segurança em nível de objeto (OLS).
Pré-requisitos
Este artigo pressupõe que você tenha um relatório que usa o OLS e que deseja incorporá-lo em um aplicativo. Para criar um relatório que usa o OLS, consulte Segurança no nível do objeto (OLS).
O relatório pode ser construído usando qualquer um dos seguintes modelos:
- Cloud OLS
- Relatório com ligação dinâmica ao Azure Analysis Services com funções OLS
- Relatório conectado em tempo real ao SQL Server Analysis Services com funções OLS
Incorporar um relatório que usa segurança no nível do objeto
O processo de gerar tokens de incorporação para itens que usam OLS é o mesmo que o dos itens com RLS estática. Você precisa da função e do nome de usuário.
Se o relatório que você deseja incorporar estiver usando um dos seguintes cenários, talvez seja necessário executar algumas etapas adicionais:
- Geração de tokens OLS na nuvem
- Geração de token do SQL Server Analysis Services (SSAS)
- Geração de token do Microsoft Entra ID
O exemplo a seguir mostra como gerar um token para ocultar uma tabela com informações confidenciais usando o OLS:
public EmbedToken GetEmbedToken(Guid reportId, IList<Guid> datasetIds, [Optional] Guid targetWorkspaceId)
{
PowerBIClient pbiClient = this.GetPowerBIClient();
// Defines the user identity and roles.
var olsIdentity = new EffectiveIdentity(
username: "All",
roles: new List<string>{ "SensitiveTableOLS" }, // Role created to hide a table that has sensitive information
datasets: new List<string>{ datasetId.ToString()}
);
// Create a request for getting an embed token for the OLS 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> { olsIdentity }
);
// Generate an embed token
var embedToken = pbiClient.EmbedToken.GenerateToken(tokenRequest);
return embedToken;
}
Considerações e limitações
Consulte as restrições dos modelos OLS.
Conteúdos relacionados
Segurança em nível de objeto no Azure Analysis Services
Tem dúvidas? Tente perguntar à Comunidade do Power BI.