Del via


Overføre programmer med flere kunder til tjenestekontohaverprofilmodellen

Denne artikkelen beskriver hvordan du kan få bedre skalerbarhet ved å overføre appene for innebygd analyse med flere kunder i Power BI til profilmodellen for tjenestekontohaver.

Tjenestekontohaverprofiler gjør det enklere å administrere organisatorisk innhold i Power BI og bruke kapasitetene mer effektivt.

Merk

Denne artikkelen er rettet mot organisasjoner som allerede har en app som støtter flere kunder fra én enkelt Power BI-tenant.

Ikke alle apper drar nytte av tjenestekontohavermodellen. Følgende apper bør for eksempel ikke overføres:

  • Små apper som opprettholder én tjenestekontohaver med et lite antall objekter.
  • Apper som bruker én multippel tjenestekontohaver per kunde

Forutsetning

Det er viktig å lese om tjenestekontohaverprofiler før du starter overføringen.

Du må også gjøre følgende:

Skjermbilde av administrasjonsportalen som viser aktiver oppretting av profilbryter.

Overføre til tjenestekontohaverprofiler

Overføring til tjenestekontohaverprofiler omfatter følgende trinn:

  1. Opprett profiler, én profil per kunde.
  2. Organiser arbeidsområdene dine.
  3. Endre programkoden til å bruke profiler.
  4. Test programmet med profilmodellen.
  5. Rydd opp i overflødige tillatelser.

Opprett profiler (obligatorisk)

Bruk REST-API-en for profiler med tjenestekontohaveren du opprettet for å opprette én profil for hver kunde.

Det er lurt å lagre en tilordning av hver datakunde-ID med tilsvarende profil-ID i databasen. Du trenger denne tilordningen senere for å foreta API-anrop med leierprofilen.

Organisere arbeidsområdene

Den enkleste måten å administrere dataene på, er å opprettholde ett arbeidsområde per kunde. Hvis appen allerede bruker denne modellen, trenger du ikke å opprette nye arbeidsområder. Du må imidlertid fortsatt gi hver profil administratortilgang til det tilsvarende arbeidsområdet ved hjelp av API-en legg til gruppebruker.

Hvis du ikke har ett arbeidsområde per kunde, kan du bruke den tilsvarende profilen til å kalle Opprett gruppebruker-API for å opprette et nytt arbeidsområde for hver kunde.

Organisere elementer i arbeidsområder

Nå skal du ha en profil og et arbeidsområde for hver kunde. Hvis du opprettet nye arbeidsområder i forrige trinn, må du importere elementer (for eksempel rapporter og semantiske modeller) til disse arbeidsområdene. De semantiske modellene du importerer, avhenger av den gjeldende løsningen:

  • Hvis appen bruker en egen semantisk modell for hver kunde, kan den semantiske modellutformingen fungere som den er.

  • Hvis appen bruker én semantisk modell med sikkerhet på radnivå (RLS) til å gi forskjellige data til forskjellige kunder, kan du få bedre skalerbarhet ved å opprette en egen semantisk modell for hver kunde og bruke profiler som beskrevet i denne artikkelen.

  • Når du har overvunnet skalerbarhetsbegrensninger ved hjelp av profiler og separate datakilder, kan du få enda mer dataseparasjon ved hjelp av RLS med profiler.

    • Hvis du er avhengig av dynamisk RLS, returneres navnet på profilen i DAX-funksjonen UserName().
    • Hvis du bruker statisk RLS og overstyrer roller når du genererer innebyggingstokenet, kan du fortsette å gjøre dette.

Når elementene er klare, importerer du dem til de relevante arbeidsområdene. Hvis du vil automatisere prosessen, kan du vurdere å bruke import-API-en.

Endre programkodene for å bruke profiler

Når du har profiler med administratortilgang til de relevante arbeidsområdene, og en database med tilordning som viser deg hvilken profil som representerer hvilken kunde, kan du gjøre de nødvendige kodeendringene. Vi anbefaler at du holder to kodeflyter side ved side og gradvis viser profilkodeflyten til kundene dine.

Gjør følgende kodeendringer:

  • Endring av autorisasjonskode

    • Hvis du bruker en hovedbruker i Microsoft Entra ID-appen , endrer du koden for anskaffelsestoken. Les innebygging med tjenestekontohaver for å lære om hvordan du oppretter et App-only Microsoft Entra-token.
    • Hvis du bruker en tjenestekontohaver og du har opprettet en ny for profiler, kan du justere koden for å bruke riktig tjenestekontohaver-ID og hemmeligheter.
  • Kodeendring for administrasjon

    Noen apper har administrasjonskode som automatiserer pålasting av en ny kunde ved registrering. Administrasjonskoden bruker ofte REST-API-er for Power BI til å opprette arbeidsområder og importere innhold. Det meste av denne koden skal forbli den samme, men du må kanskje tilpasse følgende detaljer:

    • Hver gang du oppretter en ny kundeleier, oppretter du en ny tjenesteprofil som oppretter og administrator for arbeidsområdet for denne leieren.
    • Hvis du bestemmer deg for å omorganisere Power BI-innholdet, redigerer du koden for å gjenspeile endringene.
  • Endring av kode for innebyggingstoken

    Erstatt API-anroperen. Kontroller at en profil kaller GenerateToken-API-en fordi i profilmodellen har bare den spesifikke profilen tilgang til kundens innhold.

Valider

Det er anbefalt fremgangsmåte å teste appen grundig før du flytter den til profilmodellen. Rapporter kan lastes inn selv om det er feil i SaaS-programkoden fordi du ikke slettet de eldre tillatelsene på arbeidsområdene.

Rydd opp etter overføring

Nå som du har fullført overføringen og validert resultatene, fjerner du det du ikke trenger lenger.

  • Rydd opp i kode: Du vil kanskje deaktivere gamle kodebaner for å sikre at du bare kjører ny kode som er avhengig av profiler.
  • Rydd opp i arbeidsområder og tillatelser i Power BI: Hvis du opprettet nye arbeidsområder, kan du slette de gamle arbeidsområdene som ikke lenger er i bruk. Hvis du brukte de samme arbeidsområdene på nytt, kan det være lurt å slette de eldre tillatelsene (for eksempel hovedbrukertillatelser ) på arbeidsområdet.

Behandle tjenestekontohaverprofiler

Har du flere spørsmål? Prøv å spørre Power BI-fellesskap