L'iscrizione alle notifiche Pub/Sub ti consente di ricevere avvisi quando sono disponibili nuovi pacchetti e aggiornamenti delle vulnerabilità per Assured Open Source Software (Assured OSS).
Assured OSS pubblica due tipi di notifiche:
Disponibilità dei pacchetti: queste notifiche contengono informazioni sui nuovi pacchetti e sulle nuove versioni dei pacchetti aggiunti ad Assured OSS, nonché aggiornamenti sullo stato di onboarding dei pacchetti.
Notifiche di vulnerabilità: queste notifiche contengono informazioni sulle nuove vulnerabilità rilevate nei pacchetti selezionati da Assured OSS o sugli aggiornamenti delle vulnerabilità esistenti.
Le notifiche programmatiche sugli aggiornamenti dei metadati di sicurezza e sui nuovi pacchetti vengono pubblicate negli argomenti Pub/Sub. Queste notifiche sono disponibili in formato JSON. Puoi creare una sottoscrizione pull o push all'argomento Assured OSS per ricevere notifiche.
Per creare queste sottoscrizioni, utilizza lo stesso account di servizio o le stesse credenziali di Workload Identity che utilizzi per accedere agli artefatti o ai metadati. Quando l'accesso ad Assured OSS è abilitato, i service account ricevono l'autorizzazione per creare sottoscrizioni su questi argomenti.
Le sezioni seguenti descrivono gli argomenti Pub/Sub.
Questo documento si applica sia al livello Premium sia al Livello senza costi.
Prima di iniziare
Per il livello Premium di Assured OSS, se hai attivato i Controlli di servizio VPC, configura la regola in uscita.
Argomento di onboarding del pacchetto
- Nome argomento:
projects/cloud-aoss/topics/package_onboarding - Messaggio: questo argomento contiene informazioni sulle nuove versioni dei pacchetti aggiunte ad Assured OSS e aggiornamenti relativi allo stato di onboarding.
Schema dei dati dei messaggi:
{ "package_name" string "package_version" string "language" string "onboarding_status" string "notification_status" string }Attributi dei dati dei messaggi:
"PackageName" string "PackageVersion" string "PackageLanguage" string "SchemaVersion" string "GenerateTime" string
Argomento relativo alle informazioni sulle vulnerabilità
- Nome argomento:
projects/cloud-aoss/topics/vulnerability_information - Messaggio: questo argomento contiene informazioni sulle nuove vulnerabilità rilevate nel sistema o sull'aggiornamento dei metadati di una vulnerabilità.
Schema dei dati dei messaggi:
{ "vulnerabilityId" string "notificationStatus" string }Attributi dei dati dei messaggi:
"PackageName" string "PackageVersion" string "PackageLanguage" string "SchemaVersion" string "GenerateTime" string
Argomento consolidato sull'onboarding dei pacchetti e sulle informazioni sulle vulnerabilità per il livello Premium
Puoi accedere a tutte le notifiche di Assured OSS dal seguente argomento Pub/Sub:
projects/assuredoss-blue/topics/assuredoss-notifications
Notification attributes (Attributi di notifica)
I seguenti attributi di notifica fanno parte del messaggio Pub/Sub pubblicato. Puoi utilizzare questi attributi per filtrare il messaggio.
{
"Type": "string", // Indicates the type of notification, can be 'PackageVersion' or 'Vulnerability'
"PackageName": "string", // Package ID
"PackageVersion": "string", // Version of the package
"Language": "string", // Language of the package
"SchemaVersion": int, // Schema version of the data in message
"GenerateTime": "string" // Time at which the event occurred
}
L'attributo GenerateTime è nel formato RFC 3339.
Notifiche relative ai pacchi
Quando l'attributo Type è PackageVersion, i dati del messaggio contengono i seguenti campi:
{
"PackageName": "string", // Package ID
"PackageVersion": "string", // Version of the package
"Language": "string", // Language of the package
"NotificationStatus": "string" // Status of package-version,'New' indicates available to download from Assured OSS
}
Notifiche relative alle vulnerabilità
Quando l'attributo Type è Vulnerability, i dati del messaggio contengono i seguenti campi:
{
"ID": "string", // Vulnerability ID affecting the package
"Severity": "string", // Severity of the vulnerability
"Sources": [
{
"Name": "string", // Source of vulnerability information
"Link": "string" // URL of vulnerability details
}
],
"Summary": "string", // Summary of vulnerability
"Description": "string", // Detailed description of vulnerability
"PackageName": "string", // Package ID
"PackageVersion": "string", // Version of the package
"Language": "string", // Language of the package
"NotificationStatus": "string" // Status of package-version
}
Il valore del campo NotificationStatus indica lo stato della vulnerabilità. Se la vulnerabilità è nuova per un pacchetto, il valore è New. Se è disponibile un aggiornamento di una vulnerabilità esistente, il valore è Update.
Creare una sottoscrizione pull
Per creare una sottoscrizione pull, completa i seguenti passaggi:
Crea una sottoscrizione pull. Puoi utilizzare la consoleGoogle Cloud , Google Cloud CLI o l'API Pub/Sub.
Dopo aver creato la sottoscrizione pull, inizia a eseguire il polling dei messaggi utilizzando le librerie client o Google Cloud CLI.
Creare una sottoscrizione push
Per creare una sottoscrizione push, configura un server HTTPS con un certificato non autofirmato e accessibile su internet. Utilizza il modello di sottoscrizione push in uno dei seguenti modi:
Se hai un progetto Google Cloud e un account di servizio (ad esempio, hai integrato Assured OSS con Security Command Center):
Poiché Assured OSS fornisce l'autorizzazione per creare sottoscrizioni, puoi creare le tue sottoscrizioni push e associarle all'endpoint che preferisci. Per saperne di più, consulta Sottoscrizioni push.
Se utilizzi il Livello senza costi e non hai un progetto e un account di servizio account Google Cloud , inserisci l'endpoint HTTPS nel modulo Abilita l'accesso o aggiorna le preferenze di notifica. Il team di Assured OSS creerà una sottoscrizione push e collegherà l'endpoint a questa sottoscrizione.