Outils de développement · Docker exécuté vers Docker compose converter
Les fichiers Compose contiennent des secrets : gardez les mots de passe hors des blocs d'environnement
· Pourquoi c'est important
menu fixe composer secrets
Une commande d'exécution Docker avec -e DB_PASSWORD=... devient un fichier YAML avec le même mot de passe en texte brut. Cet article explique pourquoi c'est important, comment déplacer les secrets et pourquoi la conversion elle-même ne doit pas quitter votre ordinateur.
Le mot de passe est dans le diff — le fichier Compose converti est sur le point d'être poussé avec les valeurs -e copiées textuellement
Le mot de passe est dans le diff — le fichier Compose converti est sur le point d'être poussé avec les valeurs -e copiées textuellement. Preuve : un mot de passe littéral -e apparaît textuellement dans la sortie de l'environnement. Reproduisez le placement secret avec des littéraux jetables. Associez chaque occurrence source à des variables littérales et au traitement du navigateur ; réserver le stockage des informations d'identification et les fichiers pour examen à destination.
L'incident des secrets révèle également qu'une limite distincte de l'incident des secrets est que cette bibliothèque de conversion elle-même effectue uniquement le traitement des chaînes locales. Preuve : cette bibliothèque de conversion effectue elle-même uniquement le traitement des chaînes locales. Cette contrainte de placement secret est un point d'arrêt. Inspectez les variables littérales et le traitement du navigateur sans comportement de fabrication, puis documentez une vérification de l'hôte pour le stockage des informations d'identification et les fichiers.
Ce qui se retrouve dans un fichier Compose : mots de passe, jetons, noms d'hôte internes et chemins qui décrivent votre infrastructure
Ce qui se retrouve dans un fichier Compose : mots de passe, jetons, noms d'hôte internes et chemins qui décrivent votre infrastructure. Preuve : les réseaux de noms d'hôtes montés et les références d'images peuvent divulguer l'infrastructure. Tracez les jetons de placement secret dans les variables littérales et le traitement du navigateur. Séparez les valeurs ordonnées des champs de dernière valeur ; le stockage des informations d'identification et des fichiers est en dehors de la collection.
Une limite liée au mécanisme des secrets est qu'une limite distincte de la grammaire des secrets est que les références env_file sont émises mais non. Preuve : des références env_file sont émises mais non. Utilisez ce fait de placement secret pour prédire un membre ou un scalaire dans les variables littérales et le traitement du navigateur. Vérifiez les avertissements avant de décider quoi que ce soit concernant le stockage des informations d'identification et les fichiers.
Un convertisseur distant pourrait divulguer des valeurs collées ; ce référentiel ne prouve que son propre chemin de conversion local
Pourquoi les convertisseurs en ligne représentent un risque : coller un fichier Docker dans un formulaire qui est publié sur un serveur envoie tous les secrets qu'il contient à un tiers. Preuve : la soumission du texte de commande à distance révélerait toutes les valeurs incluses ; Un convertisseur distant pourrait divulguer des valeurs collées ; ce référentiel ne prouve que son propre chemin de conversion local. Jugez la sérialisation du placement secret à partir de son modèle. La citation dans des variables littérales et le traitement du navigateur protègent les types mais ne donnent aucune preuve opérationnelle pour le stockage des informations d'identification et des fichiers.
La deuxième observation de sérialisation des secrets est de conserver pour cette section des secrets, la commande originale pour cette section des secrets et les avertissements à côté de cette section des secrets, ce fichier candidat que le résultat de la sérialisation des secrets sépare représenté pour cette section des secrets, la configuration du contexte absent pour cette section des secrets, les métadonnées d'image sont en dehors de la transformation de sérialisation des secrets. Preuve : le référentiel ne donne aucune preuve d'exécution ou historique plus large. Cette sortie de placement secret sépare les paramètres du contexte indisponible. Gardez les variables littérales et le traitement du navigateur révisables et vérifiez le stockage des informations d'identification et les fichiers de manière indépendante.
La bibliothèque de conversion de ToolAcre n'effectue aucune requête, tandis que la page environnante peut toujours charger les ressources du site divulguées.
Comment se comporte le convertisseur de ToolAcre : la conversion s'exécute dans le navigateur, rien n'est téléchargé et le panneau réseau l'affiche. Preuve : cette bibliothèque de conversion elle-même effectue uniquement le traitement des chaînes locales ; La bibliothèque de conversion de ToolAcre n'effectue aucune requête, tandis que la page environnante peut toujours charger les ressources du site divulguées. Arrêtez-vous à l'exception de placement secret au lieu de deviner. Tout ajout de variables quasi littérales et de traitement du navigateur nécessite une raison spécifique au déploiement liée au stockage des informations d'identification et aux fichiers.
Une autre contrainte d'exception des secrets est que pour cette section des secrets, conservez l'original de la commande et des avertissements de cette section des secrets à côté de ce fichier candidat. Conservez la commande de placement secret d'origine à côté des avertissements. La comparaison montre ce que contiennent les variables littérales et le traitement du navigateur et quelle décision de stockage des informations d'identification et de fichiers reste manuelle.
Déplacement des secrets hors du fichier — interpolation ${VAR} à partir d'un .env, d'un env_file et de secrets basés sur un fichier ignorés par git : pour les images qui les prennent en charge
Déplacement des secrets hors du fichier — interpolation ${VAR} à partir d'un .env, d'un env_file et de secrets basés sur un fichier ignorés par git : pour les images qui les prennent en charge. Créez l'exemple de placement secret à partir de noms synthétiques. Rendez chaque variable littérale et élément de traitement du navigateur traçables sans exposer les détails du stockage des informations d'identification de production et des fichiers.
Le même exemple de secrets démontre qu'une limite d'exemple de secrets distincte est que la conversion locale supprime un chemin de transfert sans sécuriser le texte en clair. Preuve : la conversion locale supprime un chemin de transfert sans sécuriser le texte en clair. Le fait de placement secret apparié doit être visible dans les variables littérales et dans le traitement du navigateur. Enregistrez cette ligne et évitez les hypothèses sur le stockage des informations d’identification et les fichiers.
Exemple pratique : conversion d'une commande MariaDB — le YAML brut avec le secret, puis la version nettoyée avec .env et .gitignore
Exemple pratique : conversion d'une commande MariaDB — le YAML brut avec le secret, puis la version nettoyée avec .env et .gitignore. Preuve : un mot de passe pédagogique doit être remplacé manuellement avant d'être enregistré. Traduisez la conséquence du placement secret en une variable littérale observable et une différence de traitement du navigateur. Docker est propriétaire du dernier stockage des informations d'identification et du verdict des fichiers.
L'implémentation des conséquences des secrets montre également. Une limite distincte de l'effet des secrets est qu'un mot de passe littéral -e apparaît textuellement dans la sortie de l'environnement. Divisez les responsabilités en matière de placement des secrets : la conversion écrit les variables littérales et le traitement du navigateur, le référentiel supprime les secrets et les opérateurs valident le stockage des informations d'identification et les fichiers.
Ce que cela ne couvre pas : les gestionnaires de secrets, les référentiels chiffrés et l'injection d'exécution, qui varient selon la plate-forme
Ce que cela ne couvre pas : les gestionnaires de secrets, les référentiels chiffrés et l'injection d'exécution, qui varient selon la plate-forme. Preuve : les gestionnaires de secrets et la livraison cryptée varient selon les plateformes. Limitez la portée du placement secret aux variables littérales et aux branches de traitement du navigateur présentées ici. Les formulaires et valeurs par défaut voisins ne peuvent pas répondre aux questions sur le stockage des informations d’identification et les fichiers.
Une autre limite de portée des secrets découle d'une limite distincte de limite de secrets : les réseaux de noms d'hôtes et les références d'images peuvent divulguer l'infrastructure. Traitez cette limite de placement secrète comme une exclusion. Préférez les variables littérales précises et le traitement du navigateur aux suppositions sur le stockage des informations d'identification et les fichiers.
À retenir : convertissez localement, puis externalisez les secrets – le convertisseur vous donne le YAML sans exposition
À retenir : convertissez localement, puis externalisez les secrets – le convertisseur vous donne le YAML sans exposition. Auditez le placement du secret en tant qu'option source, champ de modèle, variables littérales, ligne de traitement et avertissement du navigateur. Supprimez les secrets avant de vérifier le stockage des informations d'identification et les fichiers.
Enfin, la source des secrets à retenir confirme Une limite de décision distincte en matière de secrets est que la soumission du texte de commande à distance divulguerait toutes les valeurs incluses. Preuve : la soumission du texte de commande à distance révélerait toutes les valeurs incluses. Fermez le placement secret de manière étroite : les variables littérales et le traitement du navigateur sont candidats ; Le stockage des informations d'identification, les fichiers et l'équivalence du shell ne sont pas garantis.