Assured Open Source Software (Assured OSS) publie deux types de notifications :
Disponibilité des packages : ces notifications contiennent des informations sur les nouveaux packages et les nouvelles versions de packages ajoutés à Assured OSS, ainsi que des informations sur l'état d'intégration des packages.
Notifications de vulnérabilité : ces notifications contiennent des informations sur les nouvelles vulnérabilités détectées dans les packages gérés par Assured OSS ou sur les mises à jour des vulnérabilités existantes.
Les notifications programmatiques concernant les mises à jour des métadonnées de sécurité et les nouveaux packages sont publiées dans des sujets Pub/Sub. Ces notifications sont disponibles au format JSON. Vous pouvez créer un abonnement pull ou push au sujet Assured OSS pour recevoir des notifications.
Pour créer ces abonnements, utilisez les mêmes identifiants de compte de service ou d'identité de charge de travail que ceux que vous utilisez pour accéder aux artefacts ou aux métadonnées. Lorsque votre accès à Assured OSS est activé, les comptes de service sont autorisés à créer des abonnements à ces thèmes.
Les sections suivantes décrivent les sujets Pub/Sub.
Ce document s'applique aux niveaux premium et sans frais.
Avant de commencer
Pour le niveau premium Assured OSS, si vous avez activé VPC Service Controls, configurez la règle de sortie.
Thème d'intégration des packages
- Nom du thème :
projects/cloud-aoss/topics/package_onboarding - Message : cette section contient des informations sur les nouvelles versions de packages ajoutées à Assured OSS et des mises à jour concernant leur état d'intégration.
Schéma des données de message :
{ "package_name" string "package_version" string "language" string "onboarding_status" string "notification_status" string }Attributs de données des messages :
"PackageName" string "PackageVersion" string "PackageLanguage" string "SchemaVersion" string "GenerateTime" string
Thème d'informations sur les failles
- Nom du thème :
projects/cloud-aoss/topics/vulnerability_information - Message : cette section contient des informations sur les nouvelles failles détectées dans le système ou sur la mise à jour des métadonnées d'une faille.
Schéma des données de message :
{ "vulnerabilityId" string "notificationStatus" string }Attributs de données des messages :
"PackageName" string "PackageVersion" string "PackageLanguage" string "SchemaVersion" string "GenerateTime" string
Sujet regroupant les informations sur l'intégration des packages et les failles pour le niveau Premium
Vous pouvez accéder à toutes les notifications Assured OSS à partir de la rubrique Pub/Sub suivante :
projects/assuredoss-blue/topics/assuredoss-notifications
Attributs de notification
Les attributs de notification suivants font partie du message Pub/Sub publié. Vous pouvez utiliser ces attributs pour filtrer le message.
{
"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'attribut GenerateTime est au format RFC 3339.
Notifications liées aux colis
Lorsque l'attribut Type est défini sur PackageVersion, les données du message comportent les champs suivants :
{
"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
}
Notifications liées aux failles
Lorsque l'attribut Type est défini sur Vulnerability, les données du message comportent les champs suivants :
{
"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
}
La valeur du champ NotificationStatus indique l'état de la faille. Si la faille est nouvelle pour un package, la valeur est New. Si une mise à jour est disponible pour une faille existante, la valeur est Update.
Créer un abonnement pull
Pour créer un abonnement pull, procédez comme suit :
Créez un abonnement pull. Vous pouvez utiliser la consoleGoogle Cloud , Google Cloud CLI ou l'API Pub/Sub.
Une fois l'abonnement par extraction créé, commencez à interroger les messages à l'aide des bibliothèques clientes ou de la Google Cloud CLI.
Créer un abonnement push
Pour créer un abonnement push, configurez un serveur HTTPS avec un certificat non autosigné et accessible sur Internet. Utilisez le modèle d'abonnement push de l'une des manières suivantes :
Si vous disposez d'un projet Google Cloud et d'un compte de service (par exemple, si vous avez intégré Assured OSS à Security Command Center) :
Comme Assured OSS vous autorise à créer des abonnements, vous pouvez créer vos propres abonnements push et les associer au point de terminaison de votre choix. Pour en savoir plus, consultez Abonnements push.
Si vous utilisez le niveau sans frais et que vous n'avez pas de projet Google Cloud ni de compte de service, saisissez le point de terminaison HTTPS dans le formulaire "Activer l'accès ou mettre à jour les préférences de notification". L'équipe Assured OSS créera un abonnement push et y associera le point de terminaison.
Étapes suivantes
- Présentation des signatures d'artefacts
- Valider les signatures
- Vérifier la provenance de la compilation
- Découvrez comment protéger votre chaîne d'approvisionnement logicielle.