Améliorer la gouvernance de votre tenant Power BI en automatisant l’obtention de l’inventaire des données disponibles dans tous les modèles sémantiques

Par Frederick Samson, 20 mars 2024

En combinant plusieurs fonctionnalités Power BI, il est possible d’obtenir la liste de tous les modèles sémantiques du tenant Power BI et pour chacun d’obtenir des métadonnées sur celui-ci (voir article précédent). En lisant cet article, vous saurez par où commencer pour réaliser cette automatisation. Contrairement à une approche utilisant le XMLA Endpoint, ce que je propose ne nécessite PAS d’avoir une capacité PowerBI Premium.

Justification

Avant de lister les grandes étapes pour arriver à réaliser cette automatisation, je vais d’abord vous expliquer pourquoi vous devriez considérer mettre cela en place dans votre organisation.

Appuyer les initiatives de la gouvernance et de la sécurité des données

  • Que ce soit pour respecter les lois en vigueur ou les normes internes de l’organisation, il y a de bonnes chances qu’un ou plusieurs départements dans votre organisation soient en charge de définir des principes de gouvernance et de sécurité.

  • Une fois les principes identifiés, il faut mettre des processus et des outils en place afin de s’assurer qu’ils sont bien mis en pratique par les équipes développement des projets en analytique.

  • Il n’est pas réaliste d’effectuer manuellement l’inventaire du tenant Power BI, par exemple pour identifier où il y a des renseignements personnels dans les modèles sémantiques Power BI.

Compléter votre solution d’audit du tenant Power BI

  • Plusieurs organisations se dotent (ou développent) une solution d’audit pour leur tenant Power BI afin d’accumuler de l’information sur :
    • l’inventaire (liste des espaces de travail, modèles sémantiques, rapports, apps etc.)
    • les permissions
    • les journaux (qui a fait quoi, quand, sur quel artefact)
  • Cela pourrait faire l’objet d’un prochain article mais sommairement une solution d’audit est un élément fondamental pour la mise en place d’une gouvernance efficace pour tout ce qui touche à Power BI.
  • Il est possible d’enrichir cette information avec des métadonnées sur les modèles sémantiques :
    • Liste des tables et colonnes
    • Code M de toutes les requêtes Power Query
    • Paramètres Power Query

Prérequis

Avant d’amorcer ce projet, vous devrez avoir :

  • Des compétences en développement PowerShell ou autre langage de programmation ou accès à un développeur;
  • Un outil de développement, par exemple Visual Studio Code pour écrire le code d’extraction;
  • Un Service Principal (App Registration dans Azure) afin d’être en mesure d’appeler les APIs REST :
    • L’utilisation d’un certificat est recommandé pour s’authentifier avec le Service Principal plutôt que de stocker un secret dans le code de l’extracteur
  • Un support physique (ex. bd, fichiers etc.) et modèle de données en tête pour stocker les métadonnées, par exemple pour les informations sur les tables et colonnes
  • Un programme permettant d’exécuter l’extraction de ces informations à un intervalle de votre choix (typiquement journalier).
    • Par exemple, le planificateur de tâches Windows (Windows Task Scheduler) pourrait faire le travail si votre extracteur s’exécute sur un serveur de votre organisation.

Grandes étapes

Cette liste va varier en fonction de ce que vous souhaitez accomplir comme automatisation. Cela peut aller d’une exécution manuelle sur demande afin d’extraire de l’information afin d’effectuer une révision périodique jusqu’à une intégration des données extraites dans une base de données d’audit complète.

  1. Installer les librairies facilitant l’appel des APIs Power BI selon le langage de programmation retenu :
  2. Écrire le code pour s’authentifier auprès des APIs Power BI (ex. via un certificat)
  3. Écrire le code pour obtenir la liste de modèles sémantiques du tenant
  4. Pour chacun des modèle sémantiques, écrire le code pour :
    • Bâtier la requête DAX à envoyer pour obtenir des métadonnées (ex. liste des tables et colonnes)
    • Exécuter la requête DAX via l’API REST executeQueries
    • Sauvegarder le résultat dans le support physique identifié (ex. fichier ou base de données)
  5. Déterminer comment exposer ces données aux utilisateurs ciblés :
    • Modèle sémantique et rapport Power BI
    • Fichier contenant toute l’information
    • Intégration à des données d’audit existantes
    • Etc.
  6. Mettre en place une cédule pour rafraîchir ces données

Mot de la fin

Vous savez maintenant qu’il est possible d’automatiser l’extraction d’un grand nombre d’informations sur le contenu de votre tenant Power BI. Vous avez aussi une meilleure idée de prérequis et des étapes pour mettre ce projet en œuvre. Cependant, je vous ai peut-être convaincu de la pertinence de réaliser cet exercice (supporter la gouvernance et la sécurité) mais vous avez peut-être le vertige devant le volet technique. SYNTELL peut vous accompagner dans cette aventure car nous maîtrisons à la fois la plateforme Power BI ainsi que le développement de solutions sur mesure.

Revenir à la page d’accueil