Wie man den Befehl docker trust revoke verwendet, um Image-Signaturen zu entfernen

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 werden wir untersuchen, wie man Image-Signaturen mit Docker Content Trust verwaltet, wobei wir uns speziell auf den Befehl docker trust revoke konzentrieren. Wir beginnen damit, ein signiertes Image zu untersuchen, um zu verstehen, wie Signaturen angezeigt und verifiziert werden.

Nach der Untersuchung werden wir lernen, wie man Signaturen von einem bestimmten signierten Tag eines Images widerruft. Anschließend werden wir überprüfen, ob der Widerruf erfolgreich war, indem wir das Image erneut untersuchen. Abschließend werden wir zeigen, wie man Signaturen von allen Tags innerhalb eines Repositorys widerruft und bestätigen, dass alle Signaturen entfernt wurden. Dieses Lab bietet praktische Erfahrungen in der Verwaltung des Vertrauens, das mit Ihren Docker-Images verbunden ist.


Skills Graph

%%%%{init: {'theme':'neutral'}}%%%% flowchart RL docker(("Docker")) -.-> docker/ContainerOperationsGroup(["Container Operations"]) docker(("Docker")) -.-> docker/ImageOperationsGroup(["Image Operations"]) docker/ContainerOperationsGroup -.-> docker/inspect("Inspect Container") docker/ImageOperationsGroup -.-> docker/pull("Pull Image from Repository") docker/ImageOperationsGroup -.-> docker/tag("Tag an Image") docker/ImageOperationsGroup -.-> docker/images("List Images") subgraph Lab Skills docker/inspect -.-> lab-555254{{"Wie man den Befehl docker trust revoke verwendet, um Image-Signaturen zu entfernen"}} docker/pull -.-> lab-555254{{"Wie man den Befehl docker trust revoke verwendet, um Image-Signaturen zu entfernen"}} docker/tag -.-> lab-555254{{"Wie man den Befehl docker trust revoke verwendet, um Image-Signaturen zu entfernen"}} docker/images -.-> lab-555254{{"Wie man den Befehl docker trust revoke verwendet, um Image-Signaturen zu entfernen"}} end

Untersuchen eines signierten Images, um seine Signaturen anzuzeigen

In diesem Schritt werden wir lernen, wie man ein signiertes Docker-Image untersucht, um seine Signaturen anzuzeigen. Docker Content Trust ermöglicht es Ihnen, die Integrität und den Herausgeber von Images zu überprüfen. Wenn ein Image signiert ist, bedeutet dies, dass der Herausgeber das Image kryptografisch signiert hat, und Sie können diese Signatur überprüfen, um sicherzustellen, dass das Image nicht manipuliert wurde.

Zunächst müssen wir Docker Content Trust aktivieren. Dies geschieht, indem Sie die Umgebungsvariable DOCKER_CONTENT_TRUST auf 1 setzen.

export DOCKER_CONTENT_TRUST=1

Lassen Sie uns nun ein signiertes Image herunterladen. Wir verwenden das docker/trusttest-Image, das speziell für das Testen von Docker Content Trust entwickelt wurde.

docker pull docker/trusttest:latest

Wenn Sie ein signiertes Image mit aktiviertem Docker Content Trust herunterladen, überprüft Docker die Signatur. Wenn die Signatur gültig ist, wird der Download erfolgreich sein. Wenn die Signatur ungültig oder fehlt, wird der Download fehlschlagen.

Um die Signaturen eines signierten Images zu untersuchen, verwenden wir den Befehl docker trust inspect, gefolgt vom Namen des Images.

docker trust inspect docker/trusttest:latest

Dieser Befehl gibt Informationen über die Signaturen des Images aus, einschließlich der Unterzeichner und ihrer Schlüssel. Sie sollten Details zu den Signaturen sehen, die mit dem latest-Tag des docker/trusttest-Images verknüpft sind. Diese Ausgabe bestätigt, dass das Image signiert ist und zeigt, wer es signiert hat.

Widerruf von Signaturen für einen bestimmten signierten Tag

In diesem Schritt werden wir lernen, wie man Signaturen für einen bestimmten Tag eines signierten Docker-Images widerruft. Der Widerruf einer Signatur bedeutet, dass die bestehende Signatur für einen bestimmten Image-Tag ungültig wird. Dies ist nützlich, wenn ein Schlüssel kompromittiert wurde oder wenn Sie eine bestimmte Version eines Images nicht mehr vertrauen möchten.

Um Signaturen für einen bestimmten Tag zu widerrufen, verwenden wir den Befehl docker trust revoke, gefolgt vom Namen und dem Tag des Images. Wir werden die Signatur für den latest-Tag des docker/trusttest-Images widerrufen.

docker trust revoke docker/trusttest:latest

Wenn Sie diesen Befehl ausführen, werden Sie aufgefordert, den Widerruf zu bestätigen. Geben Sie y ein und drücken Sie die Eingabetaste, um fortzufahren.

Are you sure you want to revoke signature for docker/trusttest:latest? (y/n) y

Nach der Bestätigung wird Docker die Signatur für den angegebenen Tag widerrufen. Diese Aktion aktualisiert die Vertrauensdaten für das Image im Registry.

Das Image erneut untersuchen, um den Widerruf zu überprüfen

In diesem Schritt werden wir das Image erneut untersuchen, um zu überprüfen, ob die Signatur für den latest-Tag erfolgreich widerrufen wurde. Nach dem Widerruf der Signatur im vorherigen Schritt sollten die Vertrauensdaten für diesen bestimmten Tag entfernt oder als ungültig markiert sein.

Wir verwenden den gleichen docker trust inspect-Befehl wie zuvor, um die Signaturen für das docker/trusttest:latest-Image zu überprüfen.

docker trust inspect docker/trusttest:latest

Diesmal sollte die Ausgabe anzeigen, dass es keine Signaturen für den latest-Tag gibt. Möglicherweise sehen Sie Informationen zu anderen Tags, wenn diese existieren und signiert sind, aber der Abschnitt für latest sollte keine gültigen Signaturen anzeigen. Dies bestätigt, dass der Widerruf erfolgreich war.

Wenn Sie versuchen, das docker/trusttest:latest-Image mit aktivierter DOCKER_CONTENT_TRUST=1 nach dem Widerruf der Signatur herunterzuladen, sollte der Download fehlschlagen, da das Image für diesen bestimmten Tag nicht mehr vertrauenswürdig ist.

Widerruf von Signaturen für alle Tags in einem Repository

In diesem Schritt werden wir lernen, wie man Signaturen für alle Tags in einem bestimmten Docker-Image-Repository widerruft. Dies ist nützlich, wenn Sie das Vertrauen in ein gesamtes Repository vollständig entfernen müssen, vielleicht aufgrund eines Sicherheitsvorfalls oder einer Entscheidung, keine Images mehr von dieser Quelle zu verwenden.

Um Signaturen für alle Tags in einem Repository zu widerrufen, verwenden wir den Befehl docker trust revoke, gefolgt vom Namen des Repositorys, ohne einen Tag anzugeben. Wir werden alle Signaturen für das docker/trusttest-Repository widerrufen.

docker trust revoke docker/trusttest

Wenn Sie diesen Befehl ausführen, werden Sie aufgefordert, zu bestätigen, dass Sie die Signaturen für alle Tags im Repository widerrufen möchten. Geben Sie y ein und drücken Sie die Eingabetaste, um fortzufahren.

Are you sure you want to revoke all signatures for docker/trusttest? (y/n) y

Nach der Bestätigung wird Docker die Signaturen für alle Tags, die mit dem docker/trusttest-Repository verknüpft sind, widerrufen. Diese Aktion entfernt effektiv die Vertrauensdaten für das gesamte Repository in der Registry.

Das Repository untersuchen, um zu überprüfen, dass alle Signaturen entfernt wurden

In diesem letzten Schritt werden wir das docker/trusttest-Repository erneut untersuchen, um zu überprüfen, dass alle Signaturen von allen seinen Tags erfolgreich entfernt wurden. Nach dem Widerruf aller Signaturen im vorherigen Schritt sollten die Vertrauensdaten für das gesamte Repository entfernt sein.

Wir verwenden den Befehl docker trust inspect, diesmal geben wir nur den Namen des Repositorys an, ohne einen Tag.

docker trust inspect docker/trusttest

Die Ausgabe dieses Befehls sollte nun anzeigen, dass keine Signaturen für das docker/trusttest-Repository gefunden wurden. Dies bestätigt, dass der Widerruf aller Signaturen erfolgreich war.

Dies schließt das Lab zum Widerruf von Docker-Image-Signaturen mit Docker Content Trust ab. Sie haben gelernt, wie Sie Signaturen für einen bestimmten Tag und für ein gesamtes Repository widerrufen können.

Zusammenfassung

In diesem Lab haben wir gelernt, wie man Image-Signaturen mit Docker Content Trust verwaltet. Wir haben begonnen, indem wir Docker Content Trust aktiviert und ein signiertes Image (docker/trusttest:latest) abgerufen haben, um zu verstehen, wie Docker Signaturen während des Abrufprozesses überprüft. Anschließend haben wir den Befehl docker trust inspect verwendet, um die mit dem Image verknüpften Signaturen anzuzeigen, um seinen signierten Status zu bestätigen und die Signierer zu identifizieren.

Anschließend haben wir untersucht, wie man Signaturen widerruft. Wir haben gelernt, den Befehl docker trust revoke zu verwenden, um Signaturen von einem bestimmten Image-Tag (docker/trusttest:latest) zu entfernen, und den Widerruf durch erneute Untersuchung des Images verifiziert. Schließlich haben wir dieses Wissen erweitert, um Signaturen von allen Tags in einem Repository widerrufen und die vollständige Entfernung der Signaturen durch eine Untersuchung bestätigt. Dieses Lab hat praktische Erfahrungen bei der Untersuchung und dem Widerruf von Docker-Image-Signaturen vermittelt, essentielle Fähigkeiten für die Aufrechterhaltung der Integrität und Vertrauenswürdigkeit von Container-Images.