Een Power BI / Fabric-service principal aanmaken¶
Zowel de Fabric-connectie- als de Power BI-connectie-connectie authenticeren als een Microsoft Entra ID service principal (appregistratie), en beide vereisen dat die service principal expliciet op de allow-list staat voor API-toegang aan de Power BI/Fabric-adminkant. Een appregistratie + client secret alleen is voor geen van beide producten voldoende. Deze pagina behandelt die gedeelde configuratie eenmalig; de twee connectiepagina’s verwijzen hiernaar terug en behandelen daarna alleen wat specifiek is voor elk (welke Airflow-connectievelden je moet invullen).
1. Maak de appregistratie aan¶
Open in de Azure portal App registrations → + New registration. Geef deze een beschrijvende naam (bijv. airflow-fabric). Het voltooien van de registratie maakt automatisch de bijbehorende Enterprise Application ernaast aan.
Noteer de Directory (tenant) ID en Application (client) ID van de overzichtspagina van de registratie — beide komen later in de Airflow-connectie.
2. Voeg owners toe¶
Voeg de platformbeheerders toe als Owners op zowel de App registration als de bijbehorende Enterprise Application (App registration → Owners, en vervolgens de bijbehorende Enterprise Application → Owners). Anders kan alleen degene die deze heeft aangemaakt later de credentials of permissies beheren.
3. Maak een client secret aan¶
Open Certificates & secrets → + New client secret.
Waarschuwing
Kopieer de Value van het secret direct na het aanmaken ervan — deze wordt maar één keer getoond. Als je deze kwijtraakt, verwijder dan het secret en maak een nieuwe aan; een bestaande waarde is later niet meer op te halen.
4. Voeg API-permissies toe¶
Open de App registration → API permissions → + Add a permission:
Fabric (Fabric-connectie-connectie, d.w.z.
FabricRunItemOperator): voeg deze gedelegeerde Power BI Service-permissies toe:Workspace.ReadWrite.All,Dataset.ReadWrite.All,Item.ReadWrite.All,Item.Execute.All. Laat de standaard Microsoft Graph-permissieUser.Readstaan.Power BI (Power BI-connectie-connectie): voeg de Power BI Service-permissie toe die je organisatie toekent voor dataset refresh — zie de screenshot hieronder voor precies welke deze organisatie gebruikt.
Verleen daarna admin consent: open Enterprise applications, selecteer de app, ga naar Permissions, en klik op Grant admin consent for <tenant>. Bevestig dat elke permissie Granted toont onder Admin consent.
5. Voeg de service principal toe aan een security group¶
Power BI en Fabric verlenen geen API-toegang direct aan een individuele service principal — ze verlenen deze aan een Entra ID security group, en de service principal moet lid zijn van zo’n groep. Maak een dedicated security group aan voor dit doel (of hergebruik er een) en voeg de service principal toe als lid.
6. Zet de security group op de allow-list in de adminportal¶
Schakel in de Tenant settings van de Power BI/Fabric-adminportal, onder Developer settings, Allow service principals to use Power BI APIs in (of de gelijkwaardige Fabric API-instelling), gebonden aan de security group uit stap 5 — niet tenant-breed.
7. Verleen workspace-toegang¶
De security group moet ook lid zijn van elke workspace waarvan deze service principal datasets/items zal aanraken — voeg deze toe onder Access van de workspace (Contributor of Member, afhankelijk van of alleen refresh nodig is of ook contentbeheer).
8. Vind workspace- en dataset-/item-ID’s¶
Operators nemen workspace- en dataset-/item-ID’s als argumenten, niet als connectievelden. Open het item in de Power BI/Fabric-portal en lees beide ID’s af uit de browser-URL.
Fabric Capacity-rol (bij gebruik van fabric_capacity)¶
Suspend/resume/scale van een capacity is een aparte permissie op ARM-niveau, niet gedekt door stappen 4–7 hierboven. Zie Beheerdershandleiding Airflow: connecties beheren → “Fabric Capacity-toegang (eenmalig)” voor het aanmaken van de custom rol, en ken deze vervolgens op dezelfde manier als elke andere roltoewijzing toe aan diezelfde service principal:
Ga naar de Fabric Capacity-resource → Access control (IAM) → Add role assignment.
Selecteer de custom rol (Fabric Capacity (Smooth) Operator).
Ken deze toe aan deze service principal.
Bevestig de toewijzing.
Toegang tot Admin API’s (bij gebruik van Fabric/Power BI admin API’s)¶
Stappen 4–7 hierboven dekken alleen reguliere, workspace-/item-gebonden Fabric- en Power BI-API’s. Voor admin-API’s (tenant-brede operaties zoals WorkspaceInfo-scans, Get Activity Events, of Fabrics Workspaces - Restore Workspace) is een aparte opt-in nodig. Zie Enable service principal authentication for admin APIs.
Waarschuwing
Voor read-only admin-API’s specifiek mag de appregistratie geen enkele ** Application-permissie hebben die admin consent vereist — niet “geen die relevant is voor Fabric”, maar letterlijk geen enkele. Als stap 4 hierboven Application-type permissies zoals ``Item.ReadWrite.All`` aan dezelfde appregistratie heeft toegevoegd, worden read-only admin-API-calls geweigerd. Gebruik een **aparte, dedicated appregistratie voor toegang tot read-only admin-API’s in plaats van de registratie uit stappen 1–4 te hergebruiken.
Controleer op permissies die admin consent vereisen: Azure portal → Microsoft Entra ID → Enterprise applications → deze app → Permissions. Bevestig dat er geen permissies van het type Application staan die admin consent vereisen (alleen relevant voor de read-only admin-API’s-schakelaar hieronder).
Maak een dedicated Entra security group aan voor admin-API-toegang (of hergebruik er een) en voeg deze service principal toe als lid. Hetzelfde mechanisme als stap 5 hierboven, maar houd dit een aparte group ten opzichte van de group die in stap 6 op de allow-list staat: de twee schakelaars zijn onafhankelijk van elkaar gebonden, en een service principal die item-niveau API-calls mag doen, mag daarmee niet automatisch ook tenant-brede admin-API-calls doen.
Schakel in de Tenant settings van de Power BI/Fabric-adminportal, onder Admin API settings, de schakelaar in voor het type admin-API dat deze service principal nodig heeft — Service principals can access read-only admin APIs of Service principals can access admin APIs used for updates — selecteer Specific security groups, voeg de group uit stap 2 toe, en klik daarna op Apply.
Met deze instellingen kan een service principal admin-API’s via REST aanroepen, maar nog steeds geen Fabric interactief openen met die credentials. Voor het inschakelen van een van beide schakelaars zijn Fabric-adminrechten nodig op het account dat dit doet — een platformbeheerder, niet deze service principal.