Bädda in en rapport med tokenbaserad identitet (SSO)

Gäller för:✅ Power BI inbäddade analyser för dina kunder (App-owns-data)

Med den tokenbaserade identiteten kan en ISV använda en Microsoft Entra-åtkomsttoken för att skicka en kunds identitet till en Azure SQL-databas som hanteras i kundens klientorganisation.

ISV-kunder som behåller och hanterar sina data i Azure SQL Database kan skydda sina data i klientorganisationen när de integrerar med Power BI Embedded i ISV-appen.

När du genererar inbäddningstoken anger du identiteten för användaren i Azure SQL genom att skicka användarens Microsoft Entra-åtkomsttoken för Azure SQL-servern. Åtkomsttoken används sedan för att endast hämta relevanta data för användaren från Azure SQL för den specifika sessionen.

Schematisk ritning som visar ISV överföra den effektiva identiteten till SQL-klient och kunden skicka tillbaka en inbäddningstoken.

Important

Begränsningar för SSO med data som ägs av appen:

  • I scenarier med appägda data (tjänstens huvudnamn eller huvudanvändares autentisering) stöds enkel inloggning för DirectQuery-datakällor endast med Azure SQL Database.
  • När du genererar en inbäddningstoken med enkel inloggning måste du ange en IdentityBlob för varje datakälla som har SSO aktiverat. Om du utelämnar IdentityBlob misslyckas tokengenereringen eller frågekörningen.

Konfigurera tokenbaserad identitet

Den tokenbaserade identiteten fungerar bara för DirectQuery-modeller på en kapacitet som är ansluten till en Azure SQL Database som är konfigurerad för att tillåta Microsoft Entra-autentisering. Semantikmodellens datakälla måste konfigureras för att använda slutanvändarautentiseringsuppgifter för OAuth2 för att använda en tokenbaserad identitet. Läs mer om Microsoft Entra-autentisering för Azure SQL Database.

Innan du konfigurerar tokenbaserad identitet kontrollerar du:

  • DirectQuery-datakällan är Azure SQL Database (den enda SSO-datakällan som stöds för scenarier med appägda data).
  • Azure SQL Database har konfigurerats för Microsoft Entra-autentisering.
  • Du har användarens Microsoft Entra åtkomsttoken för Azure SQL-servern som ska skickas som IdentityBlob.
  1. I Power BI-portalen väljer du Semantisk modell > Fler alternativ (tre punkter) > Inställningar > Datakällans autentiseringsuppgifter > Redigera autentiseringsuppgifter.

    Skärmbild av alternativet för datauppsättningsinställningar i portalen Power BI.

  2. Markera alternativrutan OAuth2.

    Skärmbild av hur du konfigurerar Azure SQL Server.

Generera en identitetstoken

Om du vill skapa en åtkomsttoken för Azure SQL måste appen ha åtkomst till Azure SQL DB och Data Warehouse delegerad behörighet till Azure SQL Database-API:et i microsoft Entra-appregistreringskonfigurationen i Azure Portal.

Skärmbild av konfigurationsinställningarna för Microsoft Entra-appregistrering i Azure Portal. Autentisera och hämta en token för användaren från Azure AD v2-slutpunkten för följande omfång: https://database.windows.net/.default

Se följande MSAL-kodexempel för hjälp:

Generera inbäddningstoken

Om du vill bädda in en rapport med tokenbaserad identitet genererar du en inbäddningstoken som innehåller tokenbasidentiteten för den önskade ISV-användaren. Se följande exempel för att generera inbäddningstoken för olika scenarier.

Note

Du måste inkludera en datasourceIdentities post med en giltig identityBlob för varje Azure SQL-datakälla som har SSO aktiverat. Om någon SSO-aktiverad datakälla saknar sin identityBlob, misslyckas anropet för generering av inbäddningstoken eller returnerar frågekörningen ett fel.

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

I följande exempel visas en inbäddad Power BI-rapport med Single Sign-On (SSO) och RLS tillämpade på datauppsättningen.

Skärmbild av en inbäddad Power BI-rapport med Single Sign-On (SSO) och RLS som tillämpas på datauppsättningen.