Dela via


Migrera program för flera kunder till profilmodellen för tjänstens huvudnamn

Den här artikeln beskriver hur du kan få bättre skalbarhet genom att migrera dina Power BI Embedded-analysappar för flera kunder till profilmodellen för tjänstens huvudnamn.

Profiler för tjänstens huvudnamn gör det enklare att hantera organisationsinnehåll i Power BI och använda dina kapaciteter mer effektivt.

Kommentar

Den här artikeln riktar sig till organisationer som redan har en app som stöder flera kunder från en enda Power BI-klientorganisation.

Alla appar drar inte nytta av tjänstens huvudnamnsmodell. Följande appar bör till exempel inte migreras:

  • Små appar som underhåller ett huvudnamn för tjänsten med ett litet antal objekt.
  • Appar som använder ett huvudnamn för flera tjänster per kund

Förutsättningar

Det är viktigt att läsa om profiler för tjänstens huvudnamn innan du påbörjar migreringen.

Du måste också utföra följande steg:

Skärmbild av administratörsportalen som visar växeln aktivera skapande av profiler.

Migrera till profiler för tjänstens huvudnamn

Migrering till profiler för tjänstens huvudnamn omfattar följande steg:

  1. Skapa profiler, en profil per kund.
  2. Organisera dina arbetsytor.
  3. Ändra programkoden så att den använder profiler.
  4. Testa ditt program med profilmodellen.
  5. Rensa redundanta behörigheter.

Skapa profiler (krävs)

Använd PROFILER REST API med tjänstens huvudnamn som du skapade för att skapa en profil för varje kund.

Det är en bra idé att spara en mappning av varje datakund-ID med motsvarande profil-ID i databasen. Du behöver den här mappningen senare för att göra API-anrop med klientprofilen.

Organisera dina arbetsytor

Det enklaste sättet att hantera dina data är genom att underhålla en arbetsyta per kund. Om din app redan använder den här modellen behöver du inte skapa nya arbetsytor. Du måste dock fortfarande ge varje profil administratörsåtkomst till motsvarande arbetsyta med hjälp av API:et Lägg till gruppanvändare.

Om du inte har en arbetsyta per kund använder du motsvarande profil för att anropa Skapa gruppanvändar-API för att skapa en ny arbetsyta för varje kund.

Ordna objekt i arbetsytor

Nu bör du ha en profil och en arbetsyta för varje kund. Om du skapade nya arbetsytor i föregående steg måste du importera objekt (till exempel rapporter och semantiska modeller) till dessa arbetsytor. De semantiska modeller som du importerar beror på din aktuella lösning:

  • Om din app använder en separat semantisk modell för varje kund kan semantisk modelldesign fungera som den är.

  • Om din app använder en semantisk modell med säkerhet på radnivå (RLS) för att tillhandahålla olika data till olika kunder kan du få bättre skalbarhet genom att skapa en separat semantisk modell för varje kund och använda profiler enligt beskrivningen i den här artikeln.

  • När du har övervunnit skalbarhetsbegränsningar med hjälp av profiler och separata datakällor kan du få ännu mer dataavgränsning med hjälp av RLS med profiler.

    • Om du förlitar dig på Dynamisk RLS returneras namnet på profilen i DAX-funktionen UserName().
    • Om du använder statisk RLS och åsidosätter roller när du genererar inbäddningstoken kan du fortsätta att göra detta.

När objekten är klara importerar du dem till relevanta arbetsytor. Om du vill automatisera processen bör du överväga att använda import-API:et.

Ändra programkoderna så att de använder profiler

När du har profiler med administratörsåtkomst till relevanta arbetsytor och en databas med mappning som visar vilken profil som representerar vilken kund, kan du göra nödvändiga kodändringar. Vi rekommenderar att du behåller två kodflöden sida vid sida och gradvis exponerar profilers kodflöde för dina kunder.

Gör följande kodändringar:

  • Ändring av auktoriseringskod

    • Om du använder en huvudanvändare i Microsoft Entra-ID-appen ändrar du koden för att hämta token. Läs inbäddning med tjänstens huvudnamn om du vill veta mer om att skapa en Microsoft Entra-token endast för appar.
    • Om du använder ett huvudnamn för tjänsten och du har skapat ett nytt för profiler justerar du koden så att den använder rätt tjänsthuvudnamns-ID och hemligheter.
  • Ändring av hanteringskod

    Vissa appar har hanteringskod som automatiserar registrering av en ny kund vid registreringen. Ofta använder hanteringskoden Power BI REST-API:er för att skapa arbetsytor och importera innehåll. Merparten av den här koden bör förbli densamma, men du kan behöva anpassa följande information:

    • Varje gång du skapar en ny kundklientorganisation skapar du en ny tjänstprofil för att vara skapare och administratör för arbetsytan för den klientorganisationen.
    • Om du bestämmer dig för att omorganisera ditt Power BI-innehåll redigerar du koden för att återspegla ändringarna.
  • Ändra bädda in tokenkod

    Ersätt API-anroparen. Kontrollera att en profil anropar GenerateToken-API:et eftersom endast den specifika profilen har åtkomst till kundens innehåll i profilmodellen.

Validera

Det är bästa praxis att testa din app noggrant innan du flyttar den till profilmodellen. Rapporter kan läsas in även om det finns buggar i SaaS-programkoden eftersom du inte tog bort de äldre behörigheterna på arbetsytorna.

Rensa efter migrering

Nu när du har slutfört migreringen och verifierat resultatet tar du bort det du inte behöver längre.

  • Rensa kod: Du kanske vill inaktivera gamla kodsökvägar för att säkerställa att du bara kör ny kod som är beroende av profiler.
  • Rensa arbetsytor och behörigheter i Power BI: Om du har skapat nya arbetsytor kan du ta bort de gamla arbetsytor som inte längre används. Om du återanvänder samma arbetsytor kanske du vill ta bort de äldre behörigheterna (till exempel huvudanvändarbehörigheter ) på arbetsytan.

Hantera profiler för tjänstens huvudnamn

Har du fler frågor? Prova att fråga Power BI Community