Ce document explique comment configurer les notifications pour les mises à jour de notes et occurrences.
Artifact Analysis fournit des notifications via Pub/Sub pour les failles détectées lors d'une analyse automatisée et pour d'autres métadonnées. Lorsqu'une note ou une occurrence est créée ou mise à jour, un message est publié dans le sujet correspondant pour chaque version de l'API. Utilisez le sujet correspondant à la version de l'API que vous utilisez.
Avant de commencer
- Connectez-vous à votre Google Cloud compte. Si vous débutez sur Google Cloud, créez un compte pour évaluer les performances de nos produits en conditions réelles. Les nouveaux clients bénéficient également de 300 $de crédits sans frais pour exécuter, tester et déployer des charges de travail.
-
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 Service Usage Admin IAM role (
roles/serviceusage.serviceUsageAdmin), which contains theserviceusage.services.enablepermission. Learn how to grant roles.-
Installez la Google Cloud CLI.
-
Si vous utilisez un fournisseur d'identité (IdP) externe, vous devez d'abord vous connecter à la gcloud CLI avec votre identité fédérée.
-
Pour initialiser la gcloud CLI, exécutez la commande suivante :
gcloud init -
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 Service Usage Admin IAM role (
roles/serviceusage.serviceUsageAdmin), which contains theserviceusage.services.enablepermission. Learn how to grant roles.-
Installez la Google Cloud CLI.
-
Si vous utilisez un fournisseur d'identité (IdP) externe, vous devez d'abord vous connecter à la gcloud CLI avec votre identité fédérée.
-
Pour initialiser la gcloud CLI, exécutez la commande suivante :
gcloud init - Découvrez comment configurer le contrôle d'accès pour les métadonnées de votre projet. Ignorez cette étape si vous n'utilisez que des métadonnées provenant d'occurrences créées par l'analyse de conteneurs Artifact Analysis.
Créer des sujets Pub/Sub
Une fois l'API Artifact Analysis activée, Artifact Analysis crée automatiquement des sujets Pub/Sub avec les ID de sujet suivants :
container-analysis-notes-v1container-analysis-occurrences-v1
Si les sujets ont été supprimés par accident ou sont manquants, vous pouvez les ajouter vous-même. Par exemple, les sujets peuvent être manquants si votre Google Cloud organisation dispose d'une contrainte de règle de l'organisation qui nécessite le chiffrement avec des clés de chiffrement gérées par le client (CMEK). Lorsque l' API Pub/Sub figure dans la liste de refus de cette contrainte, les services ne peuvent pas créer automatiquement de sujets avec Google-owned and Google-managed encryption keys.
Pour créer les sujets avec Google-owned and Google-managed encryption keys:
Console
Accédez à la page des sujets Pub/Sub dans la Google Cloud console.
Cliquez sur Créer un sujet.
Saisissez un ID de sujet :
container-analysis-notes-v1afin que le nom corresponde à l'URI :
projects/PROJECT_ID/topics/container-analysis-notes-v1où PROJECT_ID est votre Google Cloud ID de projet.
Cliquez sur Créer.
Saisissez un ID de sujet :
container-analysis-occurrences-v1afin que le nom corresponde à l'URI :
projects/PROJECT_ID/topics/container-analysis-occurrences-v1
gcloud
Exécutez les commandes suivantes dans la fenêtre de votre interface système ou de votre terminal :
gcloud pubsub topics create projects/PROJECT_ID/topics/container-analysis-notes-v1
gcloud pubsub topics create projects/PROJECT_ID/topics/container-analysis-occurrences-v1
Pour en savoir plus sur la commande gcloud pubsub topics, consultez la
topics documentation.
Pour créer les sujets avec le chiffrement CMEK, consultez les instructions Pub/Sub pour chiffrer les sujets.
Chaque fois qu'une note ou une occurrence est créée ou mise à jour, un message est publié dans le sujet correspondant. Toutefois, vous devez également créer un abonnement Pub/Sub pour écouter les événements et recevoir des messages du service Pub/Sub.
Créer un abonnement Pub/Sub
Pour écouter des événements, créez un abonnement Pub/Sub associé au sujet :
Console
Accédez à la page Abonnements Pub/Sub dans la Google Cloud console.
Cliquez sur Créer un abonnement.
Saisissez un nom pour l'abonnement. Exemple : notes.
Saisissez l'URI du sujet pour les notes :
projects/PROJECT_ID/topics/container-analysis-notes-v1où PROJECT_ID est votre Google Cloud ID de projet.
Cliquez sur Créer.
Créez un autre abonnement pour les occurrences avec l'URI :
projects/PROJECT_ID/topics/container-analysis-occurrences-v1
gcloud
Pour recevoir des événements Pub/Sub, vous devez d'abord créer un abonnement associé au sujet container-analysis-occurrences-v1 :
gcloud pubsub subscriptions create \
--topic container-analysis-occurrences-v1 occurrences
Vous pouvez ensuite récupérer des messages concernant vos occurrences à l'aide de votre nouvel abonnement :
gcloud pubsub subscriptions pull \
--auto-ack occurrences
Java
Pour savoir comment installer et utiliser la bibliothèque cliente pour Artifact Analysis, consultez la page Bibliothèques clientes Artifact Analysis. Pour plus d'informations, consultez la documentation de référence sur l'API Artifact Analysis.Java
Pour vous authentifier auprès d'Artifact Analysis, configurez les identifiants par défaut de l'application. Pour en savoir plus, consultez Configurer l'authentification pour un environnement de développement local.
Go
Pour savoir comment installer et utiliser la bibliothèque cliente pour Artifact Analysis, consultez la page Bibliothèques clientes Artifact Analysis. Pour plus d'informations, consultez la documentation de référence sur l'APIGo Artifact Analysis.
Pour vous authentifier auprès d'Artifact Analysis, configurez les identifiants par défaut de l'application. Pour en savoir plus, consultez Configurer l'authentification pour un environnement de développement local.
Node.js
Pour savoir comment installer et utiliser la bibliothèque cliente pour Artifact Analysis, consultez la page Bibliothèques clientes Artifact Analysis. Pour plus d'informations, consultez la documentation de référence sur l'API Artifact Analysis Node.js.
Pour vous authentifier auprès d'Artifact Analysis, configurez les identifiants par défaut de l'application. Pour en savoir plus, consultez Configurer l'authentification pour un environnement de développement local.
Ruby
Pour savoir comment installer et utiliser la bibliothèque cliente pour Artifact Analysis, consultez la page Bibliothèques clientes Artifact Analysis. Pour plus d'informations, consultez la documentation de référence sur l'API Ruby Artifact Analysis.
Pour vous authentifier auprès d'Artifact Analysis, configurez les identifiants par défaut de l'application. Pour en savoir plus, consultez Configurer l'authentification pour un environnement de développement local.
Python
Pour savoir comment installer et utiliser la bibliothèque cliente pour Artifact Analysis, consultez la page Bibliothèques clientes Artifact Analysis. Pour plus d'informations, consultez la documentation de référence sur l'API Python Artifact Analysis.
Pour vous authentifier auprès d'Artifact Analysis, configurez les identifiants par défaut de l'application. Pour en savoir plus, consultez Configurer l'authentification pour un environnement de développement local.
Les applications d'abonnés ne reçoivent que les messages publiés dans le sujet après la création de l'abonnement.
Les charges utiles Pub/Sub sont au format JSON et leur schéma se présente comme suit :
Notes :
{ "name": "projects/PROJECT_ID/notes/NOTE_ID", "kind": "NOTE_KIND", "notificationTime": "NOTIFICATION_TIME", }
Occurrences :
{ "name": "projects/PROJECT_ID/occurrences/OCCURRENCE_ID", "kind": "NOTE_KIND", "notificationTime": "NOTIFICATION_TIME", }
où :
- NOTE_KIND est l'une des valeurs de
NoteKind - NOTIFICATION_TIME est un horodatage au format RFC 3339 UTC "Zulu", précis à la nanoseconde près.
Afficher les détails
Pour en savoir plus sur une note ou une occurrence, vous pouvez accéder aux métadonnées stockées dans Artifact Analysis. Par exemple, vous pouvez demander tous les détails d'une occurrence spécifique. Pour en savoir plus, consultez la section Examiner les failles.
Étape suivante
- Pour savoir comment utiliser Artifact Analysis afin de stocker et de gérer vos métadonnées personnalisées, consultez la page Créer des notes et des occurrences personnalisées.