Einführung
In diesem Lab erfahren Sie, wie Sie sensible Daten in Ihrer Docker-Umgebung effektiv verwalten können, indem Sie den Befehl docker secret create verwenden. Sie werden verschiedene Methoden zum Erstellen von Geheimnissen (Secrets) erkunden, einschließlich des Lesens von Daten aus der Standard-Eingabe (STDIN) und aus einer Datei.
Das Lab führt Sie durch den Prozess des Erstellens von Geheimnissen mit bestimmten Namen und aus verschiedenen Quellen. Sie werden auch lernen, wie Sie Labels zu Ihren Geheimnissen hinzufügen können, um sie besser zu organisieren, und wie Sie die Details der von Ihnen erstellten Geheimnisse untersuchen können, um ihren Inhalt und ihre Konfiguration zu überprüfen. Diese praktische Erfahrung wird Sie mit den grundlegenden Fähigkeiten ausstatten, die erforderlich sind, um sensible Informationen beim Bereitstellen von Anwendungen mit Docker Swarm zu schützen.
Ein Geheimnis (Secret) aus der Standard-Eingabe (STDIN) erstellen
In diesem Schritt erfahren Sie, wie Sie ein Docker-Geheimnis erstellen, indem Sie Daten aus der Standard-Eingabe (STDIN) lesen. Dies ist nützlich, um sensible Informationen an einen Container zu übergeben, ohne sie direkt in einer Datei auf dem Host-System zu speichern.
Zunächst erstellen wir ein einfaches Geheimnis, das ein Passwort enthält. Wir verwenden den echo-Befehl, um das Passwort auszugeben, und leiten es dann an den docker secret create-Befehl weiter.
echo "mysecretpassword" | docker secret create my_password_secret -
In diesem Befehl:
echo "mysecretpassword"gibt die Zeichenkette "mysecretpassword" an die Standardausgabe aus.|ist der Pipe-Operator, der die Ausgabe desecho-Befehls als Eingabe an den nächsten Befehl sendet.docker secret createist der Befehl zum Erstellen eines neuen Docker-Geheimnisses.my_password_secretist der Name, den wir diesem Geheimnis geben.-teiltdocker secret createmit, die Geheimnisdaten aus der STDIN zu lesen.
Als Ausgabe sollten Sie die ID des neu erstellten Geheimnisses sehen.
Ein Geheimnis (Secret) aus einer Datei erstellen
In diesem Schritt erfahren Sie, wie Sie ein Docker-Geheimnis aus dem Inhalt einer Datei erstellen können. Dies ist eine gängige Methode zur Verwaltung von Geheimnissen wie API-Schlüsseln, Zertifikaten oder Konfigurationsdateien.
Zunächst erstellen wir eine einfache Datei, die einige sensible Daten enthält. Wir werden eine Datei namens api_key.txt in Ihrem Home-Verzeichnis (~/project) erstellen.
echo "my_super_secret_api_key_12345" > ~/project/api_key.txt
Dieser Befehl verwendet echo, um die Zeichenkette "my_super_secret_api_key_12345" in die Datei ~/project/api_key.txt zu schreiben.
Jetzt erstellen wir ein Docker-Geheimnis unter Verwendung des Inhalts dieser Datei.
docker secret create my_api_key_secret ~/project/api_key.txt
In diesem Befehl:
docker secret createist der Befehl zum Erstellen eines neuen Docker-Geheimnisses.my_api_key_secretist der Name, den wir diesem Geheimnis geben.~/project/api_key.txtist der Pfad zur Datei, die die Geheimnisdaten enthält. Docker liest den Inhalt dieser Datei und speichert ihn als Geheimnis.
Als Ausgabe sollten Sie die ID des neu erstellten Geheimnisses sehen.
Ein Geheimnis (Secret) mit Labels erstellen
In diesem Schritt erfahren Sie, wie Sie Labels zu einem Docker-Geheimnis hinzufügen können, wenn Sie es erstellen. Labels sind Schlüssel-Wert-Paare, die Sie an Docker-Objekte anhängen können, um sie zu organisieren und zu identifizieren. Dies ist besonders in größeren Bereitstellungen nützlich.
Wir werden ein weiteres Geheimnis aus der Standard-Eingabe (STDIN) erstellen, aber diesmal fügen wir Labels hinzu.
echo "anothersecretvalue" | docker secret create --label env=production --label app=webserver my_labeled_secret -
In diesem Befehl:
echo "anothersecretvalue"liefert die Geheimnisdaten über die STDIN.docker secret createist der Befehl zum Erstellen des Geheimnisses.--label env=productionfügt ein Label mit dem Schlüsselenvund dem Wertproductionhinzu.--label app=webserverfügt ein weiteres Label mit dem Schlüsselappund dem Wertwebserverhinzu. Sie können mehrere Labels hinzufügen, indem Sie die--label-Option wiederholen.my_labeled_secretist der Name des Geheimnisses.-gibt an, dass die Geheimnisdaten aus der STDIN gelesen werden sollen.
Als Ausgabe sollten Sie die ID des neu erstellten Geheimnisses sehen. Das Hinzufügen von Labels hilft Ihnen, Ihre Geheimnisse zu kategorisieren, was es später einfacher macht, sie zu verwalten und zu filtern.
Das erstellte Geheimnis (Secret) untersuchen
In diesem Schritt erfahren Sie, wie Sie die Details eines Docker-Geheimnisses mithilfe des Befehls docker secret inspect prüfen können. Dieser Befehl liefert detaillierte Informationen über ein Geheimnis, einschließlich seiner ID, seines Namens, der Erstellungszeit und aller damit verbundenen Labels.
Lassen Sie uns das Geheimnis prüfen, das wir im vorherigen Schritt erstellt haben, my_labeled_secret.
docker secret inspect my_labeled_secret
Dieser Befehl gibt ein JSON-Objekt aus, das die Details des my_labeled_secret enthält. Sie sollten Informationen wie die ID des Geheimnisses, seinen Namen (my_labeled_secret), die Zeit seiner Erstellung und die von uns hinzugefügten Labels (env=production und app=webserver) sehen.
Beachten Sie, dass aus Sicherheitsgründen die tatsächlichen Geheimnisdaten nicht angezeigt werden, wenn Sie ein Geheimnis prüfen.
Sie können auch die anderen von uns erstellten Geheimnisse prüfen:
docker secret inspect my_password_secret
docker secret inspect my_api_key_secret
Das Prüfen von Geheimnissen ist eine nützliche Methode, um ihre Existenz zu verifizieren, ihre Konfiguration zu überprüfen und sicherzustellen, dass die Labels korrekt angewendet wurden.
Zusammenfassung
In diesem Lab haben Sie gelernt, wie Sie sensible Daten in Docker effektiv mithilfe des Befehls docker secret create verwalten können. Sie haben das Erstellen von Geheimnissen (Secrets) geübt, indem Sie Daten direkt aus der Standard-Eingabe (STDIN) gelesen haben. Dies ist nützlich, um die Speicherung sensibler Informationen in Dateien auf dem Host zu vermeiden. Sie haben auch gelernt, wie Sie Geheimnisse aus dem Inhalt einer Datei erstellen können, was eine gängige Methode zur Verwaltung verschiedener Arten von sensiblen Daten wie API-Schlüsseln oder Zertifikaten ist.
Darüber hinaus haben Sie untersucht, wie Sie die Geheimnisverwaltung verbessern können, indem Sie während der Erstellung Labels hinzufügen. Dies ermöglicht eine bessere Organisation und Identifizierung von Geheimnissen. Schließlich haben Sie gelernt, wie Sie die Details der erstellten Geheimnisse prüfen können, um ihre Konfiguration und Inhalt zu überprüfen (obwohl die vollständigen Details des Prüfungsschritts in der Zusammenfassung nicht angegeben wurden). Diese Techniken bieten sichere Methoden zur Handhabung sensibler Informationen in Ihrer Docker-Umgebung.



