Architecture de sécurité d’authentification dans le moteur de test (déconseillé)

Note

Le moteur de test est déconseillé et sera supprimé dans une prochaine version. Utilisez des exemples Power Platform Playwright pour tester les fonctionnalités d’automatisation dans les services Power Platform et Dynamics 365.

Ce document technique décrit l’architecture de sécurité des mécanismes d’authentification dans Power Apps Test Engine. Pour obtenir des conseils axés sur l’utilisateur sur la sélection et la configuration des méthodes d’authentification, consultez le Guide d’authentification.

Présentation des méthodes d’authentification

Test Engine prend en charge deux méthodes d’authentification principales :

  • Authentification de l’état de stockage - basée sur les cookies persistants du navigateur et l’état de stockage
  • Authentification basée sur les certificats - basée sur les certificats X.509 et l’intégration Dataverse

Les deux méthodes sont conçues pour prendre en charge les exigences de sécurité modernes, notamment l’authentification multifacteur (MFA) et les stratégies d’accès conditionnel.

Architecture d’authentification de l’état du stockage

La méthode d’authentification de l’état de stockage utilise la gestion du contexte du navigateur de Playwright pour stocker et réutiliser les jetons d’authentification en toute sécurité.

Présentation du flux d’authentification dans Test Engine

implémentation de la protection des données Windows

L’implémentation de l’état du stockage local utilise l’API de protection des données Windows (DPAPI) pour un stockage sécurisé :

Présentation de l’authentification à l’aide de l’API de protection des données Windows (DPAPI) locale

Considérations de sécurité

L’architecture de sécurité de l’état du stockage fournit les éléments suivants :

  • Protection des jetons d’authentification au repos à l’aide du chiffrement DPAPI
  • Prise en charge de Microsoft Entra MFA et des stratégies d'accès conditionnel.
  • Isolation de type bac à sable via les contextes de navigateur de Playwright
  • Conformité aux stratégies de durée de vie des sessions Microsoft Entra

Architecture de l’authentification basée sur des certificats

L’authentification basée sur les certificats s’intègre à Dataverse et utilise les certificats X.509 pour renforcer la sécurité et le chiffrement des informations au repos.

Présentation de l’authentification avec Dataverse

Implémentation du stockage Dataverse

L’implémentation Dataverse utilise un référentiel XML personnalisé pour le stockage sécurisé des clés de protection :

Vue d’ensemble du stockage des valeurs Dataverse

Technologie de chiffrement

Les sections suivantes décrivent les algorithmes de chiffrement et les approches de gestion des clés utilisés par Test Engine pour protéger les données d’authentification au repos et en transit.

AES-256-CBC + HMACSHA256

Par défaut, les valeurs de données sont chiffrées avec une combinaison d’AES-256-CBC et de HMACSHA256 :

Vue d’ensemble du chiffrement Dataverse à l’aide de l’API de protection des données ASP.Net

Cette approche fournit les éléments suivants :

  1. Confidentialité grâce au chiffrement AES-256
  2. Intégrité grâce à la vérification HMAC
  3. Authentication de la source de données

Intégration de l’API de protection des données

Le moteur de test s'intègre à l'API de protection des données de ASP.NET Core pour la gestion et le chiffrement des clés :

Présentation de l'utilisation de l'API Dataverse Data Protection

Implémentation d’un référentiel XML personnalisé

Test Engine implémente un IXmlRepository personnalisé pour l’intégration Dataverse :

Vue d’ensemble du fournisseur XML personnalisé de l’API de protection des données

Compatibilité avec l’accès conditionnel et l’authentification multifacteur

L’architecture d’authentification de Test Engine est conçue pour fonctionner de manière transparente avec les stratégies d’accès conditionnel Microsoft Entra :

Vue d'ensemble de la stratégie d'accès conditionnel et l'authentification multifacteur

Considérations de sécurité avancée

Les sections suivantes mettent en évidence d’autres fonctionnalités de sécurité et intégrations qui améliorent la protection des données d’authentification et prennent en charge des opérations sécurisées dans les environnements d’entreprise.

Intégration au modèle de sécurité Dataverse

Test Engine utilise le modèle de sécurité robuste de Dataverse :

  • Sécurité au niveau de l’enregistrement - Contrôle l’accès aux données d’authentification stockées
  • Modèle de partage - permet le partage sécurisé des contextes d’authentification de test
  • Audit - Suit l’accès aux données d’authentification sensibles
  • Sécurité au niveau de la colonne - Fournit une protection granulaire des champs sensibles

Gestion des jetons CLI Azure

Pour l’authentification Dataverse, Test Engine obtient en toute sécurité des jetons d’accès :

Vue d’ensemble de l’authentification basée sur la ligne de commande (CLI) Azure

Bonnes pratiques de sécurité

Lors de la mise en œuvre de l’authentification Test Engine, tenez compte de ces meilleures pratiques de sécurité :

  • Accès du moindre privilège : accordez les autorisations minimales nécessaires aux comptes de test
  • Rotation régulière des certificats : mettez à jour les certificats périodiquement
  • Variables CI/CD sécurisées : protégez les variables de pipeline contenant des données sensibles
  • Auditer l’accès: surveillez l’accès aux ressources d’authentification
  • Isolation de l’environnement : utilisez des environnements séparés pour les tests

Améliorations futures de la sécurité

Parmi les améliorations futures potentielles de l’architecture de sécurité de l’authentification, citons :

  • Intégration avec Azure Key Vault pour une gestion des secrets améliorée
  • Prise en charge des identités managées dans les environnements Azure
  • Fonctionnalités améliorées de journalisation et de surveillance de la sécurité
  • Plus de fournisseurs de protection pour les scénarios multiplateformes

Protection des données dans ASP.NET Core
API de Protection des Données de Windows
Authentification Microsoft Entra
Modèle de sécurité Dataverse
Authentification basée sur un certificat X.509