//. 095 - La gestion des secrets et des .ENV (variables d’environnements)

Описание к видео //. 095 - La gestion des secrets et des .ENV (variables d’environnements)

Les variables d'environnement sont essentielles pour la sécurité et la flexibilité des applications web. Bien que le fichier .ENV soit couramment utilisé, il présente des risques de partage d'informations sensibles. Des solutions alternatives comme les gestionnaires de mots de passe et les "secrets managers" offrent une meilleure sécurité pour le stockage et le partage d'informations confidentielles, particulièrement dans les environnements de développement collaboratifs et les déploiements cloud.

Pourquoi utiliser des variables d’environnement ?

Les variables d'environnement sont utilisées dans les programmes de sites web pour plusieurs raisons importantes :

*Sécurité :* Elles permettent de stocker des informations sensibles (comme des clés API ou des mots de passe) en dehors du code source, réduisant ainsi les risques de fuites de données.
*Flexibilité :* Elles facilitent la configuration du site pour différents environnements (développement, test, production) sans modifier le code.
*Déploiement simplifié :* Elles permettent de déployer la même base de code dans différents environnements en changeant simplement les variables d'environnement.

Le système de gestion qui est devenu le plus utilisé dans le développement web est le fichier .ENV

Sécurité de l’application et maintenabilité

On ne doit pas mettre de token, password, etc.. dans le code en dur.
Pour la sécurité
pour la maintenance et la centralisation

Exemple récent avec le rabbit boîtier IA et son leak de token en dur qui se trouvait dans la code base. https://www.theverge.com/2024/6/26/24...

Attention à GIT

Dans le cas où un token (pour test) se retrouve dans le code envoyé sur GIT, attention à l’historique   / how-to-remove-env-from-git-commit-history  

Les inconvénients du .ENV

On partage en équipe les éléments confidentiels et ça se retrouve sur la machine du dev.

C’est aussi une bonne pratique pour le reste : accès ftp, hébergement, etc…

Gestionnaire de password ( Dashlane / Bitwarden / ProtonPass / 1Password )
https://www.dashlane.com/fr
https://bitwarden.com/fr-fr/
https://proton.me/fr/pass
https://1password.com/

Les externes

Il n’est pas rare d’avoir des personnes externes dans des équipes : stage, freelance, etc..

On se retrouve à partager des accès et tokens avec ces personnes.

Heureusement, c’est souvent des éléments de dev. Mais parfois il y a des licences spécifiques payées par l’entreprise.

Les frameworks Hybrides :

Pour un framework back, pas de problème. Les variables par défaut ne son jamais affiché en front.

Par contre pour les FW comme NextJS, NuxtJS, etc.. Le code est partagé entre le SSR et le Front.

NextJS impose `NEXT_PUBLIC_` pour rendre une variable disponible en "public"

NuxtJS donne la possibilité d’utiliser `NUXT_PUBLIC_` pour placer une variable dans `runtimeConfig.public`

Bonne pratique pour les accès SSH

clé SSH
PassKey
YubiKey → https://blog.maxds.fr/ssh-with-yubikey/

Les secrets managers

Les solutions pour stocker à part les variables d’environnements

[https://www.doppler.com](https://www.doppler.com/pricing) $
https://www.hashicorp.com/products/vault $$$$$
https://infisical.com/ $ + OS ❤️❤️❤️
https://www.dotenv.org/ VSCode ❤️
https://getsops.io/ OS
[https://github.com/envault/envault](https://github.com/envault/envault?ta...) self-hosted

Natif dans les fournisseurs de cloud

AWS Secret Manager
GCP Secret Manager
Azure Key Vault

Article et vidéo :

  / its-time-to-deprecate-the-env-file-for-a-b...  
Yoann Dev sur Infisical    • Vos SECRETS seront bien gardés avec I...  

Retrouvez Double Slash sur :

Twitter :   / doubleslash_dev  
Twitch :   / doubleslash_dev  
Discord :   / discord  
Site internet : https://double-slash.dev

Les plateformes de podcast :

Google Podcast : https://bit.ly/31aKKYd
iTunes : https://apple.co/3fTguFo
Spotify : https://spoti.fi/317wtvD
Deezer : https://bit.ly/3i0hDgy


Sommaire

00:00:00 Introduction
00:06:20 Pourquoi on utilise des variables d'environnements
00:12:10 Bonne pratique, bon conseil !
00:13:50 Attention à l’historique des outils de versionning
00:14:50 Gestion des passwords et accès
00:19:30 Gestions des externes et partage des accès
00:21:30 Comment les frameworks gèrent les variables publiques
00:24:20 Gestions des clés SSH
00:30:15 Le travail en équipe avec les variables d'environnements
00:34:30 Les gestionnaires de secrets
00:47:50 Fin

Комментарии

Информация по комментариям в разработке