Auf dieser Seite wird beschrieben, wie Sie Metadaten zu einem in Artifact Registry gespeicherten Artefakt als Anhang speichern.
In Anhängen gespeicherte Metadaten können Informationen zu Artefaktlücken, Build-Herkunft, Paketinhalt, Zertifizierung, Sicherheitsrisikobewertung, Software Bill of Materials (SBOM) und mehr enthalten. Informationen, die in Artifact Registry-Anhängen gespeichert sind, können von Richtliniensystemen verwendet und von Nutzern geprüft werden, um die Einhaltung von Richtlinien sicherzustellen.
Weitere Informationen zum Arbeiten mit Anhängen finden Sie unter Metadaten mit Anhängen verwalten.
Hinweise
- Wenn Sie noch kein Repository haben, erstellen Sie ein Repository im Standardmodus.
- (Optional) Konfigurieren Sie die Standardeinstellungen für Google Cloud CLI-Befehle.
Erforderliche Rollen
Bitten Sie Ihren Administrator, Ihnen die IAM-Rolle Artifact Registry Writer (roles/artifactregistry.writer
) für das Repository zu gewähren, um die Berechtigungen zu erhalten, die Sie zum Erstellen von Anhängen benötigen.
Weitere Informationen zum Zuweisen von Rollen finden Sie unter Zugriff auf Projekte, Ordner und Organisationen verwalten.
Sie können die erforderlichen Berechtigungen auch über benutzerdefinierte Rollen oder andere vordefinierte Rollen erhalten.
Anhang erstellen
Für Docker-Repositories müssen Anhänge OCI-Artefakte sein. Bei allen Formaten außer Docker können Anhänge einen beliebigen Dateityp haben.
Sie können die gcloud CLI oder Oras verwenden, um Anhänge in Docker-Format-Repositories zu erstellen.
So erstellen Sie einen Anhang:
gcloud (alle Formate)
Ersetzen Sie folgende Werte, bevor sie einen der Befehlsdaten verwenden:
ATTACHMENT
: Der voll qualifizierte Name des Anhangs, z. B.projects/my-project/locations/us-west1/repositories/my-repo/attachments/my-attachment
. Alternativ können Sie nur die Anhänge-ID angeben und die Flags--location
und--repository
verwenden.TARGET
: Der vollständig qualifizierte Versionsname. Nur für Docker-Images können Sie auch den Artifact Registry-URI des Artefakts verwenden, auf das sich die Anlage bezieht. Im URI können Sie den Digest oder, für Docker-Images, das Tag verwenden, z. B.us-west1-docker.pkg.dev/my-project/my-repo/my-image:tag1
.TYPE
: das Attributtype
des Anhangs. Für Docker-Images musstype
den OCI-Spezifikationen für das AttributartifactType
entsprechen.ATTACHMENT_NAMESPACE
: Eine anhangsspezifische Variable, die die Datenquelle des Anhangs identifiziert, z. B.example.com
.FILES
: Eine durch Kommas getrennte Liste lokaler Dateien, die in den Anhang aufgenommen werden sollen.
Führen Sie folgenden Befehl aus:
Linux, macOS oder Cloud Shell
gcloud artifacts attachments create ATTACHMENT \ --target=TARGET \ --attachment-type=TYPE \ --attachment-namespace=ATTACHMENT_NAMESPACE \ --files=FILES
Windows (PowerShell)
gcloud artifacts attachments create ATTACHMENT ` --target=TARGET ` --attachment-type=TYPE ` --attachment-namespace=ATTACHMENT_NAMESPACE ` --files=FILES
Windows (cmd.exe)
gcloud artifacts attachments create ATTACHMENT ^ --target=TARGET ^ --attachment-type=TYPE ^ --attachment-namespace=ATTACHMENT_NAMESPACE ^ --files=FILES
gcloud artifacts attachments create
-Befehl.
Oras (nur Docker)
Wenn Sie mit Oras einen Anhang erstellen, generiert Artifact Registry eine zufällige UUID, die als Name des Anhangs verwendet wird.
Führen Sie vor der Verwendung von Oras die folgenden Schritte aus:
Installieren Sie Oras 1.2 oder höher. Führen Sie den Befehl
oras version
aus, um Ihre Version zu prüfen.Konfigurieren Sie Oras für die Authentifizierung bei Artifact Registry.
Bevor Sie den Befehl ausführen, ersetzen Sie die folgenden Werte:
ARTIFACT_TYPE
: dieartifactType
des Anhangs.IMAGE_URI
: Der URI des Bildcontainers, auf den sich der Anhang bezieht.FILE
: Eine lokale Datei, die als Metadaten in den Anhang aufgenommen werden soll.MEDIA_TYPE
: diemediaType
der Ebene.
oras attach --artifact-type ARTIFACT_TYPE IMAGE_URI FILE:MEDIA_TYPE
Im folgenden Beispiel wird ein Anhang erstellt, der aus einer Datei (hello-world.txt
) besteht, die auf ein Container-Image (my-image
) verweist, das durch seinen URI und sein Tag identifiziert wird:
oras attach --artifact-type doc/example \
us-west1-docker.pkg.dev/my-project/my-repo/my-image:tag1 \
hello-world.txt:application/vnd.me.hi
Wobei:
doc/example
definiert das AttributartifactType
der Anlage.us-west1-docker.pkg.dev/my-project/my-repo/my-image:tag1
ist der URI einschließlich des Tags der Container-Image-Version, auf die sich die Anlage bezieht.hello-world.txt
ist die lokale Datei, die die Daten des Anhangs enthält.application/vnd.me.hi
definiert diemediaType
der Ebene.
Eine vollständige Anleitung und weitere Beispiele finden Sie in der Dokumentation zu oras attach
.
Anhänge mit Bereinigungsrichtlinien verwalten
Docker-Repository-Anhänge, einschließlich der Build-Herkunft, werden gelöscht, wenn die Artefakte, an die sie angehängt sind, gelöscht werden. Wenn Sie Bereinigungsrichtlinien verwenden, um Bilder aus Ihrem Repository zu löschen, werden standardmäßig auch die Anhänge dieser Bilder gelöscht.
Damit Anhänge, die Sie behalten möchten, nicht versehentlich durch eine Bereinigungsrichtlinie gelöscht werden, können Sie einem Bild mit Anhängen, die Sie behalten möchten, ein Tag zuweisen. Anschließend können Sie eine Bereinigungsrichtlinie konfigurieren, um Bilder mit diesen Tags beizubehalten. Sie können beispielsweise Bildern mit angehängter Build-Herkunft das Tag production-signed
zuweisen.