Delen via


Toepassingen voor meerdere klanten migreren naar het model voor service-principalprofielen

In dit artikel wordt beschreven hoe u betere schaalbaarheid krijgt door uw in Power BI ingesloten analyse-apps voor meerdere klanten te migreren naar het model voor service-principalprofielen.

Met service-principalprofielen kunt u organisatie-inhoud in Power BI eenvoudiger beheren en uw capaciteiten efficiënter gebruiken.

Notitie

Dit artikel is bedoeld voor organisaties die al een app hebben die ondersteuning biedt voor meerdere klanten vanuit één Power BI-tenant.

Niet alle apps profiteren van het service-principal-model. De volgende apps mogen bijvoorbeeld niet worden gemigreerd:

  • Kleine apps die één service-principal onderhouden met een klein aantal objecten.
  • Apps die één service-principal per klant gebruiken

Vereisten

Het is belangrijk om meer te lezen over service-principal-profielen voordat u de migratie start.

U moet ook de volgende stappen uitvoeren:

Schermopname van de switch voor de beheerportal.

Migreren naar service-principalprofielen

Migreren naar service-principalprofielen omvat de volgende stappen:

  1. Maak profielen, één profiel per klant.
  2. Organiseer uw werkruimten.
  3. Wijzig de toepassingscode om profielen te gebruiken.
  4. Test uw toepassing met het profielmodel.
  5. Redundante machtigingen opschonen.

Profielen maken (vereist)

Gebruik de PROFIELEN REST API met de service-principal die u hebt gemaakt om één profiel voor elke klant te maken.

Het is een goed idee om een toewijzing op te slaan van elke gegevensklant-id met de bijbehorende profiel-id in uw database. U hebt deze toewijzing later nodig om API-aanroepen uit te voeren met het tenantprofiel.

Uw werkruimten organiseren

De eenvoudigste manier om uw gegevens te beheren, is door één werkruimte per klant te onderhouden. Als uw app dit model al gebruikt, hoeft u geen nieuwe werkruimten te maken. U moet echter nog steeds elk profiel met beheerderstoegang tot de bijbehorende werkruimte opgeven met behulp van de GEBRUIKERS-API voor groepen toevoegen.

Als u niet één werkruimte per klant hebt, gebruikt u het bijbehorende profiel om de API Groepgebruiker maken aan te roepen om een nieuwe werkruimte voor elke klant te maken.

Items in werkruimten ordenen

U moet nu een profiel en een werkruimte voor elke klant hebben. Als u in de vorige stap nieuwe werkruimten hebt gemaakt, moet u items (zoals rapporten en semantische modellen) importeren in deze werkruimten. De semantische modellen die u importeert, zijn afhankelijk van uw huidige oplossing:

  • Als uw app voor elke klant een afzonderlijk semantisch model gebruikt, kan het semantische modelontwerp werken zoals het is.

  • Als uw app gebruikmaakt van één semantisch model met beveiliging op rijniveau (RLS) om verschillende gegevens aan verschillende klanten te bieden, kunt u betere schaalbaarheid krijgen door voor elke klant een afzonderlijk semantisch model te maken en profielen te gebruiken, zoals beschreven in dit artikel.

  • Nadat u beperkingen voor schaalbaarheid hebt overschreden door profielen en afzonderlijke gegevensbronnen te gebruiken, kunt u nog meer gegevensscheiding krijgen met behulp van RLS met profielen.

    • Als u afhankelijk bent van dynamische beveiliging op rijniveau, wordt de naam van het profiel geretourneerd in de DAX-functie UserName().
    • Als u statische beveiliging op rijniveau gebruikt en rollen overschrijft bij het genereren van het insluittoken, kunt u dit blijven doen.

Zodra de items klaar zijn, importeert u ze in de relevante werkruimten. Als u het proces wilt automatiseren, kunt u overwegen de Import-API te gebruiken.

De toepassingscodes wijzigen voor het gebruik van profielen

Zodra u profielen hebt met beheerderstoegang tot de relevante werkruimten en een database met toewijzing die aangeeft welk profiel de klant vertegenwoordigt, kunt u de benodigde codewijzigingen aanbrengen. U wordt aangeraden twee codestromen naast elkaar te houden en de profielencodestroom geleidelijk beschikbaar te maken voor uw klanten.

Breng de volgende codewijzigingen aan:

  • Wijziging van autorisatiecode

    • Als u een hoofdgebruiker gebruikt in de Microsoft Entra ID-app , wijzigt u de code voor het verkrijgen van tokens. Lees insluiten met service-principal voor meer informatie over het maken van een Microsoft Entra-token dat alleen voor apps geldt.
    • Als u een service-principal gebruikt en u een nieuwe voor profielen hebt gemaakt, past u de code aan om de juiste service-principal-id en geheimen te gebruiken.
  • Wijziging van beheercode

    Sommige apps hebben beheercode die de onboarding van een nieuwe klant bij de registratie automatiseert. De beheercode maakt vaak gebruik van Power BI REST API's om werkruimten te maken en inhoud te importeren. De meeste van deze code moeten hetzelfde blijven, maar mogelijk moet u de volgende details aanpassen:

    • Telkens wanneer u een nieuwe klanttenant maakt, maakt u een nieuw serviceprofiel om de maker en beheerder van de werkruimte voor die tenant te zijn.
    • Als u besluit uw Power BI-inhoud opnieuw te organiseren, bewerkt u de code om de wijzigingen weer te geven.
  • Wijziging van insluittokencode

    Vervang de API-aanroeper. Zorg ervoor dat een profiel de GenerateToken-API aanroept, omdat in het profielmodel alleen het specifieke profiel toegang heeft tot de inhoud van de klant.

Valideren

Het is raadzaam om uw app grondig te testen voordat u deze naar het profielmodel verplaatst. Rapporten kunnen worden geladen, zelfs als er fouten zijn in de SaaS-toepassingscode, omdat u de oudere machtigingen voor de werkruimten niet hebt verwijderd.

Opschonen na migratie

Nu u de migratie hebt voltooid en de resultaten hebt gevalideerd, verwijdert u wat u niet meer nodig hebt.

  • Code opschonen: mogelijk wilt u oude codepaden uitschakelen om ervoor te zorgen dat u alleen nieuwe code uitvoert die afhankelijk is van profielen.
  • Werkruimten en machtigingen opschonen in Power BI: als u nieuwe werkruimten hebt gemaakt, kunt u de oude werkruimten verwijderen die niet meer worden gebruikt. Als u dezelfde werkruimten opnieuw hebt gebruikt, kunt u de oudere machtigingen (zoals hoofdgebruikersmachtigingen ) in de werkruimte verwijderen.

Meer vragen? Vraag het Power BI-community