Om de uitrol van je Power BI rapport daadwerkelijk te automatiseren, moet er een stappenplan komen: de tasks list. We gaan hiervoor taken toevoegen.
We hebben zojuist een nieuwe release pipeline ingericht in Azure DevOps Pipelines. We hebben hier al een artifact aan gekoppeld, zodat de rapporten die we in versiebeheer zetten ook meekomen in een deployment. Nu zijn we de eerste stage aan het inrichten binnen de release pipeline.
- Klik op het plusje naast de tekst Agent Job
- Zoek naar Power BI
Er zijn nu twee mogelijke uitkomsten:
a. Er staat bovenaan een tekst Marketplace, met daaronder diverse mogelijke taken
b. Er staan bovenaan één of meer taken, gevolgd door de tekst Marketplace
Wanneer er boven Marketplace géén taken staan, moeten we eerst een taak toevoegen. De taak wordt dan goedgekeurd voor je gehele organization, en kan daarna overal gebruikt worden.
Wanneer je voor het eerst een Power BI rapport wilt uitrollen via Azure DevOps, staan er nog geen Power BI-componenten in de takenlijst van Azure DevOps. Je moet nu éénmalig de taak Power BI Actions toevoegen aan je organization (daarna kun je de stappen 11-16 dus overslaan)
- Klik op de taak Power BI Actions onder het kopje Marketplace
- Kies Get it free
Er opent zich een nieuw tabblad, met de Visual Studio Marketplace
- Klik op Get it free
- Kies de DevOps organization waarbinnen je de Power BI bestanden en pipelines hebt neergezet.
- Klik Proceed to organization
Power BI Actions is nu beschikbaar als taak binnen Azure DevOps pipelines.
- Schakel terug naar het browsertabblad waar je de DevOps pipeline aan het bewerken was, en klik Refresh naast Add tasks.
- Klik de zojuist toegevoegde Power BI Actions release task, en kies Add
- Klik nu de zojuist toegevoegde task aan. Alle instellingen die erbij horen komen nu aan de rechterzijde.
Je kunt tijdens de Power BI precon gebruik maken van de volgende gegevens:
- Tenant ID: 5f974108-b910-4cb9-a895-8c723d837771
- Client ID: 548b0f63-1b44-47af-a946-c9cc10154433
- Secret: 2XY8Q~SvhlxU2IFOcalkybBjctJzpatmlc_dlc4S
Let op: deze werken uiteraard niet in jouw eigen organisatie, maar alleen in de WortellSmartLearning.onmicrosoft.com-organisatie! Je kunt daarom alleen deployments doen naar Power BI in díe organisatie. Inloggen op https://app.powerbi.com kun je dan het beste in een InPrivate / incognito browservenster doen met de volgende gegevens:
- Username:
[email protected]
(kies je eigen getal!)- Password:
WortellSmartLearning.nl
Voordat we vanuit Azure DevOps een rapport kunnen releasen binnen Power BI, moeten we eerst een service-connection aanmaken. We gaan hier een Service Principal voor gebruiken. Dit is iets wat je normaal gesproken maar één keer hoeft in te richten.
- Klik onder Power BI service connection op New
Voordat Azure DevOps de eerste keer taken kan uitvoeren binnen Power BI, moet er eerst een account zijn waarmee Power BI dit kan doen. Deze inrichting doen we allereerst in de Azure Portal.
- Open in een nieuw tabblad de Azure portal
- Navigeer naar Azure Active Directory
- Ga naar App registrations
- Klik op New Registration
- Geef deze de naam Azure DevOps deployments voor Power BI. Laat de overige instellingen staan, en kies Register
We hebben nu een registratie binnen Azure AD gemaakt, maar deze heeft nog geen rechten. Ook is er nog geen manier om te authenticeren.
Rechten
- Klik op API permissions om rechten toe te kennen.
- Kies Add a permission
- Kies voor Power BI Service
Azure AD vraagt nu wat voor soort permissions er nodig zijn.
- Kies voor Application permissions
- Selecteer alle permissies binnen Power BI Service. Kies Add permissions
- Belangrijk: Kies nu voor Grant admin consent for (jouw organisatie). Dit zorgt ervoor dat de permissies die de applicatie nodig heeft ook daadwerkelijk gegeven worden.
- Ga naar Certificates & Secrets
- Klik New client secret
- Geef deze nieuwe secret de naam Azure DevOps voor Power BI secret, en selecteer onder Expires een waarde ver in de toekomst.
- Kopieer de waarde van de secret die nu in je scherm komt, en plak deze tijdelijk op een plek waar je de secret later kunt terugvinden
Naast de secret die je zojuist gekopieerd hebt, hebben we nog twee andere gegevens nodig van de zojuist aangemaakte service principal.
- Ga naar overview
- Kopieer de volgende waarden naar een plek waar je ze straks eenvoudig terug kunt vinden:
- Application (client) ID
- Directory (tenant) ID
We hebben nu een service account aangemaakt. Vanuit Azure mag dit account weliswaar in Power BI enkele zaken uitvoeren, maar Power BI zelf staat nog niet toe dat service accounts de API gebruiken.
Security-wise is dat een goede keuze: we willen niet dat elk account met "toevallig" rechten op Power BI ook de API kan gebruiken. In plaats daarvan maken we een security group aan binne Azure AD. Binnen de Power BI admin zullen we vervolgens hier de benodigde rechten aan geven.
- Navigeer terug naar de Azure Active Directory en kies voor Groups.
- Kies New Group
- Geef deze groep de naam Azure DevOps Deployment Agent voor Power BI
- Voeg als member de zojuist aangemaakte App toe
- Klik Select
- Klik Create om de groep aan te maken
We hebben in de Azure Portal nu alle instellingen gedaan die nodig zijn voor de service principal. We gaan nu de drie gekopieerde waarden invullen in de nieuwe Service Connection
- Open het tabblad waarin je de pipeline momenteel bewerkt.
Als het goed is, staat het pane nog open waarin je de nieuwe service connection naar Power BI aan het leggen was.
- Vul de volgende gegevens in:
- Authentication method: Service Principal
- Organization type: Commercial (Public)
- Tenant ID: De eerder gekopieerde Directory (tenant) ID
- Client ID: De eerder gekopieerde Application (client) ID
- Client Secret: De eerder gekopieerde Client secret
- Service connection name: Power BI voor Azure DevOps
- Vink het vakje Grant access permission to all pipelines aan
- Klik Save
Er zijn twee mogelijkheden om te authenticeren bij Power BI: User en Service Principal.
Een User account is een regulier Power BI-account, waar géén Multi-Factor Authentication op geactiveerd is. Daarnaast moet je in de Power BI Developer-portal een app registreren. Een service principal is een specifiek account voor automatisering binnen Azure. Deze zijn specifiek voor geautomatiseerde processen bedoeld. Daarom kiezen we nu voor een service principal.
- Vul bij Workspace Name een nieuwe workspace in die we gaan gebruiken voor deze deployment:
demo-pbug-2023
- Gebruik de knop met ellipsis (
...
) om het Power BI rapport te selecteren in Azure Repos Git - Vink de volgende opties aan:
- Overwrite Power BI File
- Create if the workspace does not exist
- Hernoem de pipeline naar Voorbeeld deployment en klik op Save
Voordat je nu een release uitvoert, is het verstandig om de zojuist benoemde Power BI workspace (demo-pbug-2023
) handmatig aan te maken.
Wanneer je dit niet doet, zal Power BI Actions voor jou de workspace aanmaken, maar heb je hier nog niet automatisch rechten op. Je kunt er dan niet zomaar bij.
Na het aanmaken van de workspace moet je de service principal administrator-rechten geven op deze specifieke workspace. Dit zorgt ervoor dat hier deployments op kunnen plaatsvinden.