Genera y almacena SBOMs

En este documento, se describe cómo crear y almacenar una lista de materiales de software (SBOM) en la que se enumeran las dependencias de tus imágenes de contenedor.

Cuando almacenas imágenes de contenedor en Artifact Registry y las analizas en busca de vulnerabilidades con Artifact Analysis, puedes generar una SBOM con Google Cloud CLI.

Para obtener información sobre el uso del análisis de vulnerabilidades, consulta Análisis automático y Precios.

Artifact Analysis almacena las SBOM en Cloud Storage. Para obtener más información sobre los costos de Cloud Storage, consulta Precios.

Antes de comenzar

  1. Accede a tu Cuenta de Google.

    Si todavía no tienes una cuenta, regístrate para obtener una nueva.

  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 role (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. Instala Google Cloud CLI.

  6. Si usas un proveedor de identidad externo (IdP), primero debes acceder a la gcloud CLI 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 role (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. Instala Google Cloud CLI.

  12. Si usas un proveedor de identidad externo (IdP), primero debes acceder a la gcloud CLI 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íale una imagen de contenedor. Si no estás familiarizado con Artifact Registry, consulta la guía de inicio rápido de Docker.

Roles obligatorios

Para obtener los permisos que necesitas para administrar buckets de Cloud Storage y subir archivos SBOM, pídele a tu administrador que te otorgue el rol de IAM de administrador de almacenamiento (roles/storage.admin) en el proyecto. Para obtener más información sobre cómo otorgar roles, consulta Administra el acceso a proyectos, carpetas y organizaciones.

También puedes obtener los permisos necesarios a través de roles personalizados o cualquier otro rol predefinido.

Genera un archivo SBOM

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 de resumen. Las imágenes proporcionadas en formato de etiqueta se resolverán en formato de resumen.

Artifact Analysis almacena tu SBOM en Cloud Storage.

Puedes ver las SBOM con la Google Cloud consola o gcloud CLI. Si deseas ubicar el bucket de Cloud Storage que contiene tus SBOM, debes buscar las SBOM con gcloud CLI.

Genera una SBOM sin análisis de vulnerabilidades

Si deseas generar una SBOM, pero no quieres un análisis de vulnerabilidades continuo para tu proyecto, puedes exportar una SBOM si habilitas la API de Container Scanning antes de enviar la imagen a Artifact Registry. Después de que se envíe la imagen a Artifact Registry y exportes una SBOM, debes inhabilitar la API de Container Scanning para evitar que se te cobre por el análisis de vulnerabilidades adicional.

¿Qué sigue?