Questo documento descrive come configurare le notifiche per gli aggiornamenti di note e occorrenze.
Artifact Analysis fornisce notifiche tramite Pub/Sub per le vulnerabilità trovate da scansione automatica e per altri metadati. Quando viene creata o aggiornata una nota o un'occorrenza, viene pubblicato un messaggio nell'argomento corrispondente per ogni versione dell'API. Utilizza l'argomento per la versione dell'API che stai utilizzando.
Prima di iniziare
-
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.-
Installa Google Cloud CLI.
-
Configura gcloud CLI per utilizzare la tua identità federata.
Per ulteriori informazioni, vedi Accedi a gcloud CLI con la tua identità federata.
-
Per inizializzare gcloud CLI, esegui questo comando:
gcloud init - Scopri come configurare il controllo dell'accesso per i metadati nel tuo progetto. Ignora questo passaggio se utilizzi i metadati solo dalle occorrenze create dalla scansione dei container di Artifact Analysis.
Crea argomenti Pub/Sub
Dopo aver attivato l'API Artifact Analysis, Artifact Analysis crea automaticamente argomenti Pub/Sub con i seguenti ID argomento:
container-analysis-notes-v1container-analysis-occurrences-v1
Se gli argomenti sono stati eliminati accidentalmente o non sono presenti, puoi aggiungerli tu. Ad esempio, gli argomenti potrebbero non essere presenti se la tua Google Cloud organizzazione ha un vincolo dei criteri dell'organizzazione che richiede la crittografia con chiavi di crittografia gestite dal cliente (CMEK). Quando l' API Pub/Sub è nell'elenco di negazione di questo vincolo, i servizi non possono creare automaticamente argomenti con Google-owned and Google-managed encryption keys.
Per creare gli argomenti con Google-owned and Google-managed encryption keys:
Console
Vai alla pagina degli argomenti Pub/Sub nella Google Cloud console.
Fai clic su Crea argomento.
Inserisci un ID argomento:
container-analysis-notes-v1in modo che il nome corrisponda all'URI:
projects/PROJECT_ID/topics/container-analysis-notes-v1dove PROJECT_ID è il tuo Google Cloud ID progetto.
Fai clic su Crea.
Inserisci un ID argomento:
container-analysis-occurrences-v1in modo che il nome corrisponda all'URI:
projects/PROJECT_ID/topics/container-analysis-occurrences-v1
gcloud
Esegui questi comandi nella shell o nella finestra del terminale:
gcloud pubsub topics create projects/PROJECT_ID/topics/container-analysis-notes-v1
gcloud pubsub topics create projects/PROJECT_ID/topics/container-analysis-occurrences-v1
Per saperne di più sul comando gcloud pubsub topics, consulta la
topics documentazione.
Per creare gli argomenti con la crittografia CMEK, consulta le istruzioni di Pub/Sub per la crittografia degli argom1enti.
Ogni volta che viene creata o aggiornata una nota o un'occorrenza, viene pubblicato un messaggio nell'argomento corrispondente, ma devi anche creare una sottoscrizione Pub/Sub per ascoltare gli eventi e ricevere messaggi dal servizio Pub/Sub.
Crea sottoscrizioni Pub/Sub
Per ascoltare gli eventi, crea una sottoscrizione Pub/Sub associata all'argomento:
Console
Vai alla pagina delle sottoscrizioni Pub/Sub nella Google Cloud console.
Fai clic su Crea sottoscrizione.
Digita un nome per la sottoscrizione. Ad esempio, notes.
Inserisci l'URI dell'argomento per le note:
projects/PROJECT_ID/topics/container-analysis-notes-v1dove PROJECT_ID è il tuo Google Cloud ID progetto.
Fai clic su Crea.
Crea un'altra sottoscrizione per le occorrenze con l'URI:
projects/PROJECT_ID/topics/container-analysis-occurrences-v1
gcloud
Per ricevere gli eventi Pub/Sub, devi prima creare una sottoscrizione associata all'argomento container-analysis-occurrences-v1:
gcloud pubsub subscriptions create \
--topic container-analysis-occurrences-v1 occurrences
In futuro, potrai recuperare i messaggi relativi alle tue occorrenze utilizzando la nuova sottoscrizione:
gcloud pubsub subscriptions pull \
--auto-ack occurrences
Java
Per scoprire come installare e utilizzare la libreria client per Artifact Analysis, consulta Librerie client di Artifact Analysis. Per saperne di più, consulta la documentazione di riferimento dell' API Java Artifact Analysis.
Per eseguire l'autenticazione in Artifact Analysis, configura le credenziali predefinite dell'applicazione. Per saperne di più, consulta Configura l'autenticazione per un ambiente di sviluppo locale.
Go
Per scoprire come installare e utilizzare la libreria client per Artifact Analysis, consulta Librerie client di Artifact Analysis. Per saperne di più, consulta la documentazione di riferimento dell'API Artifact Analysis.Go
Per eseguire l'autenticazione in Artifact Analysis, configura le credenziali predefinite dell'applicazione. Per saperne di più, consulta Configura l'autenticazione per un ambiente di sviluppo locale.
Node.js
Per scoprire come installare e utilizzare la libreria client per Artifact Analysis, consulta Librerie client di Artifact Analysis. Per saperne di più, consulta la documentazione di riferimento dell' APINode.js di Artifact Analysis.
Per eseguire l'autenticazione in Artifact Analysis, configura le credenziali predefinite dell'applicazione. Per saperne di più, consulta Configura l'autenticazione per un ambiente di sviluppo locale.
Ruby
Per scoprire come installare e utilizzare la libreria client per Artifact Analysis, consulta Librerie client di Artifact Analysis. Per saperne di più, consulta la documentazione di riferimento dell'API Ruby Artifact Analysis.
Per eseguire l'autenticazione in Artifact Analysis, configura le credenziali predefinite dell'applicazione. Per saperne di più, consulta Configura l'autenticazione per un ambiente di sviluppo locale.
Python
Per scoprire come installare e utilizzare la libreria client per Artifact Analysis, consulta Librerie client di Artifact Analysis. Per saperne di più, consulta la documentazione di riferimento dell'Python API di Artifact Analysis.
Per eseguire l'autenticazione in Artifact Analysis, configura le credenziali predefinite dell'applicazione. Per saperne di più, consulta Configura l'autenticazione per un ambiente di sviluppo locale.
Le applicazioni del sottoscrittore ricevono solo i messaggi pubblicati nell'argomento dopo la creazione della sottoscrizione.
I payload Pub/Sub sono in formato JSON e il loro schema è il seguente:
Note:
{ "name": "projects/PROJECT_ID/notes/NOTE_ID", "kind": "NOTE_KIND", "notificationTime": "NOTIFICATION_TIME", }
Occorrenze:
{ "name": "projects/PROJECT_ID/occurrences/OCCURRENCE_ID", "kind": "NOTE_KIND", "notificationTime": "NOTIFICATION_TIME", }
dove:
- NOTE_KIND è uno dei valori in
NoteKind - NOTIFICATION_TIME è un timestamp in formato "Zulu" UTC RFC 3339, preciso al nanosecondo.
Visualizza dettagli
Per saperne di più su una nota o un'occorrenza, puoi accedere ai metadati archiviati in Artifact Analysis. Ad esempio, puoi richiedere tutti i dettagli di un'occorrenza specifica. Consulta le istruzioni in Esaminare le vulnerabilità.
Passaggi successivi
- Per istruzioni su come utilizzare Artifact Analysis per archiviare e gestire i metadati personalizzati, consulta Creare note e occorrenze personalizzate.