Generar y almacenar SBOMs

En este documento se describe cómo crear y almacenar una lista de materiales de software (SBOM) que incluya las dependencias de sus imágenes de contenedor.

Cuando almacenas imágenes de contenedor en Artifact Registry y las analizas para detectar vulnerabilidades con Artifact Analysis, puedes generar una lista de materiales (SBOM) mediante la CLI de Google Cloud.

Para obtener información sobre cómo usar el análisis de vulnerabilidades, consulta las secciones Análisis automático y Precios.

Artifact Analysis almacena las listas de materiales de software en Cloud Storage. Para obtener más información sobre los costes de Cloud Storage, consulta la página Precios.

Antes de empezar

  1. Sign in to your Google Account.

    If you don't already have one, sign up for a new account.

  2. 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 the resourcemanager.projects.create permission. Learn how to grant roles.

    Go to project selector

  3. Verify that billing is enabled for your Google Cloud project.

  4. Enable the Artifact Registry, Container Analysis, Container Scanning APIs.

    Roles required to enable APIs

    To enable APIs, you need the Service Usage Admin IAM role (roles/serviceusage.serviceUsageAdmin), which contains the serviceusage.services.enable permission. Learn how to grant roles.

    Enable the APIs

  5. Install the Google Cloud CLI.

  6. Si utilizas un proveedor de identidades (IdP) externo, primero debes iniciar sesión en la CLI de gcloud con tu identidad federada.

  7. Para inicializar gcloud CLI, ejecuta el siguiente comando:

    gcloud init
  8. 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 the resourcemanager.projects.create permission. Learn how to grant roles.

    Go to project selector

  9. Verify that billing is enabled for your Google Cloud project.

  10. Enable the Artifact Registry, Container Analysis, Container Scanning APIs.

    Roles required to enable APIs

    To enable APIs, you need the Service Usage Admin IAM role (roles/serviceusage.serviceUsageAdmin), which contains the serviceusage.services.enable permission. Learn how to grant roles.

    Enable the APIs

  11. Install the Google Cloud CLI.

  12. Si utilizas un proveedor de identidades (IdP) externo, primero debes iniciar sesión en la CLI de gcloud con tu identidad federada.

  13. Para inicializar gcloud CLI, ejecuta el siguiente comando:

    gcloud init
  14. Crea un repositorio de Docker en Artifact Registry y envía una imagen de contenedor al repositorio. Si no estás familiarizado con Artifact Registry, consulta la guía de inicio rápido de Docker.
  15. Roles obligatorios

    Para obtener los permisos que necesitas para gestionar los segmentos de Cloud Storage y subir archivos de lista de materiales de software, pide a tu administrador que te conceda el rol de gestión de identidades y accesos Administrador de Storage (roles/storage.admin) en el proyecto. 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.

    Generar un archivo de lista de materiales de software

    Para generar un archivo SBOM, usa el siguiente comando:

    gcloud artifacts sbom export --uri=URI
    

    Dónde

    • URI es el URI de la imagen de Artifact Registry que describe el archivo SBOM, similar a us-east1-docker.pkg.dev/my-image-repo/my-image. Las imágenes pueden estar en formato de etiqueta o en formato de resumen. Las imágenes proporcionadas en formato de etiqueta se convertirán a formato de resumen.

    Artifact Analysis almacena tu lista de materiales (SBOM) en Cloud Storage.

    Puedes ver las listas de materiales de software mediante la Google Cloud consola o la CLI de gcloud. Si quieres localizar el segmento de Cloud Storage que contiene tus listas de materiales de software, debes buscar listas de materiales de software con gcloud CLI.

    Generar una lista de materiales de software sin análisis de vulnerabilidades

    Si quieres generar una lista de materiales de software, pero no quieres que se analicen las vulnerabilidades de tu proyecto de forma continua, puedes exportar una lista de materiales de software si habilitas la API Container Scanning antes de enviar la imagen a Artifact Registry. Una vez que hayas enviado la imagen a Artifact Registry y hayas exportado una lista de materiales de software, debes inhabilitar la API Container Scanning para evitar que se te facture por análisis de vulnerabilidades posteriores.

    Siguientes pasos