Capacité Premium, PPU ou Fabric : ce qu'il faut activer avant d'automatiser Power BI
Power BI Pro ne suffit pas pour créer ou modifier des mesures par API. Le point de passage obligé : une capacité avec l'endpoint XMLA en lecture/écriture activé.
Publié par
BilâlÀ lire aussi
Dérive de mesure : détecter qu'un client a modifié votre DAX à la main
Un client corrige une mesure directement dans son modèle, et votre prochain déploiement l'écrase en silence. Comment détecter cette dérive avant qu'elle ne fasse des dégâts.
Pourquoi Power BI Pro ne suffit pas
Power BI Pro permet de publier des rapports et de les partager, mais il ne donne aucun accès programmatique au modèle sémantique. Pour créer, modifier ou lire des mesures par API, sans passer par Power BI Desktop, il faut que le workspace du client soit sur une capacité Premium, PPU (Premium Per User) ou Fabric. C'est cette capacité, et elle seule, qui expose le modèle via le protocole XMLA.
Activer l'endpoint XMLA
Une fois le workspace sur la bonne capacité, l'endpoint XMLA n'est pas actif par défaut en écriture. Il faut l'activer explicitement, côté administrateur du tenant Power BI :
- Portail d'administration Power BI → Paramètres de capacité
- Sélectionner la capacité concernée
- Paramètre Point de terminaison XMLA → passer de Désactivé (ou Lecture seule) à Lecture/écriture
Sans ce réglage en écriture, un outil externe peut lire le modèle mais jamais y écrire une mesure.
Fabric : un réglage tenant en plus
Sur un tenant Fabric, il existe un réglage supplémentaire au niveau du portail d'administration Fabric : Les principaux de service peuvent appeler les API publiques Fabric. S'il n'est pas activé, une identité applicative (un Service Principal) ne pourra pas appeler l'API même si l'endpoint XMLA est bien en lecture/écriture. C'est un réglage tenant, à vérifier une fois, indépendamment de chaque workspace.
Donner l'accès sans partager de mot de passe
Dernière étape : donner l'accès au workspace lui-même. Ça ne demande aucun identifiant personnel. On ajoute une identité applicative dédiée (un Service Principal) comme administrateur du workspace, exactement comme on ajouterait un collègue, sauf que c'est une identité technique et non un compte utilisateur qui se connecte au modèle.
Récapitulatif
- Capacité Premium, PPU ou Fabric sur le workspace (Power BI Pro seul ne suffit pas)
- Endpoint XMLA en lecture/écriture activé sur cette capacité
- Sur Fabric : réglage tenant autorisant les Service Principals à appeler les API publiques
- Le Service Principal ajouté comme administrateur du workspace