Faites des tests de charge de points de terminaison sécurisés avec la préversion du Test de charge Azure
Dans cet article, découvrez comment faire des tests de charge d’applications sécurisées avec la préversion du Test de charge Azure. Les applications sécurisées nécessitent l’authentification pour accéder au point de terminaison. Le Test de charge Azure vous permet de vous authentifier avec des points de terminaison à l’aide de secrets ou d’informations d’identification partagés, ou de s’authentifier avec des certificats clients.
Important
Test de charge Azure est actuellement disponible en préversion. Pour connaître les conditions juridiques qui s’appliquent aux fonctionnalités Azure en version bêta, en préversion ou plus généralement non encore en disponibilité générale, consultez l’Avenant aux conditions d’utilisation des préversions de Microsoft Azure.
Prérequis
- Compte Azure avec un abonnement actif. Si vous n’avez pas d’abonnement Azure, créez un compte gratuit avant de commencer.
- Une ressource de test de charge Azure. Pour créer une ressource de test de charge, consultez Créer et exécuter un test de charge.
- Si vous utilisez des certificats clients, un coffre de clés Azure. Pour créer un coffre de clés, consultez Créer un coffre de clés avec le portail Azure.
S’authentifier avec un secret partagé ou des informations d’identification
Dans ce scénario, le point de terminaison d’application nécessite que vous utilisiez un secret partagé, tel qu’un jeton d’accès, une clé API ou des informations d’identification utilisateur pour vous authentifier. Dans le script JMeter, vous devez fournir ces informations de sécurité à chaque demande d’application. Par exemple, pour tester un point de terminaison web qui utilise OAuth 2.0, vous ajoutez un en-tête Authorization
, qui contient le jeton d’accès, à la requête HTTP.
Le diagramme suivant montre comment utiliser des secrets partagés ou des informations d’identification pour s’authentifier auprès d’un point de terminaison d’application dans votre test de charge. Pour éviter de stocker et de divulguer des informations de sécurité dans le script JMeter, vous pouvez stocker en toute sécurité les secrets dans Azure Key Vault ou dans le magasin de secrets CI/CD. Dans le script JMeter, vous utilisez ensuite une fonction JMeter personnalisée GetSecret
pour récupérer la valeur secrète. Enfin, vous spécifiez la valeur secrète dans la requête JMeter au point de terminaison de l’application.
Ajoutez les informations de sécurité dans un magasin de secrets de deux façons :
Ajoutez les informations du secret dans Azure Key Vault. Suivez les étapes décrites dans Paramétriser des tests de charge avec des secrets pour stocker un secret et autoriser votre ressource de test de charge à lire sa valeur.
Ajoutez les informations du secret en tant que secret dans CI/CD (secrets GitHub Actions ou variables secrètes Azure Pipelines).
Ajoutez le secret à la configuration du test de charge :
Pour ajouter un secret à votre test de charge dans le portail Azure :
Accédez à votre ressource de test de charge dans le portail Azure. Si vous n’avez pas encore de test de charge, créez un test de charge à l’aide d’un script JMeter.
Dans le volet gauche, sélectionnez Tests pour afficher la liste des tests de charge.
Sélectionnez votre test dans la liste, puis sélectionnez Modifier pour modifier la configuration du test de charge.
Sous l’onglet Paramètres, entrez les détails du secret.
Champ Valeur Nom Nom du secret. Vous devez fournir ce nom à la fonction GetSecret
pour récupérer la valeur secrète dans le script JMeter.Valeur Correspond à l’identificateur secret Azure Key Vault. Sélectionnez Appliquer, pour enregistrer les modifications de configuration du test de charge.
Mettez à jour le script JMeter pour récupérer la valeur du secret :
Vous commencez par créer une variable définie par l’utilisateur qui récupère la valeur du secret avec la fonction personnalisée
GetSecret
:Mettez à jour le composant échantillonneur JMeter pour transmettre le secret dans la requête. Par exemple, pour fournir un jeton d’accès OAuth2, vous configurez l’en-tête HTTP
Authorization
:
Lorsque vous exécutez maintenant votre test de charge, le script JMeter peut récupérer les informations secrètes du magasin de secrets et s’authentifier auprès du point de terminaison d’application.
S’authentifier avec des certificats client
Dans ce scénario, le point de terminaison d’application nécessite que vous utilisiez un certificat client pour vous authentifier. Le Test de charge Azure prend en charge le type de certificats de certificat à clé publique Standard #12 (PKCS12). Vous ne pouvez utiliser qu’un seul certificat client dans un test de charge.
Le diagramme suivant montre comment utiliser un certificat client pour s’authentifier auprès d’un point de terminaison d’application dans votre test de charge. Pour éviter de stocker et de divulguer, le certificat client en même temps que le script JMeter, vous stockez le certificat dans Azure Key Vault. Lorsque vous exécutez le test de charge, le Test de charge Azure lit le certificat du coffre de clés et le transmet automatiquement à JMeter. JMeter transmet ensuite de manière transparente le certificat dans toutes les demandes d’application. Vous n’avez pas besoin de mettre à jour le script JMeter pour utiliser le certificat client.
Suivez les étapes décrites dans Importer un certificat pour stocker votre certificat dans Azure Key Vault.
Important
Le Test de charge Azure prend uniquement en charge les certificats PKCS12. Chargez le certificat client au format de fichier PFX.
Vérifiez que votre ressource de test de charge dispose d’autorisations pour récupérer le certificat à partir de votre coffre de clés.
Le Test de charge Azure récupère le certificat en tant que secret pour vous assurer que la clé privée du certificat est disponible. Attribuez l’autorisation Obtenir le secret à votre ressource de test de charge dans Azure Key Vault.
Ajoutez le certificat à la configuration du test de charge :
Pour ajouter un certificat client à votre test de charge dans le portail Azure :
Accédez à votre ressource de test de charge dans le portail Azure. Si vous n’avez pas encore de test de charge, créez un test de charge à l’aide d’un script JMeter.
Dans le volet gauche, sélectionnez Tests pour afficher la liste des tests de charge.
Sélectionnez votre test dans la liste, puis sélectionnez Modifier pour modifier la configuration du test de charge.
Sous l’onglet Paramètres, entrez les détails du certificat.
Champ Valeur Nom Nom du certificat. Valeur Correspond à l’identificateur secret Azure Key Vault du certificat. Sélectionnez Appliquer, pour enregistrer les modifications de configuration du test de charge.
Lorsque vous exécutez maintenant votre test de charge, le Test de charge Azure récupère le certificat client à partir d’Azure Key Vault et l’injecte dans les requêtes web JMeter.
Étapes suivantes
- Découvrez comment paramétriser un test de charge.