Wie man den Befehl docker secret create zur Verwaltung sensibler Daten verwendet

DockerDockerBeginner
Jetzt üben

💡 Dieser Artikel wurde von AI-Assistenten übersetzt. Um die englische Version anzuzeigen, können Sie hier klicken

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.


Skills Graph

%%%%{init: {'theme':'neutral'}}%%%% flowchart RL docker(("Docker")) -.-> docker/ContainerOperationsGroup(["Container Operations"]) docker/ContainerOperationsGroup -.-> docker/inspect("Inspect Container") docker/ContainerOperationsGroup -.-> docker/create("Create Container") subgraph Lab Skills docker/inspect -.-> lab-555220{{"Wie man den Befehl docker secret create zur Verwaltung sensibler Daten verwendet"}} docker/create -.-> lab-555220{{"Wie man den Befehl docker secret create zur Verwaltung sensibler Daten verwendet"}} end

Erstellen eines Geheimnisses (Secret) aus der Standard-Eingabe (STDIN)

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 des echo-Befehls als Eingabe an den nächsten Befehl sendet.
  • docker secret create ist der Befehl zum Erstellen eines neuen Docker-Geheimnisses.
  • my_password_secret ist der Name, den wir diesem Geheimnis geben.
  • - teilt docker secret create mit, die Geheimnisdaten aus der STDIN zu lesen.

Als Ausgabe sollten Sie die ID des neu erstellten Geheimnisses sehen.

Erstellen eines Geheimnisses (Secret) aus einer Datei

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 create ist der Befehl zum Erstellen eines neuen Docker-Geheimnisses.
  • my_api_key_secret ist der Name, den wir diesem Geheimnis geben.
  • ~/project/api_key.txt ist 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.

Erstellen eines Geheimnisses (Secret) mit Labels

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 create ist der Befehl zum Erstellen des Geheimnisses.
  • --label env=production fügt ein Label mit dem Schlüssel env und dem Wert production hinzu.
  • --label app=webserver fügt ein weiteres Label mit dem Schlüssel app und dem Wert webserver hinzu. Sie können mehrere Labels hinzufügen, indem Sie die --label-Option wiederholen.
  • my_labeled_secret ist 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.

Prüfen des erstellten Geheimnisses (Secret)

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.