Übertragen Sie Images per Push an Harbor, um erweiterte Sicherheitsfunktionen mit rollenbasierter Zugriffssteuerung, automatisierter Suche nach Sicherheitslücken und vereinfachter Imageverwaltung für Ihre containerisierten Anwendungen zu erhalten. Um ein lokales Image per Push an eine Harbor-Instanz zu übertragen, taggen Sie es mit dem Repository-Namen und laden es dann hoch.
Hinweis
Um ein Image per Push zu übertragen, müssen Sie Ihre Umgebung mit den erforderlichen Ressourcen und Berechtigungen konfigurieren, einschließlich eines vorhandenen Harbor-Projekts. Weitere Informationen finden Sie unter Harbor-Projekte erstellen.
Erforderliche IAM-Rollen
Wenn Sie Images per Push an Harbor-Registry-Instanzen übertragen möchten, wenden Sie sich an Ihren Projekt-IAM-Administrator und fordern Sie die folgende Rolle an:
- Harbor Instance Viewer (
harbor-instance-viewer): Hiermit können Sie Harbor-Instanzen im Projekt-Namespace abrufen, auflisten und beobachten. Diese Rolle enthält die erforderlichen Berechtigungen, um die Details vorhandener Harbor-Instanzen aufzurufen, damit Sie die Registry-URLs abrufen können, die zum Übertragen von Images per Push erforderlich sind.
Erforderliche Harbor-RBAC-Rollen
Im Gegensatz zu GDC-IAM-Rollen erfordert das Übertragen von Images per Push bestimmte Berechtigungen im internen RBAC-System (rollenbasierte Zugriffssteuerung) von Harbor. Fordern Sie die erforderlichen Berechtigungen von Ihrem Administrator an. Setzen Sie das Prinzip der geringsten Berechtigung durch, indem Sie nur die Rollen anfordern, die für Ihre spezifischen Aufgaben erforderlich sind.
- Developer: Erforderlich, um Images per Push an ein Harbor-Repository zu übertragen. Weitere Informationen zu allen verfügbaren Rollen finden Sie in der Harbor-Dokumentation unter User permissions by role: https://goharbor.io/docs/2.12.0/administration/managing-users/user-permissions-by-role/.
Lokales Image taggen
Führen Sie die folgenden Schritte aus, um ein lokales Image mit dem Repository-Namen zu taggen:
- Sie müssen bei der Harbor-Instanz authentifiziert sein. Weitere Informationen finden Sie unter siehe Docker-Authentifizierung für Harbor-Registry-Instanzen konfigurieren.
Legen Sie den Namen des Images fest. Der vollständige Image-Name hat folgendes Format:
INSTANCE_URL/HARBOR_PROJECT_NAME/IMAGEErsetzen Sie Folgendes:
INSTANCE_URL: die URL der Harbor-Instanz. Beispiel:harbor-1.org-1.zone1.google.gdc.test. Rufen Sie die URL der Harbor-Instanz über die GDC Console oder die gdcloud CLI ab.HARBOR_PROJECT_NAME: der Name des Harbor-Projekts. Beispiel:my-project.IMAGE_NAME: der Name des Images. Beispiel:nginx.
Ein Beispiel für den vollständigen Image-Namen könnte so aussehen:
harbor-1.org-1.zone1.google.gdc.test/my-project/nginxTaggen Sie das lokale Image mit dem Repository-Namen:
docker tag SOURCE-IMAGE INSTANCE_URL/HARBOR_PROJECT_NAME/IMAGE:TAG
Ersetzen Sie Folgendes:
SOURCE-IMAGE: der Name des lokalen Images oder die Image-ID. Beispiel:nginx.TAG: der Tag-Name. Beispiel:staging. Wenn Sie kein Tag angeben, wendet Docker standardmäßig das Tag „latest“ an.
Getaggtes Image per Push an eine Harbor-Registry-Instanz übertragen
Nachdem das Image getaggt wurde, übertragen Sie es per Push an die Harbor-Registry-Instanz:
- Achten Sie darauf, dass Sie authentifiziert bei der Harbor-Instanz sind.
- Laden Sie das getaggte Image mit dem folgenden Befehl hoch:
docker push
INSTANCE_URL/HARBOR_PROJECT_NAME/IMAGE:TAG
Wenn Sie ein Image per Push übertragen, wird es in der angegebenen Instanz und im angegebenen Harbor-Projekt gespeichert.
Nachdem Sie das Image per Push übertragen haben, rufen Sie es in der Harbor-Instanz-UI auf.
Nächste Schritte
Nachdem Sie das Image per Push an Ihre Harbor-Registry übertragen haben, können Sie es in Ihre lokale Umgebung herunterladen, um es zu überprüfen. Sie können auch Regeln zur Tag-Aufbewahrung konfigurieren, um Ihre Repositories automatisch zu verwalten und die Ergebnisse von Sicherheitsscans zu überprüfen, um Sicherheitslücken zu erkennen:
- Image mit Docker herunterladen
- Regeln zur Tag-Aufbewahrung konfigurieren
- Auf Sicherheitslücken scannen