Ein Secrets Manager ist ein Tool zum Speichern und Verwalten Ihrer Passwörter, API-Schlüssel, Datenbankanmeldeinformationen und anderer Arten sensibler Daten, die Ihre Anwendung benötigt.
Geheimnisse, die in Anwendungsquellcodes fest codiert oder in Klartextdateien gespeichert sind, damit Ihre Codes sie nutzen können, können von böswilligen Einheiten ausgenutzt werden, die die Anwendungen oder Komponenten in Ihrem System inspizieren können. Dieses Risiko kann mit Secrets Managern gemindert werden.
dotenv-vault ist ein solcher Secrets-Manager, der eine sicherere Alternative zur Speicherung Ihrer Geheimnisse im Code bietet.
[!Notiz]
Dies ist kein Tutorial zur Verwendung von dotenv-vault. Das Ziel dieses Dokuments besteht darin, zu erklären, wie ein Secret Manager Entwicklern helfen kann, Geheimnisse nicht fest zu codieren oder sie in Klartextdateien zu speichern. Hier erfahren Sie, wie Sie mit dotenv-vault beginnen.
Angenommen, ich habe vertrauliche Informationen über eine bestimmte Figur im Film Star Wars: Episode V und möchte, dass mein Programm diese Informationen verwendet.
def spoiler(): spoiler = "Darth Vader is Luke Skywalker's father" return { "spoiler": spoiler }
Anstatt die Informationen fest zu codieren, würde ich sie als Umgebungsvariable in die .env-Datei schreiben:
SPOILER="Darth Vader is Luke Skywalker's father"
Mit dotenv-vault kann mein Programm über die Umgebungsvariable auf die vertraulichen Informationen zugreifen.
import os from dotenv_vault import load_dotenv load_dotenv() # Take environment variables from .env def spoiler(): spoiler = os.getenv("SPOILER") # Get the secret return { "spoiler": spoiler }
Dann verschlüssele ich die Umgebungsvariable, indem ich die .env-Datei synchronisiere. Sobald die Synchronisierung abgeschlossen ist, können Daten namens DOTENV_KEY generiert werden. Diese Ausgabe kann von meinem Programm als Umgebungsvariable in der Produktion gelesen werden.
DOTENV_KEY='dotenv://:[email protected]/vault/.env.vault?environment=production' python main.py
Dadurch kann meine Produktionsanwendung auf das Geheimnis zugreifen.
{ "spoiler": "Darth Vader is Luke Skywalker's father" }
Es gibt eine Vielzahl von Secrets-Management-Lösungen. Jeder Secrets-Manager hat seine eigenen Vor- und Nachteile. Wählen Sie die Option, die den Anforderungen Ihres Unternehmens am besten entspricht.
Liste alternativer Secrets Manager:
Haftungsausschluss: Alle bereitgestellten Ressourcen stammen teilweise aus dem Internet. Wenn eine Verletzung Ihres Urheberrechts oder anderer Rechte und Interessen vorliegt, erläutern Sie bitte die detaillierten Gründe und legen Sie einen Nachweis des Urheberrechts oder Ihrer Rechte und Interessen vor und senden Sie ihn dann an die E-Mail-Adresse: [email protected] Wir werden die Angelegenheit so schnell wie möglich für Sie erledigen.
Copyright© 2022 湘ICP备2022001581号-3