Logo Microsoft Fabric

Guide : Automatisation du démarrage et de l'arrêt de la capacité Microsoft Fabric

Partie 2 : Créer et configurer les ressources Azure

Une fois le fonctionnement général validé, l’étape suivante consiste à mettre en place les ressources Azure dans le bon ordre. Cette partie détaille la création du groupe de ressources, de la capacité Microsoft Fabric, du Service Principal, du Key Vault, de la Function App, puis la configuration des accès et des variables d’environnement.

Quelles ressources faut-il créer dans Azure ?

La mise en œuvre repose sur une séquence logique : chaque ressource dépend de la précédente. Pour éviter les erreurs de configuration, il est préférable de suivre l’ordre exact présenté ci-dessous.

Principe clé : commencez par les ressources d’hébergement et d’identité, puis ajoutez les accès et enfin les paramètres nécessaires au déploiement.

Étape 1 : créer le groupe de ressources

Le groupe de ressources est le conteneur Azure qui regroupe l’ensemble des éléments du projet. C’est la première ressource à créer.

  • Ouvrir le portail Azure.
  • Rechercher Groupes de ressources.
  • Cliquer sur Créer.
  • Renseigner un nom, par exemple rg-mon-projet.
  • Choisir la région souhaitée, par exemple France Central.
  • Valider avec Vérifier + créer puis Créer.

Création du groupe de ressources Azure pour héberger le projet Microsoft Fabric.

Étape 2 : créer la capacité Microsoft Fabric

La capacité Fabric est la ressource que le script démarrera et arrêtera automatiquement. Elle doit être rattachée au projet avant de configurer les accès.

Cas 1 : créer une nouvelle capacité

  • Rechercher Microsoft Fabric dans Azure.
  • Cliquer sur Créer.
  • Sélectionner le groupe de ressources créé à l’étape précédente.
  • Choisir un nom, par exemple cap-mon-projet.
  • Définir la région et le SKU adapté.
  • Finaliser la création avec Vérifier + créer.

Création d\

Cas 2 : la capacité existe déjà

Si la capacité a déjà été créée, il n’est pas nécessaire de la recréer.

  • Vérifier qu’elle appartient bien au bon abonnement Azure.
  • Noter son nom exact pour les variables d’environnement.
  • Contrôler que les droits nécessaires pourront être attribués au Service Principal.

À noter : une capacité Fabric ne se déplace pas d’un groupe de ressources à un autre, mais cela n’empêche pas son pilotage si les permissions sont correctement configurées.

Étape 3 : créer le Service Principal

Le Service Principal est l’identité applicative utilisée par le script pour s’authentifier auprès d’Azure.

  • Rechercher Microsoft Entra ID.
  • Ouvrir Inscriptions d’applications.
  • Créer une nouvelle inscription, par exemple fabric-scheduler.
  • Noter immédiatement l’ID d’application (client) et l’ID de l’annuaire (locataire).

Création d\

  • Ouvrir l’onglet Certificats et secrets.
  • Créer un nouveau secret client.
  • Copier immédiatement la valeur du secret avant de quitter l’écran.

Création d\

À conserver : les trois valeurs indispensables sont l’ID d’application, l’ID d’annuaire et la valeur du secret.

Étape 4 : créer le Key Vault et y stocker le secret

Le Key Vault permet de stocker le secret du Service Principal de manière sécurisée, sans l’écrire dans le code ni dans les paramètres applicatifs classiques.

  • Rechercher Key Vault dans Azure.
  • Créer un nouveau coffre de clés dans le groupe de ressources du projet.
  • Choisir un nom, par exemple kv-mon-projet.

Création d\

Dans l’onglet de configuration des accès, sélectionner Contrôle d’accès en fonction du rôle Azure.

Configuration du contrôle d\

  • Ouvrir ensuite le coffre créé.
  • Aller dans Secrets puis Générer / importer.
  • Créer un secret nommé par exemple fabric-client-secret.
  • Coller la valeur du secret généré à l’étape précédente.

Ajout du secret du Service Principal dans Azure Key Vault.

Étape 5 : créer la Function App

La Function App héberge le code Python et exécute automatiquement les fonctions planifiées.

  • Rechercher Application de fonction.
  • Créer une nouvelle Function App.
  • Choisir un nom, par exemple func-fabric-scheduler.
  • Sélectionner Python comme pile d’exécution.
  • Conserver une offre Consumption (Serverless) si elle correspond à votre usage.

Création de la Function App Azure qui pilotera la capacité Fabric.

Étape 6 : activer l’identité managée

La Managed Identity donne à la Function App une identité reconnue par Azure pour accéder au Key Vault sans mot de passe supplémentaire.

  • Ouvrir la Function App nouvellement créée.
  • Aller dans Identité.
  • Activer l’identité affectée par le système.
  • Enregistrer et noter l’ID d’objet (principal).

Activation de l\

Étape 7 : attribuer les accès nécessaires

Deux accès doivent être mis en place : l’un pour permettre à la Function App de lire le secret dans Key Vault, l’autre pour permettre au Service Principal de piloter la capacité Fabric.

Accès 1 : Function App vers Key Vault

  • Ouvrir le Key Vault.
  • Aller dans Contrôle d’accès (IAM).
  • Attribuer le rôle Utilisateur des secrets Key Vault.
  • Sélectionner la Function App comme membre.

Attribution à la Function App du droit de lecture sur les secrets du Key Vault.

Bon réflexe : après l’attribution du rôle, attendre une à deux minutes avant de tester pour laisser Azure propager les droits.

Accès 2 : Service Principal vers capacité Fabric

  • Ouvrir la capacité Fabric.
  • Accéder à Contrôle d’accès (IAM).
  • Sélectionner le rôle Contributeur.
  • Ajouter comme membre l’application créée dans Microsoft Entra ID.

Attribution du rôle Contributeur au Service Principal sur la capacité Fabric.

Étape 8 : renseigner les variables d’environnement

Les paramètres d’application indiquent au script sur quelle ressource agir et avec quelle identité se connecter.

  • Ouvrir la Function App.
  • Aller dans Paramètres puis Variables d’environnement.
  • Créer chaque variable ci-dessous dans l’onglet Paramètres d’application.
Variable Valeur attendue Où la trouver
AZURE_SUBSCRIPTION_ID ID de l’abonnement Azure Azure Portal > Abonnements
AZURE_RESOURCE_GROUP Nom du groupe de ressources Groupe créé à l’étape 1
FABRIC_CAPACITY_NAME Nom exact de la capacité Fabric Capacité créée ou existante à l’étape 2
AZURE_TENANT_ID ID de l’annuaire Service Principal, étape 3
AZURE_CLIENT_ID ID d’application Service Principal, étape 3
KEY_VAULT_NAME Nom du Key Vault Coffre créé à l’étape 4
AzureWebJobsStorage Chaîne de connexion du stockage Compte de stockage associé à la Function App

Configuration des variables d\

Important : ne saisissez pas le mot de passe du Service Principal dans les paramètres applicatifs. Il doit être récupéré automatiquement depuis le Key Vault.

Étape 9 : déployer le script sur Azure

Une fois toutes les ressources créées et les paramètres renseignés, le déploiement envoie les fichiers Python vers la Function App.

  • Ouvrir un terminal sur le poste local.
  • Se placer dans le dossier du projet.
  • Lancer la commande de publication.
  • Attendre la fin complète du déploiement.

Commande de déploiement : func azure functionapp publish func-fabric-scheduler

Si tout se passe correctement, le terminal affiche un message de succès et les fonctions apparaissent comme actives dans Azure Portal.

Ce qu’il faut retenir avant de passer aux horaires

À ce stade, l’environnement Azure est prêt : les ressources existent, les identités sont en place, les accès sont configurés, les variables d’environnement sont renseignées et le code est déployé.

La suite consiste à ajuster les horaires d’exécution et à redéployer si nécessaire lorsque le planning change.

Poursuivre la lecture

Les différentes parties du tutoriel

Retrouvez les quatre parties de ce tutoriel sur la mise en place d’un pipeline CI/CD entre GitHub et Microsoft Fabric, depuis la préparation initiale jusqu’au test de bout en bout.

Partie 1 Présentation, prérequis et dépôt GitHub Comprendre l’architecture, vérifier les accès et créer le dépôt qui hébergera le projet. Partie 2 Service Principal Azure et workspaces Fabric Créer l’identité applicative Azure, les workspaces DEV et PROD, et l’intégration Git. Partie 3 Secrets, scripts Python et workflows GitHub Actions Configurer les secrets, écrire les scripts de déploiement et créer les workflows CI/CD. Partie 4 Protection des branches, déploiement et test Sécuriser les branches critiques, lancer le pipeline et valider le bout en bout.

Rédigé par Rihab