Overfør programmer med flere kunder til profilmodellen for tjenesteprincipaler

I denne artikel beskrives det, hvordan du kan få bedre skalerbarhed ved at migrere dine integrerede Power BI-analyseapps med flere kunder til profilmodellen for tjenesteprincipaler.

Profiler for tjenesteprincipaler gør det nemmere at administrere organisationsindhold i Power BI og bruge dine kapaciteter mere effektivt.

Bemærk

Denne artikel henvender sig til organisationer, der allerede har en app, der understøtter flere kunder fra en enkelt Power BI-lejer.

Det er ikke alle apps, der drager fordel af modellen for tjenesteprincipalen. Følgende apps bør f.eks. ikke migrere:

  • Små apps, der vedligeholder én tjenesteprincipal med et lille antal objekter.
  • Apps, der bruger én tjenesteprincipal med flere pr. kunde

Forudsætninger

Det er vigtigt at læse om profiler for tjenesteprincipaler , før du starter overførslen.

Du skal også udføre følgende trin:

Screenshot of Admin portal switch.

Overfør til tjenesteprincipalprofiler

Overførsel til tjenesteprincipalprofiler omfatter følgende trin:

  1. Opret profiler, én profil pr. kunde.
  2. Organiser dine arbejdsområder.
  3. Skift programkoden for at bruge profiler.
  4. Test dit program med profilmodellen.
  5. Ryd op i redundante tilladelser.

Opret profiler (påkrævet)

Brug Profil-REST API med den tjenesteprincipal, du har oprettet, til at oprette én profil for hver kunde.

Det er en god idé at gemme en tilknytning af hvert datakunde-id med det tilsvarende profil-id i databasen. Du skal bruge denne tilknytning senere for at foretage API-kald med lejerprofilen.

Organiser dine arbejdsområder

Den nemmeste måde at administrere dine data på er ved at vedligeholde ét arbejdsområde pr. kunde. Hvis din app allerede bruger denne model, behøver du ikke at oprette nye arbejdsområder. Du skal dog stadig give hver profil Administration adgang til det tilsvarende arbejdsområde ved hjælp af API'en Tilføj gruppebruger.

Hvis du ikke har ét arbejdsområde pr. kunde, kan du bruge den tilsvarende profil til at kalde Opret gruppebruger-API for at oprette et nyt arbejdsområde for hver kunde.

Organiser elementer i arbejdsområder

Du bør nu have en profil og et arbejdsområde for hver kunde. Hvis du har oprettet nye arbejdsområder i det forrige trin, skal du importere elementer (f.eks. rapporter og semantiske modeller) til disse arbejdsområder. De semantiske modeller, du importerer, afhænger af din aktuelle løsning:

  • Hvis din app bruger en separat semantisk model for hver kunde, kan det semantiske modeldesign fungere, som det er.

  • Hvis din app bruger én semantisk model med sikkerhed på rækkeniveau til at levere forskellige data til forskellige kunder, kan du få bedre skalerbarhed ved at oprette en separat semantisk model for hver kunde og bruge profiler som beskrevet i denne artikel.

  • Når du har overvundet skalerbarhedsbegrænsninger ved hjælp af profiler og separate datakilder, kan du få endnu mere dataadskillelse ved hjælp af sikkerhed på rækkeniveau med profiler.

    • Hvis du er afhængig af dynamisk sikkerhed på rækkeniveau, returneres navnet på profilen i DAX-funktionen UserName().
    • Hvis du bruger statisk sikkerhed på rækkeniveau og tilsidesætter roller, når du genererer integreringstokenet, kan du fortsætte med at gøre dette.

Når elementerne er klar, skal du importere dem til de relevante arbejdsområder. Du kan automatisere processen ved at overveje at bruge import-API'en.

Rediger programkoderne for at bruge profiler

Når du har profiler med Administration adgang til de relevante arbejdsområder og en database med tilknytning, der viser dig, hvilken profil der repræsenterer hvilken kunde, kan du foretage de nødvendige kodeændringer. Vi anbefaler, at du bevarer to kodeflows side om side og gradvist viser kodeflowet profiler for dine kunder.

Foretag følgende kodeændringer:

  • Ændring af godkendelseskode

    • Hvis du bruger en masterbruger i Microsoft Entra ID-appen , skal du ændre koden for hentningstokenet. Læs Integrer med tjenesteprincipal for at få mere at vide om oprettelse af et Microsoft Entra-token, der kun er til apps.
    • Hvis du bruger en tjenesteprincipal , og du har oprettet en ny til profiler, skal du justere koden, så den bruger det korrekte id og de korrekte hemmeligheder for tjenesteprincipalen.
  • Ændring af administrationskode

    Nogle apps har administrationskode, der automatiserer onboarding af en ny kunde ved registrering. Administrationskoden bruger ofte REST API'er til Power BI til at oprette arbejdsområder og importere indhold. Det meste af denne kode bør forblive den samme, men du skal muligvis tilpasse følgende oplysninger:

    • Hver gang du opretter en ny kundelejer, skal du oprette en ny tjenesteprofil, der skal være opretter og administrator af arbejdsområdet for den pågældende lejer.
    • Hvis du beslutter dig for at omorganisere dit Power BI-indhold, skal du redigere koden for at afspejle ændringerne.
  • Ændring af integreringstokenkode

    Erstat API-kalderen. Sørg for, at en profil kalder GenerateToken-API'en , fordi det kun er den specifikke profil, der har adgang til kundens indhold i profilmodellen.

Validere

Det er bedste praksis at teste din app grundigt, før du flytter den til profilmodellen. Rapporter kan blive indlæst, selvom der er fejl i SaaS-programkoden, fordi du ikke slettede de ældre tilladelser til arbejdsområderne.

Ryd op efter migrering

Nu, hvor du er færdig med migreringen og valideret resultaterne, skal du fjerne det, du ikke længere har brug for.

  • Ryd op i kode: Det kan være en god idé at deaktivere gamle kodestier for at sikre, at du kun kører ny kode, der er afhængig af profiler.
  • Ryd op i arbejdsområder og tilladelser i Power BI: Hvis du har oprettet nye arbejdsområder, kan du slette de gamle arbejdsområder, der ikke længere er i brug. Hvis du har genbrugt de samme arbejdsområder, kan du slette de ældre tilladelser (f.eks . masterbrugertilladelser ) til arbejdsområdet.

Har du flere spørgsmål? Prøv at spørge Power BI-community'et