En este documento, se describe cómo configurar las notificaciones sobre actualizaciones de notas y casos.
Artifact Analysis proporciona notificaciones a través de Pub/Sub sobre las vulnerabilidades detectadas en el análisis automatizado y sobre otros metadatos. Cuando se crea o actualiza una nota o un caso, se publica un mensaje en el tema correspondiente para cada versión de la API. Usa el tema correspondiente a la versión de la API que usas.
Antes de comenzar
- Sign in to your Google Cloud account. If you're new to Google Cloud, create an account to evaluate how our products perform in real-world scenarios. New customers also get $300 in free credits to run, test, and deploy workloads.
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
-
Enable the Container Analysis API.
- Install the Google Cloud CLI.
-
To initialize the gcloud CLI, run the following command:
gcloud init
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
-
Enable the Container Analysis API.
- Install the Google Cloud CLI.
-
To initialize the gcloud CLI, run the following command:
gcloud init
- Obtén información para configurar el control de acceso para los metadatos de tu proyecto. Omite este paso si solo consumes metadatos de los casos de vulnerabilidad creados por el análisis de contenedores de Artifact Analysis.
Crea temas de Pub/Sub
Después de activar la API de Artifact Analysis, Artifact Analysis crea automáticamente temas de Pub/Sub con los siguientes IDs de tema:
container-analysis-notes-v1
container-analysis-occurrences-v1
Si los temas se borraron por accidente o no se encuentran disponibles, puedes agregarlos tú mismo. Por ejemplo, es posible que falten los temas si tu organización de Google Cloud tiene una restricción de la política de la organización que requiere encriptación con claves de encriptación administradas por el cliente (CMEK). Cuando la API de Pub/Sub está en la lista de entidades rechazadas de esta restricción, los servicios no pueden crear temas automáticamente con claves que pertenecen a Google y que administra Google.
Para crear los temas con claves que son propiedad de Google y están administradas por Google, haz lo siguiente:
Console
Ve a la página de temas de Pub/Sub en la consola de Google Cloud.
Haz clic en Crear tema.
Ingresa un ID de tema:
container-analysis-notes-v1
para que el nombre coincida con el URI:
projects/PROJECT_ID/topics/container-analysis-notes-v1
En el ejemplo anterior, PROJECT_ID es el ID de tu proyecto de Google Cloud.
Haz clic en Crear.
Ingresa un ID de tema:
container-analysis-occurrences-v1
para que el nombre coincida con el URI:
projects/PROJECT_ID/topics/container-analysis-occurrences-v1
gcloud
Ejecuta el siguiente comando en el shell o la ventana de la 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
Para obtener más información sobre el comando gcloud pubsub topics
, consulta la documentación de topics
.
Para crear los temas con encriptación de CMEK, consulta las instrucciones de Pub/Sub para encriptar temas.
Cada vez que se crea o actualiza una nota o un caso, se publica un mensaje en el tema correspondiente, aunque también debes crear una suscripción a Pub/Sub para detectar eventos y recibir mensajes del servicio de Pub/Sub.
Crea suscripciones a Pub/Sub
Para escuchar eventos, crea una suscripción a Pub/Sub asociada con el tema:
Console
Ve a la página de suscripciones a Pub/Sub en la consola de Google Cloud.
Haz clic en Crear suscripción.
Escribe un nombre para la suscripción. Por ejemplo, notas.
Ingresa el URI del tema para las notas:
projects/PROJECT_ID/topics/container-analysis-notes-v1
En el ejemplo anterior, PROJECT_ID es el ID de tu proyecto de Google Cloud.
Haz clic en Crear.
Crea otra suscripción para los casos con el URI:
projects/PROJECT_ID/topics/container-analysis-occurrences-v1
gcloud
Para recibir eventos de Pub/Sub, primero debes crear una suscripción asociada con el tema container-analysis-occurrences-v1
:
gcloud pubsub subscriptions create \
--topic container-analysis-occurrences-v1 occurrences
A partir de ahora, puedes extraer mensajes relacionados con tus casos mediante tu nueva suscripción:
gcloud pubsub subscriptions pull \
--auto-ack occurrences
Java
Para obtener información sobre cómo instalar y usar la biblioteca cliente de Artifact Analysis, consulta Bibliotecas cliente de Artifact Analysis. Para obtener más información, consulta la documentación de referencia de la API de Java de Artifact Analysis.
Para autenticarte en Artifact Analysis, configura las credenciales predeterminadas de la aplicación. Si deseas obtener más información, consulta Configura la autenticación para un entorno de desarrollo local.
Go
Para obtener información sobre cómo instalar y usar la biblioteca cliente de Artifact Analysis, consulta Bibliotecas cliente de Artifact Analysis. Para obtener más información, consulta la documentación de referencia de la API de Go de Artifact Analysis.
Para autenticarte en Artifact Analysis, configura las credenciales predeterminadas de la aplicación. Si deseas obtener más información, consulta Configura la autenticación para un entorno de desarrollo local.
Node.js
Para obtener información sobre cómo instalar y usar la biblioteca cliente de Artifact Analysis, consulta Bibliotecas cliente de Artifact Analysis. Para obtener más información, consulta la documentación de referencia de la API de Node.js de Artifact Analysis.
Para autenticarte en Artifact Analysis, configura las credenciales predeterminadas de la aplicación. Si deseas obtener más información, consulta Configura la autenticación para un entorno de desarrollo local.
Ruby
Para obtener información sobre cómo instalar y usar la biblioteca cliente de Artifact Analysis, consulta las bibliotecas cliente de Artifact Analysis. Para obtener más información, consulta la documentación de referencia de la API de Ruby de Artifact Analysis.
Para autenticarte en Artifact Analysis, configura las credenciales predeterminadas de la aplicación. Si deseas obtener más información, consulta Configura la autenticación para un entorno de desarrollo local.
Python
Para obtener información sobre cómo instalar y usar la biblioteca cliente de Artifact Analysis, consulta Bibliotecas cliente de Artifact Analysis. Para obtener más información, consulta la documentación de referencia de la API de Python de Artifact Analysis.
Para autenticarte en Artifact Analysis, configura las credenciales predeterminadas de la aplicación. Si deseas obtener más información, consulta Configura la autenticación para un entorno de desarrollo local.
Las aplicaciones de suscriptor solo reciben los mensajes que se publican en el tema después de que se crea la suscripción.
Las cargas útiles de Pub/Sub están en formato JSON y su esquema es el siguiente:
Notas:
{ "name": "projects/PROJECT_ID/notes/NOTE_ID", "kind": "NOTE_KIND", "notificationTime": "NOTIFICATION_TIME", }
Casos:
{ "name": "projects/PROJECT_ID/occurrences/OCCURRENCE_ID", "kind": "NOTE_KIND", "notificationTime": "NOTIFICATION_TIME", }
Donde:
- NOTE_KIND es uno de los valores en
NoteKind
- NOTIFICATION_TIME es una marca de tiempo en formato RFC 3339 UTC “Zulu”, con precisión de nanosegundos.
Ver detalles
Para obtener más información sobre una nota o un caso, puedes acceder a los metadatos almacenados en Artifact Analysis. Por ejemplo, puedes solicitar todos los detalles de una ocurrencia específica. Consulta las instrucciones en Investiga las vulnerabilidades.
¿Qué sigue?
Si deseas obtener instrucciones para usar Artifact Analysis y almacenar y administrar tus metadatos personalizados, consulta Crea notas y ocurrencias personalizadas.
Puedes usar certificaciones con el análisis de vulnerabilidades para evitar que se ejecuten imágenes con problemas de seguridad conocidos en tu entorno de implementación. Si deseas obtener instrucciones para hacerlo, consulta Crea certificaciones con Kritis Signer.