Een rapport insluiten met op tokens gebaseerde identiteit (SSO)

Van toepassing op:✅ Power BI ingesloten analyses voor uw klanten (App-owns-data)

Met de identiteit op basis van tokens kan een ISV een Microsoft Entra-toegangstoken gebruiken om de identiteit van een klant door te geven aan een Azure SQL-database die wordt beheerd in de tenant van de klant.

ISV-klanten die hun gegevens in Azure SQL Database bewaren en beheren, kunnen hun gegevens veilig houden in hun tenant bij de integratie met Power BI Embedded in de ISV-app.

Bij het genereren van het insluittoken geeft u de identiteit van de gebruiker in Azure SQL op door het Microsoft Entra-toegangstoken van die gebruiker door te geven voor de Azure SQL-server. Het toegangstoken wordt vervolgens gebruikt om alleen de relevante gegevens voor die gebruiker op te halen uit Azure SQL voor die specifieke sessie.

Schematische tekening waarin ISV de effectieve identiteit doorgeeft aan de SQL-tenant en de klant die een insluittoken teruggeeft.

Important

Beperkingen voor eenmalige aanmelding van App-owns-data:

  • In app-eigen-gegevensscenario's (service-principal of hoofdgebruikersverificatie) wordt eenmalige aanmelding voor DirectQuery-gegevensbronnen alleen ondersteund met Azure SQL Database.
  • Bij het genereren van een insluittoken met eenmalige aanmelding moet u een IdentityBlob voor elke gegevensbron opgeven waarvoor eenmalige aanmelding is ingeschakeld. Als u de IdentityBlob weglaat, mislukt het genereren van tokens of het uitvoeren van query's.

Identiteit op basis van tokens instellen

De identiteit op basis van tokens werkt alleen voor DirectQuery-modellen op een capaciteit die is verbonden met een Azure SQL Database die is geconfigureerd om Microsoft Entra-verificatie toe te staan. De gegevensbron van het semantische model moet zijn geconfigureerd voor het gebruik van OAuth2-referenties van eindgebruikers om een identiteit op basis van tokens te kunnen gebruiken. Meer informatie over Microsoft Entra-verificatie voor Azure SQL Database.

Voordat u een identiteit op basis van tokens configureert, moet u het volgende controleren:

  • Uw DirectQuery-gegevensbron is Azure SQL Database (de enige ondersteunde SSO-gegevensbron voor app-eigen gegevensscenario's).
  • De Azure SQL Database is geconfigureerd voor Microsoft Entra verificatie.
  • U hebt het Microsoft Entra toegangstoken van de gebruiker voor de Azure SQL Server om door te geven als IdentityBlob.
  1. Selecteer in de Power BI-portal Semantisch model > Meer opties (drie puntjes) > Instellingen > gegevensbronreferenties >Referenties bewerken.

    Schermafbeelding van datasetinstellingenoptie in de Power BI-portal.

  2. Vink het OAuth2-vakje aan.

    Schermopname van het configureren van Azure SQL-server.

Een identiteitstoken genereren

Als u een toegangstoken voor Azure SQL wilt maken, moet de app beschikken over gedelegeerde machtigingen voor Azure SQL DB en Data Warehouse voor Azure SQL Database-API in de configuratie voor app-registratie van Microsoft Entra in Azure Portal.

Schermopname van de configuratie-instellingen voor de registratie van Microsoft Entra-apps in Azure Portal. Verifieer en verwerf een token voor de gebruiker van het Azure AD v2-eindpunt voor het volgende bereik: https://database.windows.net/.default

Zie de volgende MSAL-codevoorbeelden voor hulp:

Insluittoken genereren

Als u een rapport wilt insluiten met een identiteit op basis van tokens, genereert u een insluittoken dat de basisidentiteit van het token van de gewenste ISV-gebruiker bevat. Zie de volgende voorbeelden voor het genereren van insluittokens voor verschillende scenario's.

Note

U moet een vermelding met een geldige datasourceIdentities voor identityBlob Azure SQL-gegevensbron met SSO inschakelen. Als een gegevensbron met eenmalige aanmelding zijn identityBlob mist, zal de aanroep voor het genereren van het insluittoken mislukken of zal de uitvoering van de query een fout retourneren.

{
  "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"
          }
        }
      ]
    }
  ]
}

In het volgende voorbeeld ziet u een ingesloten Power BI-rapport met Single Sign-On en RLS die zijn toegepast op de gegevensset.

Schermopname van een ingesloten Power BI-rapport met Single Sign-On en RLS die zijn toegepast op de dataset.