Generer et innebyggingstoken
GJELDER FOR: Appen eier data Brukeren eier data
Generer token er en REST-API som lar deg generere et token for innebygging av en Power BI-rapport eller semantisk modell i en nettapp eller en portal. Det kan generere et token for ett enkelt element eller for flere rapporter eller semantiske modeller. Tokenet brukes til å godkjenne forespørselen mot Power Bi-tjeneste.
API-en for genereringstokenet bruker én enkelt identitet (en hovedbruker eller tjenestekontohaver) til å generere et token for en enkeltbruker, avhengig av brukerens legitimasjon i appen (effektiv identitet).
Etter vellykket godkjenning gis tilgang til de relevante dataene.
Merk
Generer token er den nyere, versjon 2 API som fungerer for både rapporter og semantiske modeller, og enkle eller flere elementer. Det er foretrukket fremfor eldre versjon 1 API-er. For instrumentbord og fliser kan du bruke V1 Dashboards GenerateTokenInGroup og Fliser GenerateTokenInGroup.
Sikre dataene dine
Hvis du håndterer data fra flere kunder, finnes det to hovedmetoder for å sikre dataene: Arbeidsområdebasert isolering og sikkerhetsbasert isolering på radnivå. Du kan finne en detaljert sammenligning mellom dem i tjenestekontohaverprofiler og sikkerhet på radnivå.
Vi anbefaler at du bruker arbeidsområdebasert isolering med profiler, men hvis du vil bruke RLS-tilnærmingen, kan du se gjennom RLS-delen på slutten av denne artikkelen.
Tokentillatelser og sikkerhet
I genereringstoken-API-er beskriver GenerateTokenRequest-delen tokentillatelsene.
Tilgangsnivå
Bruk allowEdit-parameteren til å gi brukeren visnings- eller redigeringstillatelser.
Legg til arbeidsområde-ID-en i innebyggingstokenet slik at brukeren kan opprette nye rapporter (enten SaveAs eller CreateNew) i arbeidsområdet.
Sikkerhet på radnivå
Med Sikkerhet på radnivå (RLS) kan identiteten du bruker være forskjellig fra identiteten til tjenestekontohaveren eller hovedbrukeren du bruker til å generere tokenet. Ved hjelp av ulike identiteter kan du vise innebygd informasjon i henhold til brukeren du målretter mot. I programmet kan du for eksempel be brukerne om å logge på, og deretter vise en rapport som bare inneholder salgsinformasjon hvis den påloggede brukeren er en salgsansatt.
Hvis du bruker RLS, kan du noen ganger utelate brukerens identitet (EffectiveIdentity-parameteren). Når du ikke bruker EffectiveIdentity-parameteren , har tokenet tilgang til hele databasen. Denne metoden kan brukes til å gi tilgang til brukere som administratorer og ledere, som har tillatelse til å vise hele semantiske modellen. Du kan imidlertid ikke bruke denne metoden i alle scenarioer. Tabellen nedenfor viser de ulike RLS-typene, og viser hvilken godkjenningsmetode som kan brukes uten å angi en brukers identitet.
Tabellen viser også hensyn og begrensninger som gjelder for hver RLS-type.
RLS-type | Kan jeg generere et innebyggingstoken uten å angi den effektive bruker-ID-en? | Hensyn og begrensninger |
---|---|---|
Sikkerhet på radnivå i skyen (Cloud RLS) | ✔ Hovedbruker ✖ Tjenestekontohaver |
|
RDL (paginerte rapporter) | ✖ Hovedbruker ✔ Tjenestekontohaver |
Du kan ikke bruke en hovedbruker til å generere et innebyggingstoken for RDL. |
Analysis Services (AS) på lokal live-tilkobling | ✔ Hovedbruker ✖ Tjenestekontohaver |
Brukeren som genererer innebyggingstokenet, trenger også én av følgende tillatelser: |
Live-tilkobling for Analysis Services (AS) Azure | ✔ Hovedbruker ✖ Tjenestekontohaver |
Identiteten til brukeren som genererer innebyggingstokenet, kan ikke overstyres. Egendefinerte data kan brukes til å implementere dynamisk RLS eller sikker filtrering. Obs! Tjenestekontohaver må angi objekt-ID-en som den effektive identiteten (RLS-brukernavn). |
Enkel pålogging (SSO) | ✔ Hovedbruker ✖ Tjenestekontohaver |
En eksplisitt (SSO)-identitet kan angis ved hjelp av identitetsblobegenskapen i et effektivt identitetsobjekt |
SSO og skybasert RLS | ✔ Hovedbruker ✖ Tjenestekontohaver |
Du må angi følgende: |
Merk
Tjenestekontohavere må alltid oppgi følgende informasjon:
- En identitet for alle elementer med en semantisk RLS-modell.
- For en SSO-semantisk modell er en effektiv RLS-identitet med den kontekstavhengige (SSO)-identiteten definert.
DirectQuery for Semantiske Modeller for Power BI
Gjør følgende for å bygge inn Power BI-rapporten som har en semantisk modell med en direktespørringstilkobling til en annen semantisk Power BI-modell:
- Angi XMLA-endepunktet til Skrivebeskyttet eller Skrivebeskyttet i Power BI-portalen, som beskrevet i aktiver skrivetilgang for en Premium-kapasitet. Du trenger bare å gjøre dette én gang per kapasitet.
- Generer et innebyggingstoken med flere ressurser
- Angi alle datasett-ID-er i forespørselen.
XmlaPermissions
Angi skrivebeskyttet for hver semantiske modell i forespørselen.- For hver enkelt påloggingsaktivert datakilde (SSO) oppgir du identitetsbloben for datakilden i
DatasourceIdentity
.
Fornye tokener før de utløper
Tokener leveres med en tidsbegrensning. Dette betyr at når du bygger inn et Power BI-element, har du begrenset tid til å samhandle med det. Hvis du vil gi brukerne en kontinuerlig opplevelse, kan du fornye (eller oppdatere) tokenet før det utløper.
Instrumentbord og fliser
Generer-tokenet fungerer for rapporter og semantiske modeller. Hvis du vil generere et innebyggingstoken for et instrumentbord eller en flis, kan du bruke generateTokenInGroup- eller Fliser GenerateTokenInGroup-API-er for versjon 1. Disse API-ene genererer tokener for bare ett element om gangen. Du kan ikke generere et token for flere elementer.
For disse API-ene:
Bruk accessLevel-parameteren til å bestemme brukerens tilgangsnivå.
Visning – Gi brukeren visningstillatelser.
Rediger – Gi brukeren visnings- og redigeringstillatelser (gjelder bare når du genererer et innebyggingstoken for en rapport).
Opprett – Gi brukeren tillatelse til å opprette en ny rapport (gjelder bare når du genererer et innebyggingstoken for å opprette en rapport). Når det gjelder oppretting av rapporter, må du også angi parameteren datasett-ID .
Bruk allowSaveAs boolean for å la brukere lagre rapporten som en ny rapport. Denne innstillingen er satt til usann som standard, og gjelder bare når du genererer et innebyggingstoken for en rapport.
Hensyn og begrensninger
Av sikkerhetsgrunner er levetiden til innebyggingstokenet satt til den gjenværende levetiden til Microsoft Entra-tokenet som brukes til å kalle
GenerateToken
API-en. Hvis du bruker det samme Microsoft Entra-tokenet til å generere flere innebyggingstokener, blir levetiden til de genererte innebyggingstokenene kortere for hvert anrop.Hvis den semantiske modellen og elementet som skal bygges inn, er i to forskjellige arbeidsområder, må tjenestekontohaveren eller hovedbrukeren være minst medlem av begge arbeidsområdene.
Du kan ikke opprette et innebyggingstoken for Mitt arbeidsområde.