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
-
Accede a tu Cuenta de Google.
Si todavía no tienes una cuenta, regístrate para obtener una nueva.
-
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.
-
Verify that billing is enabled for your Google Cloud project.
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 theserviceusage.services.enablepermission. Learn how to grant roles.-
Instala Google Cloud CLI.
-
Si usas un proveedor de identidad externo (IdP), primero debes acceder a la gcloud CLI 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 role
(
roles/resourcemanager.projectCreator), which contains theresourcemanager.projects.createpermission. Learn how to grant roles.
-
Verify that billing is enabled for your Google Cloud project.
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 theserviceusage.services.enablepermission. Learn how to grant roles.-
Instala Google Cloud CLI.
-
Si usas un proveedor de identidad externo (IdP), primero debes acceder a la gcloud CLI con tu identidad federada.
-
Para inicializar gcloud CLI, ejecuta el siguiente comando:
gcloud init - 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.