Introduction

Effectué

Si vous voulez comprendre ce qui ne va pas avec la gestion des secrets de configuration d’une application, ne cherchez pas plus loin. L’histoire de Steve, développeur senior, est édifiante.

Steve travaillait dans une entreprise de livraison de nourriture pour animaux depuis quelques semaines. Alors qu’il examinait en détail l’application web de la société (une application web .NET Core utilisant une base de données Azure SQL pour stocker les informations de commandes, ainsi que des API tierces pour la facturation par cartes de crédit et le mappage des adresses des clients), Steve a accidentellement collé la chaîne de connexion de la base de données de commandes dans un forum public.

Quelques jours plus tard, le service de comptabilité a remarqué que l’entreprise livrait beaucoup de nourriture pour animaux de compagnie qui n’avait pas été payée. Une personne a utilisé la chaîne de connexion pour accéder à la base de données et passer des commandes en mettant directement à jour la base de données.

Après s’être rendu compte de son erreur, Steve a rapidement changé le mot de passe de la base de données pour bloquer l’attaquant. Après que Steve a modifié le mot de passe, le site web a commencé à renvoyer des erreurs aux utilisateurs. Le serveur d’application avait besoin d’une configuration mise à jour avec le nouveau mot de passe. Steve s’était connecté directement au serveur d’applications et avait changé la configuration de l’application au lieu d’effectuer un redéploiement, mais le serveur continuait d’afficher des échecs de requêtes.

Steve a oublié que plusieurs instances de l’application s’exécutaient sur des serveurs différents. Il n’a modifié la configuration que pour une seule d’entre elles. Un redéploiement complet fut nécessaire, entraînant un temps d’arrêt supplémentaire de 30 minutes.

Heureusement pour Steve, le service comptabilité a pu corriger les erreurs rapidement, et un seul jour de commandes a été affecté. Toutefois, Steve n’aura peut-être pas autant de chance la prochaine fois. Il doit trouver un moyen d’améliorer la sécurité et la maintenabilité de l’application.

La fuite d’une chaîne de connexion à une base de données, d’une clé API ou d’un mot de passe de service peut avoir des conséquences catastrophiques. Des données dérobées ou supprimées, des préjudices financiers, des temps d’arrêt d’applications et d’autres dommages irréparables causés aux actifs et à la réputation de l’entreprise sont autant de résultats potentiels. Malheureusement, des valeurs de secret doivent souvent être déployées simultanément dans plusieurs endroits, et modifiées à des moments inopportuns. Et vous devez les stocker quelque part ! Découvrez comment Steve peut réduire les risques, tout en améliorant la sécurité et la maintenabilité de son application grâce à Azure Key Vault.

Objectifs d’apprentissage

Dans ce module, vous allez :

  • Explorer les types d’informations pouvant être stockés dans Azure Key Vault
  • Créer un coffre de clés Azure et l’utiliser pour stocker des valeurs de configuration de secret
  • Activer l’accès sécurisé au coffre Azure Key Vault à partir d’une application web Azure App Service avec des identités managées pour les ressources Azure
  • Implémenter une application web qui récupère les secrets du coffre Azure Key Vault