Dokumen ini menjelaskan cara menyiapkan notifikasi untuk pembaruan pada catatan dan kemunculan.
Artifact Analysis menyediakan notifikasi melalui Pub/Sub untuk kerentanan yang ditemukan melalui pemindaian otomatis dan untuk metadata lainnya. Saat catatan atau kemunculan dibuat atau diperbarui, pesan akan dipublikasikan ke topik yang sesuai untuk setiap versi API. Gunakan topik untuk versi API yang Anda gunakan.
Sebelum memulai
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
Roles required to select or create a project
- Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
-
Create a project: To create a project, you need the Project Creator role
(
roles/resourcemanager.projectCreator), which contains theresourcemanager.projects.createpermission. Learn how to grant roles.
Enable the Container Analysis API.
Roles required to enable APIs
To enable APIs, you need the
serviceusage.services.enablepermission. If you created the project, then you likely already have this permission through the Owner role (roles/owner). Otherwise, you can get this permission through the Service Usage Admin role (roles/serviceusage.serviceUsageAdmin). Learn how to grant roles.-
Instal Google Cloud CLI.
-
Konfigurasi gcloud CLI agar menggunakan identitas gabungan Anda.
Untuk mengetahui informasi selengkapnya, lihat Login ke gcloud CLI dengan identitas gabungan Anda.
-
Untuk melakukan inisialisasi gcloud CLI, jalankan perintah berikut:
gcloud init - Pelajari cara menyiapkan kontrol akses untuk metadata di project Anda. Lewati langkah ini jika Anda hanya menggunakan metadata dari kemunculan yang dibuat oleh pemindaian penampung Artifact Analysis.
Membuat topik Pub/Sub
Setelah Anda mengaktifkan Artifact Analysis API, Artifact Analysis akan otomatis membuat topik Pub/Sub dengan ID topik berikut:
container-analysis-notes-v1container-analysis-occurrences-v1
Jika topik tidak sengaja dihapus atau tidak ada, Anda dapat menambahkannya sendiri. Misalnya, topik mungkin tidak ada jika organisasi Anda memiliki batasan kebijakan organisasi yang mewajibkan enkripsi dengan kunci enkripsi yang dikelola pelanggan (CMEK). Google CloudJika Pub/Sub API berada dalam daftar tolak batasan ini, layanan tidak dapat otomatis membuat topik dengan Google-owned and Google-managed encryption keys.
Untuk membuat topik dengan Google-owned and Google-managed encryption keys:
Konsol
Buka halaman topik Pub/Sub di Google Cloud konsol.
Klik Buat Topik.
Masukkan ID Topik:
container-analysis-notes-v1sehingga nama cocok dengan URI:
projects/PROJECT_ID/topics/container-analysis-notes-v1dengan PROJECT_ID adalah ID Google Cloud project Anda.
Klik Buat.
Masukkan ID Topik:
container-analysis-occurrences-v1sehingga nama cocok dengan URI:
projects/PROJECT_ID/topics/container-analysis-occurrences-v1
gcloud
Jalankan perintah berikut di shell atau jendela terminal Anda:
gcloud pubsub topics create projects/PROJECT_ID/topics/container-analysis-notes-v1
gcloud pubsub topics create projects/PROJECT_ID/topics/container-analysis-occurrences-v1
Untuk mempelajari perintah gcloud pubsub topics lebih lanjut, lihat dokumentasi
topics.
Untuk membuat topik dengan enkripsi CMEK, lihat petunjuk Pub/Sub untuk mengenkripsi topik.
Setiap kali catatan atau kemunculan dibuat atau diperbarui, pesan akan dipublikasikan ke topik masing-masing, meskipun Anda juga harus membuat langganan Pub/Sub untuk memproses peristiwa dan menerima pesan dari layanan Pub/Sub.
Membuat langganan Pub/Sub
Untuk memproses peristiwa, buat langganan Pub/Sub yang terkait dengan topik:
Konsol
Buka halaman langganan Pub/Sub di Google Cloud konsol.
Klik Buat Langganan.
Ketik nama untuk langganan. Misalnya, notes.
Masukkan URI topik untuk catatan:
projects/PROJECT_ID/topics/container-analysis-notes-v1dengan PROJECT_ID adalah ID Google Cloud project Anda.
Klik Buat.
Buat langganan lain untuk kemunculan dengan URI:
projects/PROJECT_ID/topics/container-analysis-occurrences-v1
gcloud
Untuk menerima peristiwa Pub/Sub, Anda harus membuat langganan yang terkait dengan topik container-analysis-occurrences-v1 terlebih dahulu:
gcloud pubsub subscriptions create \
--topic container-analysis-occurrences-v1 occurrences
Selanjutnya, Anda dapat mengambil pesan terkait kemunculan menggunakan langganan baru:
gcloud pubsub subscriptions pull \
--auto-ack occurrences
Java
Untuk mempelajari cara menginstal dan menggunakan library klien untuk Artifact Analysis, lihat Library klien Artifact Analysis. Untuk mengetahui informasi selengkapnya, lihat dokumentasi referensi Artifact Analysis Java API.
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 Artifact Analysis Go API dokumentasi referensi.
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 Node.js Artifact Analysis API.
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 Ruby Artifact Analysis API.
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 Artifact Analysis Python API dokumentasi referensi.
Untuk melakukan autentikasi ke Artifact Analysis, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, lihat Menyiapkan autentikasi untuk lingkungan pengembangan lokal.
Aplikasi pelanggan hanya menerima pesan yang dipublikasikan ke topik setelah langganan dibuat.
Payload Pub/Sub dalam format JSON dan skemanya adalah sebagai berikut:
Catatan:
{ "name": "projects/PROJECT_ID/notes/NOTE_ID", "kind": "NOTE_KIND", "notificationTime": "NOTIFICATION_TIME", }
Kemunculan:
{ "name": "projects/PROJECT_ID/occurrences/OCCURRENCE_ID", "kind": "NOTE_KIND", "notificationTime": "NOTIFICATION_TIME", }
dengan:
- NOTE_KIND adalah salah satu nilai di
NoteKind - NOTIFICATION_TIME adalah stempel waktu dalam format RFC 3339 UTC "Zulu", akurat hingga nanodetik.
Lihat detail
Untuk mempelajari catatan atau kemunculan lebih lanjut, Anda dapat mengakses metadata yang disimpan di Artifact Analysis. Misalnya, Anda dapat meminta semua detail untuk kemunculan tertentu. Lihat petunjuk di Menyelidiki Kerentanan.
Langkah berikutnya
- Untuk mengetahui petunjuk cara menggunakan Artifact Analysis untuk menyimpan dan mengelola metadata kustom, lihat Membuat catatan dan kemunculan kustom.