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 contenedores 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 la página Precios.
Antes de comenzar
-
Sign in to your Google Account.
If you don't already have one, sign up for a new account.
-
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, 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.enable
permission. Learn how to grant roles. -
Install the Google Cloud CLI.
-
Si usas un proveedor de identidad externo (IdP), primero debes acceder a 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
(
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, 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.enable
permission. Learn how to grant roles. -
Install the Google Cloud CLI.
-
Si usas un proveedor de identidad externo (IdP), primero debes acceder a 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ía una imagen de contenedor al repositorio. Si no conoces Artifact Registry, consulta la guía de inicio rápido de Docker.
- 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 formato de resumen. Las imágenes proporcionadas en formato de etiqueta se resolverán en formato de resumen.
Roles requeridos
Para obtener los permisos que
necesitas para administrar buckets de Cloud Storage y subir archivos de SBOM,
pídele a tu administrador que te otorgue el rol de IAM
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 de SBOM, usa el siguiente comando:
gcloud artifacts sbom export --uri=URI
Dónde
Artifact Analysis almacena tu SBOM en Cloud Storage.
Puedes ver las SBOM con la consola de Google Cloud o gcloud CLI. Si quieres ubicar el bucket de Cloud Storage que contiene tus SBOM, debes buscar las SBOM con la CLI de gcloud.
Genera una SBOM sin análisis de vulnerabilidades
Si deseas generar una SBOM, pero no quieres que se realice 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 tu imagen a Artifact Registry y de que exportes una SBOM, debes inhabilitar la API de Container Scanning para evitar que se te facture por análisis de vulnerabilidades adicionales.