Déployer et gérer les ressources - Applications pratiques

@joekakone

Joseph Konka @joekakone

03/03/2026 · 12 min

Atelier pratique complet de mise en production Power BI : sécurité au niveau des lignes (RLS statique et dynamique), publication, passerelle et création d'une Power BI App.

Dans cet atelier pratique de clôture, nous abordons la mise en production de notre tableau de bord Global Superstore Executive Suite. Nous allons sécuriser les données confidentielles selon le profil de l'utilisateur, publier le projet dans un environnement collaboratif, automatiser son actualisation et packager l'ensemble sous la forme d'une Power BI App professionnelle.


Les 5 missions de l'atelier de déploiement#

flowchart TD
    M1["<b>Mission 1 : Row-Level Security (RLS)</b><br>Création des rôles DAX statiques et dynamiques"]
    M2["<b>Mission 2 : Simulation locale</b><br>Validation avec l'outil 'Afficher comme rôle'"]
    M3["<b>Mission 3 : Publication & Gouvernance</b><br>Déploiement Workspace et affectation des droits"]
    M4["<b>Mission 4 : Actualisation planifiée</b><br>Configuration de la passerelle et des créneaux"]
    M5["<b>Mission 5 : Packaging en Power BI App</b><br>Navigation, audiences ciblées et distribution"]
    M1 --> M2 --> M3 --> M4 --> M5
    style M1 fill:#e0f2fe,stroke:#0284c7,stroke-width:2px,color:#0f172a
    style M2 fill:#fef3c7,stroke:#d97706,stroke-width:2px,color:#0f172a
    style M3 fill:#fce7f3,stroke:#db2777,stroke-width:2px,color:#0f172a
    style M4 fill:#fed7aa,stroke:#ea580c,stroke-width:2px,color:#0f172a
    style M5 fill:#dcfce7,stroke:#16a34a,stroke-width:2px,color:#0f172a

Mission 1 : Implémenter la sécurité au niveau des lignes (RLS)#

La direction générale exige une cloisonnement strict : chaque responsable régional ne doit pouvoir visualiser que les ventes et les clients de sa propre zone géographique, tandis que le PDG conserve une vue globale consolidée.

Option A : Sécurité statique par rôle#

Pour un nombre restreint de régions (ex. : 3 ou 4 grands territoires) :

  1. Dans Power BI Desktop, rendez-vous dans le ruban Modélisation > cliquez sur Gérer les rôles.
  2. Cliquez sur Créer et nommez le premier rôle Role_Americas.
  3. Dans la liste des tables, sélectionnez 'dim_geographie'.
  4. Dans le volet d'expression de filtre DAX, écrivez :
    [Region] = "Americas"
    
  5. Répétez l'opération pour créer :
  6. Role_EMEA avec l'expression [Region] = "EMEA"
  7. Role_APAC avec l'expression [Region] = "APAC"
  8. Cliquez sur Enregistrer.
flowchart LR
    subgraph Statique["RLS Statique (Rigide)"]
        R1["Role_Americas<br><i>[Region] = 'Americas'</i>"]
        R2["Role_EMEA<br><i>[Region] = 'EMEA'</i>"]
        R3["Role_APAC<br><i>[Region] = 'APAC'</i>"]
    end
    subgraph Dynamique["RLS Dynamique (Évolutive)"]
        U["Fonction USERPRINCIPALNAME()<br><i>E-mail de l'utilisateur connecté</i>"] --> SEC["Table de Sécurité dim_securite<br>(UserEmail, RegionCode)"]
        SEC -->|Filtre relationnel 1:*| GEO["dim_geographie"]
    end
    style Statique fill:#f1f5f9,stroke:#64748b
    style Dynamique fill:#dcfce7,stroke:#16a34a,stroke-width:2px,color:#0f172a

Option B : Sécurité dynamique par table de permissions (Recommandée)#

Lorsque l'entreprise compte des centaines de collaborateurs ou des affectations régionales changeantes, la méthode statique devient ingérable. On utilise alors une table de correspondance de sécurité.

  1. Créez une table dimensionnelle nommée 'dim_securite_utilisateurs' contenant deux colonnes :
  2. Email : Adresse électronique de connexion Microsoft Entra ID.
  3. Region : Code de la région autorisée.
  4. Établissez une relation 1:* entre 'dim_securite_utilisateurs'[Region] et 'dim_geographie'[Region], avec l'option Appliquer le filtre de sécurité dans les deux directions cochée.
  5. Dans Gérer les rôles, créez un rôle unique universel nommé Role_Dynamique_Collaborateur :
    'dim_securite_utilisateurs'[Email] = USERPRINCIPALNAME()
    

[!NOTE] La fonction USERPRINCIPALNAME() renvoie l'adresse e-mail exacte de l'utilisateur authentifié (ex. : claire.martin@superstore.com). Power BI filtre alors automatiquement la table de sécurité, qui propage le filtre sur la géographie et les ventes. Si un collaborateur change de territoire, il suffit de mettre à jour la table en base de données sans jamais toucher au fichier .pbix !


Mission 2 : Simuler et tester la sécurité en local#

Avant de déployer en production, vous devez vérifier que les règles ne comportent aucune fuite de données.

  1. Dans le ruban Modélisation, cliquez sur Afficher comme rôle (View as roles).
  2. Pour tester le rôle statique :
  3. Cochez la case Role_Americas.
  4. Cliquez sur OK.
  5. Observez le bandeau jaune d'avertissement en haut du canevas : les cartes KPI recalculent immédiatement pour n'afficher que le chiffre d'affaires d'Amérique, et les autres régions disparaissent de tous les graphiques.
  6. Pour tester la sécurité dynamique :
  7. Cochez Role_Dynamique_Collaborateur.
  8. Cochez la case Autre utilisateur et saisissez l'e-mail de test : thomas.leroy@superstore.com.
  9. Cliquez sur OK : vérifiez que seuls les pays attribués à Thomas Leroy sont visibles.
  10. Cliquez sur Arrêter l'affichage dans le bandeau jaune pour revenir au mode administrateur.

Mission 3 : Déploiement et gouvernance dans Power BI Service#

  1. Cliquez sur Publier dans le ruban Accueil et sélectionnez l'espace de travail Superstore - Direction Commerciale.
  2. Ouvrez Power BI Service et accédez au workspace.
  3. Gouvernance des accès à l'espace de travail :
  4. Cliquez sur le bouton Gérer les accès en haut à droite.
  5. Ajoutez le responsable technique en tant que Contributeur (Contributor).
  6. Ajoutez les auditeurs internes en tant que Lecteurs (Viewer).
  7. Affectation des utilisateurs aux rôles RLS :
  8. Dans la liste des éléments du workspace, repérez votre Modèle sémantique.
  9. Cliquez sur les points de suspension ... > Sécurité.
  10. Sélectionnez le rôle Role_Americas.
  11. Ajoutez le groupe de sécurité Entra ID Sec-Group-Sales-Americas ou les adresses individuelles des commerciaux de la zone.
  12. Cliquez sur Enregistrer.
  13. Cliquez sur les ... à côté du rôle > Tester comme rôle pour inspecter le rendu directement dans le navigateur.

Mission 4 : Automatiser l'actualisation avec la Passerelle (Gateway)#

  1. Dans les paramètres de votre modèle sémantique, déroulez la section Connexion de passerelle.
  2. Associez la source de données à votre passerelle d'entreprise active (Data Gateway Standard).
  3. Dans la section Informations d'identification de la source de données, vérifiez que la méthode d'authentification est validée sans erreur.
  4. Activez la planification :
  5. Fréquence : Quotidienne.
  6. Fuseau horaire : (UTC+01:00) Bruxelles, Copenhague, Madrid, Paris.
  7. Heures d'exécution : 06h30 et 13h00.
  8. Notifications : Cochez M'envoyer un e-mail en cas d'échec de l'actualisation.

Mission 5 : Packager et distribuer la Power BI App#

Pour livrer une expérience utilisateur digne d'un logiciel sur mesure à la direction générale :

  1. Dans votre espace de travail, cliquez sur le bouton bleu Créer une application (Create app) en haut à droite.
  2. Onglet Installation :
  3. Nom : Superstore Decision Portal 2026.
  4. Description : Cockpit de pilotage stratégique des ventes, de la rentabilité et des opérations logistiques mondiales.
  5. Logo : Importez l'icône de l'entreprise.
  6. Couleur du thème : Bleu nuit institutionnel (#0f172a).
  7. Onglet Navigation :
  8. Activez le volet de navigation personnalisé.
  9. Créez des sections thématiques ordonnées :
    • 📁 Vue Exécutive \(\rightarrow\) Page 1 : Cockpit Direction
    • 📁 Performance Commerciale \(\rightarrow\) Page 2 : Analyse Ventes & Marges
    • 📁 Analytique & IA \(\rightarrow\) Page 3 : Arbre de décomposition & Prévisions
  10. Onglet Audiences :
  11. Créez une première audience Direction avec accès à l'intégralité des sections.
  12. Créez une seconde audience Commerciaux Terrain masquant la page financière globale pour ne leur présenter que les performances de leur portefeuille.
  13. Cliquez sur Publier l'application.
  14. Copiez le lien de l'application et diffusez-le aux utilisateurs : ils disposent désormais d'un portail web et mobile interactif, réactif et parfaitement sécurisé !

Checklist de mise en production#

Avant de déclarer votre projet Power BI finalisé et prêt pour la production, validez systématiquement cette liste d'audit :

  • L'actualisation automatique via la passerelle a été exécutée avec succès au moins une fois sans erreur de timeout.
  • Tous les calculs sensibles sont couverts par des rôles RLS testés via Afficher comme rôle.
  • Les options de mise en page mobile (Mobile Layout) sont configurées pour les écrans clés.
  • Les mesures DAX sont organisées dans une table dédiée _Mesures avec dossiers d'affichage clairs.
  • Les utilisateurs finaux ne disposent que d'un accès en lecture via la Power BI App et non d'un accès éditeur direct au Workspace.

Auto-évaluation (Quiz)#

1. Pourquoi est-il déconseillé d'attribuer le rôle de Contributeur ou Membre à un utilisateur final soumis à la RLS ? Les rôles Admin, Membre et Contributeur d'un espace de travail ont des permissions d'édition sur le modèle sémantique. Pour des raisons techniques de développement, la sécurité RLS est totalement désactivée pour ces rôles : ils visualisent toujours 100 % des données ! Seul le rôle Lecteur (Viewer) ou les utilisateurs consultant le rapport via une Power BI App sont soumis au filtrage restrictif de la RLS.
2. Quelle est la différence entre USERNAME() et USERPRINCIPALNAME() en DAX ? Dans Power BI Desktop, les deux fonctions renvoient généralement l'identifiant Windows local (ex. : DOMAINE\jkonka). Mais une fois le rapport publié sur Power BI Service (Cloud), USERPRINCIPALNAME() renvoie systématiquement l'adresse e-mail professionnelle Microsoft Entra ID (ex. : jkonka@entreprise.com), ce qui en fait la fonction incontournable pour la RLS dynamique dans le Cloud.
3. Quels ports réseau entrants (Inbound) devez-vous ouvrir sur votre pare-feu d'entreprise pour installer la passerelle de données ? Aucun port entrant (0 port Inbound) ! La passerelle de données locale Microsoft utilise uniquement des connexions sortantes (Outbound) sur le port 443 (HTTPS) pour s'enregistrer auprès du bus de services Azure (Azure Service Bus). Il n'est donc absolument pas nécessaire de percer le pare-feu d'entreprise pour bénéficier de l'actualisation Cloud.

Félicitations pour avoir mené à bien ce parcours de déploiement Cloud ! Pour les entreprises qui ont des contraintes strictes de souveraineté locale interdisant le stockage dans le Cloud public, découvrons dans la section suivante l'installation et l'administration de Power BI Report Server en environnement on-premises.

Commentaires

Inscrivez-vous à une formation complète

Voir le catalogue