Mulai April 2024, instance baru Container Registry Enterprise Edition mendukung Open Container Initiative (OCI) Image and Distribution Specification V1.1.0, termasuk dukungan untuk Reference Types. Dengan ini, Anda dapat menyimpan dan mendistribusikan gambar kontainer serta mengelola artefak OCI terkait seperti tanda tangan gambar dan Software Bills of Materials (SBOMs). Topik ini menjelaskan cara menggunakan fitur OCI V1.1.0 di Container Registry.
Prasyarat
Klien OCI Registry As Storage (ORAS) telah diinstal pada mesin lokal Anda. Untuk informasi lebih lanjut, lihat Instalasi.
Docker telah diinstal pada mesin lokal Anda. Untuk informasi lebih lanjut, lihat Instal Docker.
Daftar kontrol akses (ACL) virtual private cloud (VPC) dikonfigurasi atau akses Internet diaktifkan untuk instance Container Registry Enterprise Edition. Dalam topik ini, akses Internet diaktifkan. Untuk informasi lebih lanjut, lihat Konfigurasikan Akses Melalui Internet.
Kata sandi logon untuk instance Container Registry Enterprise Edition diperoleh. Jika Anda lupa kata sandi, Anda dapat menyetel ulang dengan mengonfigurasi kredensial akses. Untuk informasi lebih lanjut, lihat Konfigurasikan Kredensial Akses untuk Instance Container Registry Enterprise Edition.
Langkah 1: Gunakan Referrers API untuk mengaitkan gambar kontainer dengan artefak turunannya
Referrers API adalah kemampuan yang diusulkan dalam OCI V1.1.0 dan bertujuan untuk mengaitkan gambar kontainer dengan artefak turunannya seperti SBOMs, tanda tangan, dan hasil pemindaian kerentanan. Referrers API membantu melacak sumber artefak perangkat lunak secara efektif, meningkatkan pengelolaan keamanan dan kepatuhan gambar serta peninjauannya. Contoh berikut menunjukkan cara menggunakan Referrers API untuk menghasilkan SBOM dari gambar kontainer dan mengaitkan gambar tersebut dengan SBOM.
Jika Anda tidak dapat menjalankan perintah docker sbom di lingkungan Anda, instal dan konfigurasikan komponen sbom-cli-plugin.
Contoh berikut menunjukkan cara menggunakan Referrers API untuk mengaitkan gambar kontainer yang dihosting di <Nama instance Container Registry Enterprise Edition>-registry.cn-hangzhou.cr.aliyuncs.com/library/golang:1.20 dengan SBOM dari gambar tersebut:
Tentukan nama domain instance Container Registry Enterprise Edition dan masukkan nama pengguna serta kata sandi logon Anda.
Setelah berhasil masuk ke instance Container Registry Enterprise Edition, pesan
Login Succeededakan ditampilkan.docker login <Nama instance Container Registry Enterprise Edition>-registry.cn-hangzhou.cr.aliyuncs.com Username: ****@test.com Password: Login SucceededJalankan perintah berikut untuk menghasilkan SBOM dari gambar kontainer:
docker sbom <Nama instance Container Registry Enterprise Edition>-registry.cn-hangzhou.cr.aliyuncs.com/library/golang:1.20 --format spdx-json -o sbom.jsomOutput yang diharapkan:

Jalankan perintah berikut untuk mengaitkan gambar kontainer dengan SBOM:
oras attach --distribution-spec v1.1-referrers-api <Nama instance Container Registry Enterprise Edition>-registry.cn-hangzhou.cr.aliyuncs.com/library/golang:1.20 sbom.jsom --artifact-type example/sbomOutput yang diharapkan:

Jalankan perintah berikut untuk melihat hubungan asosiasi antara gambar kontainer dan SBOM:
oras discover --distribution-spec v1.1-referrers-api <Nama instance Container Registry Enterprise Edition>-registry.cn-hangzhou.cr.aliyuncs.com/library/golang:1.20Output yang diharapkan:

Langkah 2: Mendistribusikan gambar kontainer dan artefak turunan terkaitnya di seluruh instance Container Registry Enterprise Edition
Container Registry Enterprise Edition memungkinkan Anda menggunakan alat seperti klien ORAS untuk mendistribusikan gambar kontainer dan artefak turunan terkaitnya di seluruh instance. Contoh ini menunjukkan cara menyalin gambar kontainer dan SBOM terkaitnya di seluruh instance.
Untuk mendistribusikan gambar kontainer yang dihosting di <Nama instance Container Registry Enterprise Edition sumber>-registry.cn-hangzhou.cr.aliyuncs.com/library/golang:1.20 dan SBOM terkaitnya ke repositori gambar di domain <Nama instance Container Registry Enterprise Edition tujuan>-registry.cn-beijing.cr.aliyuncs.com, Anda harus masuk ke repositori gambar instance tujuan.
Tentukan nama domain instance Container Registry Enterprise Edition tujuan dan masukkan nama pengguna serta kata sandi logon Anda.
Setelah berhasil masuk ke instance tujuan, pesan
Login Succeededakan ditampilkan.docker login <Nama instance Container Registry Enterprise Edition tujuan>-registry.cn-beijing.cr.aliyuncs.com Username: ****@test.com Password: Login SucceededJalankan perintah berikut untuk mendistribusikan gambar kontainer dan SBOM terkaitnya ke repositori gambar instance tujuan:
$ oras cp -r --from-distribution-spec v1.1-referrers-api --to-distribution-spec v1.1-referrers-api <Nama instance Container Registry Enterprise Edition sumber>-registry.cn-hangzhou.cr.aliyuncs.com/library/golang:1.20 <Nama instance Container Registry Enterprise Edition tujuan>-registry.cn-beijing.cr.aliyuncs.com/library/golang:1.20Output yang diharapkan:

Jalankan perintah berikut untuk memverifikasi bahwa SBOM didistribusikan ke repositori gambar instance tujuan:
oras discover --distribution-spec v1.1-referrers-api <Nama instance Container Registry Enterprise Edition tujuan>-registry.cn-beijing.cr.aliyuncs.com/library/golang:1.20Output yang diharapkan:
