Sube SBOM

En esta página, se describe cómo subir un archivo de lista de materiales de software (SBOM) a Cloud Storage para realizar un seguimiento de los componentes de las imágenes de contenedor que almacenas en Artifact Registry y certificarlos.

Para obtener información sobre los precios de Cloud Storage, consulta Precios.

Antes de comenzar

  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.

    Go to project selector

  3. Make sure that billing is enabled for your Google Cloud project.

  4. Enable the Artifact Registry, Container Analysis APIs.

    Enable the APIs

  5. Install the Google Cloud CLI.
  6. To initialize the gcloud CLI, run the following command:

    gcloud init
  7. In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

    Go to project selector

  8. Make sure that billing is enabled for your Google Cloud project.

  9. Enable the Artifact Registry, Container Analysis APIs.

    Enable the APIs

  10. Install the Google Cloud CLI.
  11. To initialize the gcloud CLI, run the following command:

    gcloud init
  12. Tener un repositorio de Docker en Artifact Registry con la imagen de contenedor que describe tu SBOM Si no estás familiarizado con Artifact Registry, consulta la guía de inicio rápido de Docker.
  13. Tener un archivo SBOM listo para subir en uno de los formatos admitidos

Roles obligatorios

Para obtener los permisos que necesitas para crear y administrar buckets de Cloud Storage y archivos de SBOM, pídele a tu administrador que te otorgue los siguientes roles de IAM en el proyecto:

  • Si usas el bucket predeterminado de Cloud Storage, sigue estos pasos para administrar los buckets de almacenamiento: Administrador de almacenamiento(roles/storage.admin)
  • Si especificas un bucket de Cloud Storage, para administrar los buckets de almacenamiento, haz lo siguiente: Administrador de objetos de almacenamiento(roles/storage.objectAdmin)
  • Si ya existe una nota para la referencia del SBOM, usa el vinculador de notas de Container Analysis (roles/containeranalysis.notes.attacher).
  • Para crear una nota nueva para los casos de referencia de SBOM en el proyecto actual, haz lo siguiente: Editor de notas de Container Analysis((roles/containeranalysis.notes.editor)
  • Para crear un caso de referencia de SBOM, haz lo siguiente: Editor de casos de Container Analysis(roles/containeranalysis.occurrences.editor)

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 mediante roles personalizados o cualquier otro rol predefinido.

Formatos admitidos

El archivo SBOM debe ser un archivo JSON en uno de los siguientes formatos:

Sube tu SBOM

Usa el siguiente comando para subir tu SBOM:

gcloud artifacts sbom load /
    --source SOURCE /
    --uri URI

Aquí:

  • SOURCE: Es la ruta de acceso al archivo SBOM que se subirá.
  • URI: Es el URI de la imagen de Docker que describe el archivo SBOM. 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.

Marcas opcionales

  • --destination: Especifica un bucket de Cloud Storage para usar en lugar del predeterminado.
  • --kms-key-version: Proporciona una versión de clave para firmar la carga útil de ocurrencia de referencia de SBOM. Puedes usar esta clave para verificar el origen de la SBOM.

Por ejemplo, el siguiente comando sube un archivo JSON my-sbom.bom.json que se generó a partir de la imagen etiquetada us-east1-docker.pkg.dev/my-image-repo/my-image y firma la ocurrencia de referencia de la SBOM con la versión de clave de KMS que termina en my-key/cryptoKeyVersions/1.

gcloud artifacts sbom load /
--source=my-sbom.bom.json
--uri=us-east1-docker.pkg.dev/my-image-repo/my-image
--kms-key-version=projects/my-project/locations/us/keyRings/my-key-ring/cryptoKeys/my-key/cryptoKeyVersions/1

El siguiente comando sube un archivo JSON my-sbom.spdx.json que está asociado con el resumen de imagen my-local-image@sha256:abcxyz y lo almacena en el bucket de Cloud Storage gs://my-sbom-bucket.

gcloud artifacts sbom load /
    --source=my-sbom.spdx.json /
    --uri=my-local-image@sha256:abcxyz /
    --destination=gs://my-sbom-bucket

Artifact Analysis sube tu SBOM a Cloud Storage y crea una ocurrencia de referencia de SBOM.

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

¿Qué sigue?