Menyimpan metadata artefak dalam lampiran

Halaman ini menjelaskan cara menyimpan metadata yang terkait dengan artefak yang disimpan di Artifact Registry sebagai lampiran.

Metadata yang disimpan dalam lampiran dapat mencakup informasi tentang kerentanan artefak, asal build, konten paket, sertifikasi, penilaian kerentanan, Software Bill of Materials (SBOM), dan lainnya. Informasi yang disimpan dalam lampiran Artifact Registry dapat digunakan oleh sistem kebijakan dan diperiksa oleh pengguna untuk memastikan kepatuhan.

Untuk informasi selengkapnya tentang cara menggunakan lampiran, lihat Mengelola metadata dengan lampiran.

Sebelum memulai

  1. Jika Anda belum memilikinya, buat repositori mode standar.
  2. (Opsional) Mengonfigurasi setelan default untuk perintah Google Cloud CLI.

Peran yang diperlukan

Untuk mendapatkan izin yang diperlukan guna membuat lampiran, minta administrator untuk memberi Anda peran IAM Artifact Registry Writer (roles/artifactregistry.writer) di repositori. Untuk mengetahui informasi selengkapnya tentang cara memberikan peran, lihat Mengelola akses ke project, folder, dan organisasi.

Anda mungkin juga bisa mendapatkan izin yang diperlukan melalui peran khusus atau peran bawaan lainnya.

Membuat lampiran

Untuk repositori Docker, lampiran harus berupa artefak OCI. Untuk semua format selain Docker, lampiran dapat berupa jenis file apa pun.

Anda dapat menggunakan gcloud CLI atau Oras untuk membuat lampiran di repositori berformat Docker.

Untuk membuat lampiran, selesaikan langkah-langkah berikut:

gcloud (semua format)

Sebelum menggunakan salah satu data perintah di bawah, lakukan penggantian berikut:

  • ATTACHMENT: nama lengkap lampiran, seperti projects/my-project/locations/us-west1/repositories/my-repo/attachments/my-attachment. Atau, berikan hanya ID lampiran dan gunakan flag --location dan --repository.
  • TARGET: nama versi yang sepenuhnya memenuhi syarat. Khusus untuk image Docker, Anda juga dapat menggunakan URI Artifact Registry dari artefak yang dirujuk oleh lampiran. Dalam URI, Anda dapat menggunakan ringkasan atau, untuk image Docker, tag—misalnya, us-west1-docker.pkg.dev/my-project/my-repo/my-image:tag1.
  • TYPE: atribut type lampiran. Untuk image Docker, type harus mematuhi spesifikasi OCI untuk properti artifactType.
  • ATTACHMENT_NAMESPACE: variabel khusus untuk lampiran yang mengidentifikasi sumber data lampiran, seperti example.com.
  • FILES: daftar file lokal yang dipisahkan koma yang akan disertakan dalam lampiran.
    • Jalankan perintah berikut:

      Linux, macOS, atau 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
      Untuk informasi selengkapnya, lihat perintah gcloud artifacts attachments create.

Oras (khusus Docker)

Saat membuat lampiran dengan Oras, Artifact Registry akan membuat UUID acak untuk digunakan sebagai nama lampiran.

Sebelum menggunakan Oras, selesaikan langkah-langkah berikut:

  1. Instal Oras 1.2 atau yang lebih baru. Untuk memverifikasi versi Anda, jalankan perintah oras version.

  2. Konfigurasikan Oras untuk melakukan autentikasi dengan Artifact Registry.

Sebelum menjalankan perintah, buat penggantian berikut:

  • ARTIFACT_TYPE: artifactType lampiran.

  • IMAGE_URI: URI untuk penampung gambar yang dirujuk lampiran.

  • FILE: file lokal yang akan disertakan sebagai metadata dalam lampiran.

  • MEDIA_TYPE: mediaType lapisan.

  oras attach --artifact-type ARTIFACT_TYPE IMAGE_URI FILE:MEDIA_TYPE

Contoh berikut membuat lampiran yang terdiri dari file, hello-world.txt, yang merujuk ke image penampung, my-image, yang diidentifikasi oleh URI dan tag-nya:

  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

Dengan keterangan:

  • doc/example menentukan properti artifactType lampiran.

  • us-west1-docker.pkg.dev/my-project/my-repo/my-image:tag1 adalah URI yang menyertakan tag versi image container yang akan dirujuk oleh lampiran.

  • hello-world.txt adalah file lokal yang akan disimpan lampiran sebagai datanya.

  • application/vnd.me.hi menentukan mediaType lapisan.

Untuk panduan lengkap dan contoh lainnya, lihat dokumentasi oras attach.

langkah selanjutnya