Partie 13 — Secrets & données sensibles
⏱️ TL;DR — Deux catégories d’informations à protéger tout au long du cours : les secrets (ce qui donne accès — clés d’API, mots de passe de base, clés de signature, tokens) et les données sensibles (les données personnelles de tes utilisateurs — PII). Pour les secrets : ne jamais les commiter (l’erreur n°1), les stocker dans un vault / des variables d’environnement, les chiffrer au repos, et les faire tourner (rotation) — surtout après une fuite (un secret qui a touché Git est grillé, on le régénère). Pour les données sensibles : minimiser (ne collecter/garder que le nécessaire), contrôler l’accès, chiffrer ce qui le mérite, et ne pas les fuiter dans les logs — un enjeu à la fois de sécurité et de RGPD (voir le cours RGPD).
Le problème qu’on résout
Les secrets et les données personnelles sont les actifs que les attaquants convoitent le plus (Partie 1). Or ils fuient par des voies banales : une clé d’API commitée « juste pour tester », un .env poussé par erreur, un mot de passe de base dans le code, un token dans une URL loggée, un objet utilisateur complet renvoyé au client, une donnée personnelle imprimée dans les logs. Chacune de ces négligences a mené à des fuites réelles et massives — les dépôts publics regorgent de secrets exposés, activement moissonnés par des bots.
Cette partie rassemble et approfondit ce qui a été effleuré ailleurs (secrets Symfony/Next, PII) en une discipline cohérente : où vivent les secrets, comment on les protège et les fait tourner, et comment on manipule les données personnelles sans les exposer.
Ce que tu sauras faire à la fin de cette partie
- Ne jamais commiter de secret :
.gitignore, détection, et quoi faire si un secret a fuité (révoquer/régénérer). - Stocker les secrets correctement : variables d’environnement, vaults, chiffrement au repos.
- Mettre en place la rotation des secrets et le principe « un secret par usage ».
- Manipuler les données personnelles (PII) en sécurité : minimisation, contrôle d’accès, chiffrement.
- Ne pas fuiter de secrets ni de PII dans les logs (lien avec la Partie 15 et le RGPD).
Les chapitres
| # | Chapitre | En un mot |
|---|---|---|
| 13.1 | Ne jamais commiter un secret | .gitignore, scan de secrets, révocation après fuite. |
| 13.2 | Vaults, rotation & chiffrement | Où stocker, chiffrement au repos, rotation, un secret par usage. |
| 13.3 | PII, logs & minimisation | Données personnelles, ne pas les fuiter (logs), minimisation, RGPD. |
Une fois les secrets et données protégés dans l’appli, on durcit ce qui l’entoure : la Partie 14 — Durcir l’infra & le déploiement.
On commence par l’erreur la plus courante : Ne jamais commiter un secret.