Incorporar um relatório com identidade baseada em token (SSO)

APLICA-SE A: A aplicação detém dados O usuário detém dados

A identidade baseada em tokens permite que um ISV utilize um token de acesso Microsoft Entra para passar a identidade de um cliente para uma base de dados SQL do Azure gerida no inquilino do cliente.

Os clientes ISV que mantêm e gerem os seus dados na Base de Dados SQL do Azure podem manter os seus dados seguros no seu inquilino ao integrarem-se com o Power BI Embedded na aplicação ISV.

Ao gerar o token de incorporação, especifique a identidade do usuário no SQL do Azure passando o token de acesso Microsoft Entra desse usuário para o servidor SQL do Azure. O token de acesso é usado para extrair apenas os dados relevantes para esse usuário do SQL do Azure, para essa sessão específica.

Desenho esquemático mostrando o ISV passando a identidade efetiva para o inquilino SQL e o cliente devolvendo um token de incorporação.

Importante

Limitações do SSO quando a aplicação detém os dados:

  • Em cenários de aplicações proprietárias de dados (autenticação de principal de serviço ou de utilizador mestre), SSO para fontes de dados DirectQuery é apenas suportado com Base de Dados SQL do Azure.
  • Ao gerar um token de incorporação com SSO, deve fornecer um IdentityBlob para cada fonte de dados que tenha SSO ativado. Omitir o IdentityBlob faz com que a geração de tokens ou a execução da consulta falhe.

Configurar identidade baseada em token

A identidade baseada em token só funciona para modelos DirectQuery numa capacidade conectada a um Banco de Dados SQL do Azure configurado para permitir a autenticação Microsoft Entra. A fonte de dados do modelo semântico deve ser configurada para usar as credenciais OAuth2 dos usuários finais, para usar uma identidade baseada em token. Saiba mais sobre a autenticação do Microsoft Entra para o Banco de Dados SQL do Azure.

Antes de configurar a identidade baseada em tokens, verifique:

  • A sua fonte de dados DirectQuery é Base de Dados SQL do Azure (a única fonte de dados SSO suportada para cenários onde a aplicação detém os dados).
  • O Base de Dados SQL do Azure está configurado para autenticação Microsoft Entra.
  • Tem o token de acesso Microsoft Entra do utilizador para usar como IdentityBlob no servidor SQL do Azure.
  1. No portal do Power BI, selecione Modelo semântico > Mais opções (três pontos) > Configurações Credenciais >> da fonte de dados Editar credenciais.

    Opção de configurações do conjunto de dados de captura de tela no portal do Power BI.

  2. Marque a caixa de opção OAuth2 .

    Captura de tela de configurar o servidor SQL do Azure.

Gerar um token de identidade

Para criar um token de acesso para o SQL do Azure, a aplicação deve ter Acesso ao SQL do Azure DB e Data Warehouse como permissão delegada à API do Base de Dados SQL do Azure na configuração de registro do aplicativo Microsoft Entra no portal do Azure.

Captura de ecrã das definições de configuração de registo da aplicação Microsoft Entra no portal do Azure. Autentique e adquira um token para o usuário do ponto de extremidade do Azure AD v2 para o seguinte escopo: https://database.windows.net/.default

Consulte os seguintes exemplos de código MSAL para obter ajuda:

Gerar token de incorporação

Para incorporar um relatório com identidade baseada em token, gere um token de incorporação que contenha a identidade base do token do usuário ISV desejado. Veja os exemplos a seguir para gerar tokens de incorporação para diferentes cenários.

Note

deve incluir uma entrada datasourceIdentities com uma identityBlob válida para cada fonte de dados SQL do Azure que tenha SSO ativado. Se uma fonte de dados com SSO estiver sem o seu identityBlob, a chamada de geração do token de incorporação falhará ou a execução da consulta reportará um erro.

{
  "datasets": [
    {
      "id": "66ba5010-xxxx-xxxx-xxxx-f2bf0125abeb",
    }
  ],
  "reports": [
    {
      "allowEdit": false,
      "id": "9e6da541-xxxx-xxxx-xxxx-7d9442827cce"
    }
  ],
  "datasourceIdentities": [
    {
      "identityBlob": "eyJ…",
      "datasources": [
        {
          "datasourceType": "Sql",
          "connectionDetails": {
            "server": "YourServerName.database.windows.net",
            "database": "YourDataBaseName"
          }
        }
      ]
    }
  ]
}

O exemplo a seguir mostra um relatório do Power BI incorporado com SSO e RLS aplicados ao conjunto de dados:

Captura de ecrã de um relatório do Power BI incorporado com SSO e RLS aplicados ao conjunto de dados.