En este documento se describe cómo puedes usar Gemini Cloud Assist para obtener información sobre el estado de tus artefactos, consultar información sobre repositorios y metadatos de artefactos, y usar la información de análisis de artefactos para responder preguntas sobre las vulnerabilidades de los artefactos y tus listas de materiales de software (SBOMs).
Antes de empezar
- Asegúrate de haber configurado Gemini Cloud Assist en tu Google Cloud proyecto.
- 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.
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
(
roles/resourcemanager.projectCreator
), which contains theresourcemanager.projects.create
permission. Learn how to grant roles.
-
Verify that billing is enabled for your Google Cloud project.
-
Enable the Artifact Registry and Container Scanning APIs.
Roles required to enable APIs
To enable APIs, you need the Service Usage Admin IAM role (
roles/serviceusage.serviceUsageAdmin
), which contains theserviceusage.services.enable
permission. Learn how to grant roles. -
Install the Google Cloud CLI.
-
Si utilizas un proveedor de identidades (IdP) externo, primero debes iniciar sesión en la CLI de gcloud con tu identidad federada.
-
Para inicializar gcloud CLI, ejecuta el siguiente comando:
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
(
roles/resourcemanager.projectCreator
), which contains theresourcemanager.projects.create
permission. Learn how to grant roles.
-
Verify that billing is enabled for your Google Cloud project.
-
Enable the Artifact Registry and Container Scanning APIs.
Roles required to enable APIs
To enable APIs, you need the Service Usage Admin IAM role (
roles/serviceusage.serviceUsageAdmin
), which contains theserviceusage.services.enable
permission. Learn how to grant roles. -
Install the Google Cloud CLI.
-
Si utilizas un proveedor de identidades (IdP) externo, primero debes iniciar sesión en la CLI de gcloud con tu identidad federada.
-
Para inicializar gcloud CLI, ejecuta el siguiente comando:
gcloud init
-
Visor de ocurrencias (
roles/containeranalysis.occurrences.viewer
) en el proyecto o repositorio -
Usuario de Gemini Cloud Assist (
roles/cloudaicompanion.user
) en el proyecto - En la Google Cloud consola, selecciona un proyecto en el que tengas imágenes de contenedor almacenadas en Artifact Registry.
- Para abrir el panel Cloud Assist, haz clic en spark Abrir o cerrar el chat de IA de Gemini.
- Para introducir una petición, escribe la petición y haz clic en Enviar Enviar.
- Todas las peticiones se dirigen al proyecto seleccionado de forma predeterminada, pero puedes dirigir tu petición para que se filtre por ubicación, repositorio o imagen.
- Cualquier consulta basada en un nombre de imagen de contenedor trata el nombre de la imagen de contenedor como un prefijo. De esta forma, puedes filtrar por proyecto, repositorio o imagen específica (en diferentes SHAs), pero no por etiqueta.
- Para obtener resultados más específicos, incluye un ámbito. Por ejemplo, para obtener resultados de una imagen específica, incluye el nombre de la imagen en el ámbito. Puedes filtrar añadiendo detalles del proyecto, el repositorio, la imagen o la imagen@digest al nombre de la imagen del contenedor.
- No es necesario usar calificadores de región en las peticiones de Artifact Analysis, ya que esta función proporciona resultados combinados de todas las regiones. Puede especificar un calificador de región para filtrar los resultados.
- ID de vulnerabilidad
- Nombre de la imagen del contenedor
Consulta más información sobre Gemini Cloud Assist.
Roles obligatorios
Para obtener los permisos que necesitas para pedir información a Gemini Cloud Assist sobre tus artefactos, pide a tu administrador que te conceda los siguientes roles de gestión de identidades y accesos:
Para obtener más información sobre cómo conceder roles, consulta el artículo Gestionar el acceso a proyectos, carpetas y organizaciones.
También puedes conseguir los permisos necesarios a través de roles personalizados u otros roles predefinidos.
Abrir Gemini Cloud Assist
Puedes abrir el chat de Gemini Cloud Assist desde cualquier parte de laGoogle Cloud consola.
Consideraciones sobre las peticiones
A continuación, se muestra una lista de consideraciones específicas de Análisis de artefactos que debes tener en cuenta al generar peticiones de Gemini Cloud Assist. Para obtener más información sobre cómo escribir peticiones generales, consulta el artículo Escribe mejores peticiones para Gemini para Google Cloud.
Lista mis principales vulnerabilidades conocidas
Puedes pedirle a Gemini Cloud Assist que te muestre las principales vulnerabilidades conocidas de tu proyecto actual. Las vulnerabilidades se ordenan por su puntuación del sistema común de puntuación de vulnerabilidades (CVSS) en orden descendente y se agrupan por su ID de vulnerabilidad. Solo se muestran las 10 vulnerabilidades principales. Los resultados incluyen las vulnerabilidades de todas las imágenes analizadas en los últimos 30 días.
Puedes filtrar la respuesta por el nombre de la imagen del contenedor.
Para enumerar las principales vulnerabilidades conocidas, en el chat de Gemini Cloud Assist, introduce la siguiente petición:
List artifact vulnerabilities for `CONTAINER_IMAGE_NAME`.
Sustituye CONTAINER_IMAGE_NAME
por el nombre de la imagen del contenedor, que incluye tu repositorio (por ejemplo, us-central1-docker.pkg.dev/my-project/my-repository
).
Si incluyes más detalles en el nombre de la imagen del contenedor, obtendrás una respuesta más precisa. Por ejemplo, LOCATION-docker.pkg.dev/PROJECT-ID/REPOSITORY/IMAGE
proporcionaría detalles sobre las vulnerabilidades de una imagen concreta.
La siguiente petición pide a Gemini Cloud Assist que muestre las principales vulnerabilidades conocidas del repositorio
us-central1-docker.pkg.dev/my-project/my-repository
:
List artifact vulnerabilities for
`us-central1-docker.pkg.dev/my-project/my-repository`.
La respuesta incluye una lista de hasta 10 vulnerabilidades ordenadas por su puntuación CVSS en orden descendente para el repositorio especificado.
Para ver todas tus vulnerabilidades, usa el comando artifacts vulnerabilities list de gcloud CLI. Puedes incluir el nombre de la imagen sin calificar o proporcionar un algoritmo de hash seguro (SHA) para ver las vulnerabilidades.
Listar imágenes por vulnerabilidad
Puedes pedirle a Gemini Cloud Assist que muestre todas las imágenes que incluyan una vulnerabilidad específica. La respuesta se ordena de forma descendente según la fecha de creación más reciente e incluye las imágenes analizadas en los últimos 30 días. Esta petición muestra un máximo de 10 imágenes y solo incluye las que se han analizado con Análisis de artefactos.
Puedes filtrar la respuesta por lo siguiente:
Para ver una lista de las imágenes que incluyen una vulnerabilidad específica, en el chat de Cloud Assist, introduce la siguiente petición:
List docker container images that contain vulnerability
`VULNERABILITY_ID`.
Sustituye VULNERABILITY_ID
por el ID de la vulnerabilidad que quieras localizar (por ejemplo, CVE-2024-01234
).
La siguiente petición pide a Gemini Cloud Assist que muestre una lista de imágenes que contengan la vulnerabilidad CVE-2024-01234
:
List artifact vulnerabilities for `CVE-2024-01234`.
La respuesta incluye una lista de hasta 10 imágenes que contienen la vulnerabilidad especificada, ordenadas por su puntuación CVSS de mayor a menor en el repositorio especificado.
Listar imágenes por paquete
Puedes pedirle a Gemini Cloud Assist que devuelva una lista de imágenes que incluyan un paquete específico. Las imágenes se ordenan de forma descendente según su fecha de creación e incluyen las imágenes escaneadas en los últimos 30 días. Esta petición muestra un máximo de 10 imágenes y solo incluye las que se han analizado con Análisis de artefactos.
Puedes filtrar la respuesta por el nombre de la imagen del contenedor.
Para ver una lista de las imágenes que incluyen un paquete específico, en el chat de Asistencia en la nube, introduce la siguiente petición:
List docker container images that contain package
`PACKAGE_ID`.
Sustituye PACKAGE_ID
por el ID del paquete que quieras localizar.
Por ejemplo, la siguiente petición pide a Gemini Cloud Assist que muestre las imágenes que contienen el paquete my-package-name
:
List images that contain package `my-package-name`.
La respuesta incluye una lista de hasta 10 imágenes que contienen el paquete especificado.
Mostrar procedencia de compilación
Puedes pedirle a Gemini Cloud Assist que devuelva los 10 detalles de procedencia de compilación más recientes de un proyecto y un ámbito específicos. Los resultados se ordenan por fecha de creación en orden descendente, de forma que los elementos creados más recientemente aparecen en la parte superior de la lista. Se muestran hasta 10 compilaciones. Para aparecer en la lista, las compilaciones deben haberse creado en los últimos 30 días. Esta petición solo admite compilaciones con procedencia de SLSA 1.0.
Puedes filtrar la respuesta por el nombre de la imagen del contenedor.
Para ver la procedencia de tu compilación, en la conversación de Cloud Assist, introduce la siguiente petición:
List build provenance for CONTAINER_IMAGE_NAME.
Sustituye CONTAINER_IMAGE_NAME por el ID de la imagen de la que quieras conocer la procedencia.
Por ejemplo, la siguiente petición pide a Gemini Cloud Assist que
liste la procedencia de compilación de
us-central1-docker.pkg.dev/my-project/my-image
:
List build provenance for `us-central1-docker.pkg.dev/my-project/my-image`.
Puedes quitar los detalles de la ubicación, el proyecto o la imagen del nombre de la imagen del contenedor para obtener un conjunto de resultados más amplio. La respuesta incluye los detalles de procedencia de la compilación de las 10 compilaciones más recientes.
Para ver tus compilaciones en la Google Cloud consola, ve a la página Historial de compilaciones.
Mostrar SBOMs
Puedes pedirle a Gemini Cloud Assist que devuelva las últimas listas de materiales de tu repositorio. Los resultados se ordenan por fecha de creación en orden descendente, de forma que los elementos creados más recientemente aparecen en la parte superior de la lista. Se pueden mostrar hasta 10 compilaciones creadas en los últimos 30 días.
Puedes filtrar la respuesta por el nombre de la imagen del contenedor, incluidos los detalles de imagen@resumen.
Para ver una lista de tus SBOMs, en el chat de Cloud Assist, introduce la siguiente petición:
List SBOMs for `CONTAINER_IMAGE_NAME`.
Sustituye CONTAINER_IMAGE_NAME
por el nombre de la imagen del contenedor que quieras buscar. Por ejemplo, us-central1-docker.pkg.dev/my-project/my-repo
.
La siguiente petición pide a Gemini Cloud Assist que muestre las SBOMs del repositorio us-central1-docker.pkg.dev/my-project/my-repo
:
List SBOMs for `us-central1-docker.pkg.dev/my-project/my-repo`.
La respuesta incluye los detalles de la lista de materiales de software de los 10 repositorios más recientes. Puedes quitar los detalles de la ubicación, el proyecto o la imagen del nombre de la imagen del contenedor para obtener un conjunto de resultados más amplio.
Puedes ver todas las listas de materiales de software con el comando artifacts SBOM list de gcloud CLI.
Peticiones adicionales
Las siguientes peticiones muestran las funciones de las variables para filtrar con Gemini Cloud Assist.
Para enumerar las vulnerabilidades por una variable específica, introduce lo siguiente en el chat de Cloud Assist:
List vulnerabilities for `SCOPE`.
En esta petición, SCOPE
se puede definir como un proyecto, un repositorio, una imagen o una imagen y un digest.
Para enumerar las imágenes que contienen un paquete específico, introduce lo siguiente en el chat de Cloud Assist:
List images that contain the log4j package.
Para enumerar las imágenes que contienen una vulnerabilidad específica, introduce lo siguiente en el chat de Cloud Assist:
List images that contain `VULNERABILITY_ID`.
En esta petición, sustituye VULNERABILITY_ID
por un número de CVE.