Stocker les secrets (mots de passe) dans un fichier séparé
Quelle est la façon la plus simple de stocker de l'application des secrets (mots de passe, jetons d'accès) pour un script Python? Je pensais que ça serait un *.yml
fichier comme en Ruby, mais étonnamment, j'ai trouvé que ce n'était pas le cas. Donc, qu'est-ce donc? Ce sont les plus simples des solutions?
Je veux les mettre dans un séparé fichier parce que de cette façon je vais être capable de ne pas de pousser ce fichier sur un dépôt github.
- Que sur les variables d'environnement?
- Que sur les variables d'environnement?
- Double Possible de j'ai besoin de stocker en toute sécurité d'un nom d'utilisateur et le mot de passe en Python, quelles sont mes options?
Vous devez vous connecter pour publier un commentaire.
Je pense que le stockage des informations d'identification à l'intérieur de l'autre *py fichier est votre pari le plus sûr. Puis il suffit de l'importer. Exemple ressemblerait à ceci
config.py
main.py
(username, password)
tuple à un fichier et de le charger à chaque fois.J'avais exactement la même question et en fait fini avec la même solution que kecer suggéré. Car j'ai besoin d'utiliser des dizaines de scripts, j'ai créé une bibliothèque. Permettez-moi de partager cette solution avec vous.
credlib.py -- bibliothèque universelle pour gérer les informations d'identification
mycredentials.py -- mon fichier local pour stocker toutes les informations d'identification
mysystemlib.py -- c'est un général de la bibliothèque pour accéder à mon système (à la fois de nouvelles informations d'identification du système et de l'héritage est pris en charge)
main.py -- script principal qui combine les informations d'identification et le système libs
Veuillez noter que l'héritage de nom d'hôte/nom d'utilisateur/mot de passe de manière encore des travaux de sorte qu'il n'affecte pas les anciens scripts:
Cela a beaucoup d'avantages:
.gitignore
), de sorte que nos scripts python/libs peut être partagé avec d'autres, sans s'exposer à des informations d'identification (chacun définit ses propres informations d'identification dans leurs fichiers locaux)