Anda dapat memilih untuk memberikan metadata Anda sendiri ke Analisis Artefak untuk memenuhi kebutuhan bisnis tertentu. Misalnya, organisasi yang menyediakan pengelolaan keamanan untuk container Docker pelanggannya dapat menggunakan Artifact Analysis untuk menyimpan dan mengambil metadata terkait keamanan untuk image tersebut.
Ikuti langkah-langkah di bawah untuk memberikan metadata kerentanan kustom untuk image Anda menggunakan Artifact Analysis API. Anda dapat menggunakan petunjuk yang sama untuk menyimpan dan mengambil jenis metadata apa pun yang didukung oleh Analisis Artefak.
Sebelum memulai
- Sign in to your Google Cloud account. If you're new to Google Cloud, create an account to evaluate how our products perform in real-world scenarios. New customers also get $300 in free credits to run, test, and deploy workloads.
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
-
Enable the Container Analysis API.
-
Install the Google Cloud CLI.
-
If you're using an external identity provider (IdP), you must first sign in to the gcloud CLI with your federated identity.
-
To initialize the gcloud CLI, run the following command:
gcloud init
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
-
Enable the Container Analysis API.
-
Install the Google Cloud CLI.
-
If you're using an external identity provider (IdP), you must first sign in to the gcloud CLI with your federated identity.
-
To initialize the gcloud CLI, run the following command:
gcloud init
- Pelajari cara menyiapkan kontrol akses untuk metadata di project Anda. Lewati langkah ini jika Anda hanya menggunakan metadata dari kejadian kerentanan yang dibuat oleh pemindaian container Artifact Analysis.
Buat file bernama
note.json
dengan deskripsi dan detail kerentanan. Kode berikut menunjukkan contoh filenote.json
:{ "shortDescription": "A brief Description of the note", "longDescription": "A longer description of the note", "kind": "VULNERABILITY", "vulnerability": { "details": [ { "affectedPackage": "libexempi3", "affectedCpeUri": "cpe:/o:debian:debian_linux:7", "affectedVersionStart": { "name": "2.5.7", "revision": "1", "kind": "MINIMUM"}, "affectedVersionEnd": { "name": "2.5.9", "revision": "1", "kind": "MINIMUM"}, }, { "affectedCpeUri": "cpe:/o:debian:abc:10", "affectedPackage": "anotherPackage", } ] } }
Lihat dokumentasi notes API untuk mengetahui informasi selengkapnya tentang representasi JSON catatan.
Jalankan perintah curl berikut untuk membuat catatan:
curl -v -H "Content-Type: application/json" -H \ "Authorization: Bearer $(gcloud auth print-access-token)" \ https://containeranalysis.googleapis.com/v1/projects/PROVIDER_PROJECT_ID/notes?note_id=NOTE_ID -d @note.json
Dengan:
- PROVIDER_PROJECT_ID adalah project ID Anda.
- NOTE_ID menentukan ID untuk catatan Anda. Gunakan string dengan panjang maksimum 100 karakter.
Buat file bernama
occurrence.json
dengan konten berikut:{ "resourceUri": "<resource_url>", "noteName": "projects/<provider-project-id>/notes/<note_id>", "kind": "VULNERABILITY", "vulnerability": { "packageIssue": [{ "affectedCpeUri": "cpe:/o:debian_linux:7", "affectedPackage": "packageName", "affectedVersion": { "kind": "NORMAL", "name": "8.1", "revision": "3" }, "fixedCpeUri": "cpe:/o:debian_linux:7", "fixedPackage": "packageName", "fixedVersion": { "kind": "MAXIMUM" } }] "severity": "LOW" } }
Dengan:
- resource_url adalah URL resource yang terkait dengan
kejadian, misalnya
https://us-central1-docker.pkg.dev/my-project/my-repository/my-image@sha256:123
. - note_id menentukan ID untuk catatan Anda. Gunakan string dengan panjang maksimum 100 karakter.
Lihat dokumentasi API kemunculan untuk mengetahui informasi selengkapnya tentang representasi JSON kemunculan.
- resource_url adalah URL resource yang terkait dengan
kejadian, misalnya
Jalankan perintah curl berikut dengan CUSTOMER_PROJECT_ID adalah project ID pelanggan Anda:
curl -v -H "Content-Type: application/json" -H \ "Authorization: Bearer $(gcloud auth print-access-token)" \ https://containeranalysis.googleapis.com/v1/projects/CUSTOMER_PROJECT_ID/occurrences -d @occurrence.json
Untuk mengetahui petunjuk tentang cara melihat dan memfilter catatan dan kemunculan untuk image container, lihat Melihat kemunculan kerentanan.
Untuk mengetahui petunjuk cara menyiapkan notifikasi, lihat Notifikasi Pub/Sub.
Membuat catatan dan kemunculan untuk project
Bagian ini menjelaskan cara membuat catatan dan kejadian. Untuk contoh ini, Anda akan menggunakan jenis VULNERABILITY
.
Sebagai penyedia, Anda akan membuat catatan di project Anda untuk setiap kerentanan, dan Anda akan membuat kemunculan di project pelanggan Anda untuk kemunculan kerentanan tersebut.
Buat catatan
Gunakan langkah-langkah berikut untuk membuat catatan dan memberikan ID catatan.
API
Java
Untuk mempelajari cara menginstal dan menggunakan library klien untuk Artifact Analysis, lihat library klien Artifact Analysis. Untuk mengetahui informasi selengkapnya, lihat dokumentasi referensi API Java Artifact Analysis.
Untuk melakukan autentikasi ke Artifact Analysis, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, lihat Menyiapkan autentikasi untuk lingkungan pengembangan lokal.
Go
Untuk mempelajari cara menginstal dan menggunakan library klien untuk Artifact Analysis, lihat library klien Artifact Analysis. Untuk mengetahui informasi selengkapnya, lihat dokumentasi referensi API Go Artifact Analysis.
Untuk melakukan autentikasi ke Artifact Analysis, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, lihat Menyiapkan autentikasi untuk lingkungan pengembangan lokal.
Node.js
Untuk mempelajari cara menginstal dan menggunakan library klien untuk Artifact Analysis, lihat library klien Artifact Analysis. Untuk mengetahui informasi selengkapnya, lihat dokumentasi referensi API Node.js Artifact Analysis.
Untuk melakukan autentikasi ke Artifact Analysis, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, lihat Menyiapkan autentikasi untuk lingkungan pengembangan lokal.
Ruby
Untuk mempelajari cara menginstal dan menggunakan library klien untuk Artifact Analysis, lihat library klien Artifact Analysis. Untuk mengetahui informasi selengkapnya, lihat dokumentasi referensi API Ruby Artifact Analysis.
Untuk melakukan autentikasi ke Artifact Analysis, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, lihat Menyiapkan autentikasi untuk lingkungan pengembangan lokal.
Python
Untuk mempelajari cara menginstal dan menggunakan library klien untuk Artifact Analysis, lihat library klien Artifact Analysis. Untuk mengetahui informasi selengkapnya, lihat dokumentasi referensi API Python Artifact Analysis.
Untuk melakukan autentikasi ke Artifact Analysis, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, lihat Menyiapkan autentikasi untuk lingkungan pengembangan lokal.
Membuat kemunculan untuk catatan
Untuk membuat kemunculan catatan:
API
Java
Untuk mempelajari cara menginstal dan menggunakan library klien untuk Artifact Analysis, lihat library klien Artifact Analysis. Untuk mengetahui informasi selengkapnya, lihat dokumentasi referensi API Java Artifact Analysis.
Untuk melakukan autentikasi ke Artifact Analysis, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, lihat Menyiapkan autentikasi untuk lingkungan pengembangan lokal.
Go
Untuk mempelajari cara menginstal dan menggunakan library klien untuk Artifact Analysis, lihat library klien Artifact Analysis. Untuk mengetahui informasi selengkapnya, lihat dokumentasi referensi API Go Artifact Analysis.
Untuk melakukan autentikasi ke Artifact Analysis, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, lihat Menyiapkan autentikasi untuk lingkungan pengembangan lokal.
Node.js
Untuk mempelajari cara menginstal dan menggunakan library klien untuk Artifact Analysis, lihat library klien Artifact Analysis. Untuk mengetahui informasi selengkapnya, lihat dokumentasi referensi API Node.js Artifact Analysis.
Untuk melakukan autentikasi ke Artifact Analysis, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, lihat Menyiapkan autentikasi untuk lingkungan pengembangan lokal.
Ruby
Untuk mempelajari cara menginstal dan menggunakan library klien untuk Artifact Analysis, lihat library klien Artifact Analysis. Untuk mengetahui informasi selengkapnya, lihat dokumentasi referensi API Ruby Artifact Analysis.
Untuk melakukan autentikasi ke Artifact Analysis, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, lihat Menyiapkan autentikasi untuk lingkungan pengembangan lokal.
Python
Untuk mempelajari cara menginstal dan menggunakan library klien untuk Artifact Analysis, lihat library klien Artifact Analysis. Untuk mengetahui informasi selengkapnya, lihat dokumentasi referensi API Python Artifact Analysis.
Untuk melakukan autentikasi ke Artifact Analysis, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, lihat Menyiapkan autentikasi untuk lingkungan pengembangan lokal.
Mendapatkan semua kejadian untuk catatan tertentu
Anda dapat melihat semua kemunculan kerentanan tertentu di seluruh project pelanggan menggunakan notes.occurrences.list()
.
API
Untuk mencantumkan semua kemunculan catatan, kirim permintaan GET sebagai berikut:
GET https://containeranalysis.googleapis.com/v1/projects/PROJECT_ID/notes/NOTE_ID/occurrences
Lihat endpoint projects.notes.occurrences.list
API
untuk detail selengkapnya.
Java
Untuk mempelajari cara menginstal dan menggunakan library klien untuk Artifact Analysis, lihat library klien Artifact Analysis. Untuk mengetahui informasi selengkapnya, lihat dokumentasi referensi API Java Artifact Analysis.
Untuk melakukan autentikasi ke Artifact Analysis, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, lihat Menyiapkan autentikasi untuk lingkungan pengembangan lokal.
Go
Untuk mempelajari cara menginstal dan menggunakan library klien untuk Artifact Analysis, lihat library klien Artifact Analysis. Untuk mengetahui informasi selengkapnya, lihat dokumentasi referensi API Go Artifact Analysis.
Untuk melakukan autentikasi ke Artifact Analysis, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, lihat Menyiapkan autentikasi untuk lingkungan pengembangan lokal.
Node.js
Untuk mempelajari cara menginstal dan menggunakan library klien untuk Artifact Analysis, lihat library klien Artifact Analysis. Untuk mengetahui informasi selengkapnya, lihat dokumentasi referensi API Node.js Artifact Analysis.
Untuk melakukan autentikasi ke Artifact Analysis, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, lihat Menyiapkan autentikasi untuk lingkungan pengembangan lokal.
Ruby
Untuk mempelajari cara menginstal dan menggunakan library klien untuk Artifact Analysis, lihat library klien Artifact Analysis. Untuk mengetahui informasi selengkapnya, lihat dokumentasi referensi API Ruby Artifact Analysis.
Untuk melakukan autentikasi ke Artifact Analysis, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, lihat Menyiapkan autentikasi untuk lingkungan pengembangan lokal.
Python
Untuk mempelajari cara menginstal dan menggunakan library klien untuk Artifact Analysis, lihat library klien Artifact Analysis. Untuk mengetahui informasi selengkapnya, lihat dokumentasi referensi API Python Artifact Analysis.
Untuk melakukan autentikasi ke Artifact Analysis, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, lihat Menyiapkan autentikasi untuk lingkungan pengembangan lokal.