Artefaktmetadaten in Anhängen speichern

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 Artefakt-Schwachstellen, Build-Herkunft, Paketinhalten, Zertifizierung, Sicherheitslückenbewertung, 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 Compliance sicherzustellen.

Weitere Informationen zum Arbeiten mit Anhängen finden Sie unter Metadaten mit Anhängen verwalten.

Hinweis

  1. Erstellen Sie ein Repository im Standardmodus, falls Sie noch keines haben.
  2. (Optional) Konfigurieren Sie Standardeinstellungen für Google Cloud CLI-Befehle.

Erforderliche Rollen

Bitten Sie Ihren Administrator, Ihnen die Artifact Registry Writer (roles/artifactregistry.writer) IAM-Rolle für das Repository zu erteilen, 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. Für alle anderen Formate als Docker können Anhänge beliebige Dateitypen sein.

Führen Sie die folgenden Schritte aus, um einen Anhang zu erstellen:

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 Anhangs-ID angeben und die --location und --repository Flags verwenden.
  • TARGET: Der voll qualifizierte Versionsname. Nur für Docker-Images können Sie auch den Artifact Registry-URI des Artefakts verwenden, auf das sich der Anhang 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 Attribut type des Anhangs. Für Docker-Images muss der type den OCI-Spezifikationen für die Eigenschaft artifactType entsprechen.
  • ATTACHMENT_NAMESPACE: Eine für Anhänge spezifische 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
      Weitere Informationen finden Sie im Befehl gcloud artifacts attachments create.

Oras (nur Docker)

Wenn Sie einen Anhang mit Oras erstellen, generiert Artifact Registry eine zufällige UUID, die als Anhangsname verwendet wird.

Führen Sie vor der Verwendung von Oras die folgenden Schritte aus:

  1. Installieren Sie Oras 1.2 oder höher. Führen Sie den Befehl oras version aus, um Ihre Version zu prüfen.

  2. Konfigurieren Sie Oras für die Authentifizierung bei Artifact Registry.

Bevor Sie den Befehl ausführen, ersetzen Sie die folgenden Werte:

  • ARTIFACT_TYPE: Der artifactType des Anhangs.

  • IMAGE_URI: Der URI für den Image-Container, auf den sich der Anhang bezieht.

  • FILE: Eine lokale Datei, die als Metadaten in den Anhang aufgenommen werden soll.

  • MEDIA_TYPE: der mediaType 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 und 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 die Eigenschaft artifactType des Anhangs.

  • 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 der Anhang bezieht.

  • hello-world.txt ist die lokale Datei, die der Anhang als Daten enthält.

  • application/vnd.me.hi definiert den mediaType der Ebene.

Eine vollständige Anleitung und weitere Beispiele finden Sie in der oras attach Dokumentation.

Anhänge mit Bereinigungsrichtlinien verwalten

Anhänge von Docker-Repositories, einschließlich der Build-Herkunft, werden gelöscht, wenn die Artefakte gelöscht werden, an die sie angehängt sind. Wenn Sie Bereinigungsrichtlinien verwenden, um Images aus Ihrem Repository zu löschen, werden standardmäßig auch die Anhänge dieser Images gelöscht.

Damit Anhänge, die Sie behalten möchten, nicht versehentlich durch eine Bereinigungsrichtlinie gelöscht werden, können Sie einem Image das Anhänge enthält, die Sie behalten möchten, ein Tag zuweisen. Anschließend können Sie eine Bereinigungsrichtlinie konfigurieren, um Images mit diesen Tags beizubehalten. Sie können beispielsweise Images mit angehängter Build-Herkunft das Tag production-signed zuweisen.

Nächste Schritte