Sécuriser vos clés API avec les variables d'environnement
Cette vidéo explique pourquoi il ne faut jamais inclure une clé API directement dans le code source et comment utiliser des variables d'environnement pour sécuriser vos secrets. La démarche à adopter, aussi bien lors du développement que lors du déploiement en production, est détaillée.
Introduction et cadrage
Les notions clés sans jargon
Publier directement depuis son outil de génération
Mettre en ligne un site ou une app statique
Brancher un nom de domaine et le HTTPS
Sécuriser ses clés API, ses secrets et ses coûts
Contrôler l'accès et publier en règle
Déployer une app avec backend et base de données
Conteneuriser et déployer avec Docker
Gérer son propre serveur (VPS et nginx)
Détails de la leçon
Description de la leçon
Dans cette leçon, il est démontré l'importance de ne jamais stocker une clé API en clair dans le code source d'une application web.
La solution standard, conforme aux meilleures pratiques de l'industrie, consiste à utiliser une variable d'environnement pour stocker toute donnée sensible, comme une clé API. Cette méthode permet de protéger la valeur secrète en la séparant du code : le code fait simplement référence à la variable, sans jamais connaître sa valeur réelle. Deux environnements principaux sont distingués pour la configuration des variables : d'une part, l'environnement de développement, dans lequel un fichier nommé .env placé à la racine du projet regroupe les variables en toute confidentialité ; d'autre part, l'environnement de production, où la configuration se fait directement auprès de l'hébergeur, via une interface dédiée permettant d'ajouter les variables de manière chiffrée.
Les implications de sécurité sont largement détaillées, notamment le fait que, si le code côté client (frontend) accède à la variable d'environnement au moment du build, la valeur est alors exposée dans le navigateur, rendant nulle la protection. Par conséquent, il est essentiel d'utiliser les variables d'environnement uniquement côté serveur. Cette vidéo met également en avant la nécessité d'exclure le fichier .env des outils de versionnage comme GitHub, assurant que les secrets restent privés.
L'ensemble de ces recommandations vise à renforcer la sécurité et la fiabilité des applications web en production.
Objectifs de cette leçon
Comprendre les risques d'exposer une clé API dans le code, savoir configurer des variables d'environnement pour sécuriser les secrets en développement et production, et assimiler les bonnes pratiques liées à leur gestion dans les projets web.
Prérequis pour cette leçon
Notions de base en développement web, connaissance des concepts de clé API, compréhension des environnements de développement/production, et capacité à manipuler des fichiers de configuration tels que .env.
Métiers concernés
Développeur web, ingénieur DevOps, administrateur systèmes, architecte cloud, responsable Sécurité, consultant en cybersécurité, et tout professionnel gérant des environnements applicatifs sécurisés.
Alternatives et ressources
Outre l'utilisation des fichiers .env et des variables fournies par l'hébergeur, il existe des gestionnaires de secrets tels que HashiCorp Vault, AWS Secrets Manager, Azure Key Vault ou Google Secret Manager.
Questions & Réponses