Bygge inn en rapport med tokenbasert identitet (SSO)

Gjelder for:✅ Power BI innebygd analyse for kundene dine (App-eier-data)

Den tokenbaserte identiteten gjør det mulig for en ISV å bruke en Microsoft Entra-tilgangstoken for å overføre kundens identitet til en Azure SQL-database som administreres i kundens leietaker.

ISV-kunder som beholder og administrerer dataene sine i Azure SQL Database , kan holde dataene sikre i leieren når de integrerer med Power BI Embedded i ISV-appen.

Når du genererer innebyggingstokenet, angir du identiteten til brukeren i Azure SQL ved å sende brukerens Microsoft Entra-tilgangstoken for Azure SQL-serveren. Tilgangstokenet brukes deretter til å hente bare relevante data for denne brukeren fra Azure SQL, for den bestemte økten.

Skjemategning som viser ISV som sender den effektive identiteten til SQL-leieren og kunden sender et innebyggingstoken tilbake.

Important

Begrensninger for SSO som eier appen:

  • I app-owns-data-scenarier (tjenesteprincipal eller masterbrukerautentisering) støttes SSO for DirectQuery-datakilder kun med Azure SQL Database.
  • Når du genererer en embed-token med SSO, må du oppgi en IdentityBlob for hver datakilde som har SSO aktivert. Utelatelse av IdentityBlob fører til at tokengenerering eller spørringsutførelse feiler.

Konfigurere tokenbasert identitet

Den tokenbaserte identiteten fungerer bare for DirectQuery-modeller på en kapasitet som er koblet til en Azure SQL Database som er konfigurert til å tillate Microsoft Entra-godkjenning. Datakilden til den semantiske modellen må konfigureres til å bruke sluttbrukernes OAuth2-legitimasjon for å bruke en tokenbasert identitet. Mer informasjon om Microsoft Entra-godkjenning for Azure SQL Database.

Før du konfigurerer tokenbasert identitet, verifiser:

  • Din DirectQuery-datakilde er Azure SQL Database (den eneste støttede SSO-datakilden for scenarier hvor appen eier data).
  • Azure SQL Database er konfigurert for Microsoft Entra autentisering.
  • Du har brukerens Microsoft Entra tilgangstoken for at Azure SQL-serveren skal passere som IdentityBlob.
  1. Velg Semantic-modellen > Flere alternativer (tre prikker) > Innstillinger > Datakildelegitimasjon > Rediger legitimasjon fra Power BI-portalen.

    Skjermbilde av alternativet innstillinger for datasett i Power BI-portalen.

  2. Merk av for alternativet OAuth2 .

    Skjermbilde av konfigurer Azure SQL Server.

Generer et identitetstoken

Hvis du vil opprette et tilgangstoken for Azure SQL, må appen ha tilgangstillatelsen Access Azure SQL DB og datalager delegert til Azure SQL Database API på registreringskonfigurasjonen for Microsoft Entra-appen i Azure-portalen.

Skjermbilde av konfigurasjonsinnstillinger for Microsoft Entra-appen i Azure-portalen. Godkjenne og skaffe et token for brukeren fra Azure AD v2-endepunktet for følgende omfang: https://database.windows.net/.default

Se følgende MSAL-kodeeksempler for å få hjelp:

Generer innebyggingstoken

Hvis du vil bygge inn en rapport med tokenbasert identitet, genererer du et innebyggingstoken som inneholder tokenbaseidentiteten til den ønskede ISV-brukeren. Se eksemplene nedenfor for generering av innebyggingstokener for ulike scenarioer.

Bemerkning

Du inkludere en datasourceIdentities oppføring med en gyldig identityBlob for hver Azure SQL datakilde som har SSO aktivert. Hvis en SSO-aktivert datakilde mangler sin identityBlob, vil innbyggingstokengenereringskallet feile eller spørringskjøringen vil gi en feil.

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

Følgende eksempel viser en innebygd Power BI-rapport med SSO og RLS brukt på datasettet:

Skjermbilde av en innebygd Power BI-rapport med SSO og RLS brukt på datasettet.