Subir SBOMs

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

Para obtener información sobre los precios 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 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 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. Tener un repositorio de Docker en Artifact Registry con la imagen de contenedor que describe tu lista de materiales. Si no estás familiarizado con Artifact Registry, consulta la guía de inicio rápido de Docker.
  15. Tener un archivo SBOM listo para subir en uno de los formatos admitidos.
  16. Roles obligatorios

    Para obtener los permisos que necesitas para crear y gestionar segmentos de Cloud Storage y archivos de lista de materiales de software, pide a tu administrador que te conceda los siguientes roles de gestión de identidades y accesos en el proyecto:

    • Si usas el segmento de Cloud Storage predeterminado, sigue estos pasos para gestionar los segmentos de almacenamiento: Administrador de almacenamiento(roles/storage.admin)
    • Si especificas un segmento de Cloud Storage, para gestionar los segmentos de almacenamiento, haz lo siguiente: Administrador de objetos de Storage(roles/storage.objectAdmin)
    • Si ya existe una nota para la referencia de la lista de materiales de software: Vinculador de notas de Container Analysis (roles/containeranalysis.notes.attacher)
    • Para crear una nota sobre las repeticiones de referencias de SBOM en el proyecto actual, siga estos pasos: Editor de notas de Container Analysis((roles/containeranalysis.notes.editor)
    • Para crear una repetición de referencia de SBOM, sigue estos pasos: Editor de repeticiones de Container Analysis(roles/containeranalysis.occurrences.editor)

    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.

    Formatos admitidos

    El archivo de lista de materiales (SBOM) debe ser un archivo JSON en uno de los siguientes formatos:

    Sube tu lista de materiales de software

    Usa el siguiente comando para subir tu lista de materiales:

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

    Donde:

    • SOURCE: la ruta al archivo de lista de materiales (SBOM) que se va a subir.
    • URI: 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 convertirán en formato de resumen.

    Marcas opcionales

    • --destination: especifica un segmento de Cloud Storage que se va a usar en lugar del predeterminado.
    • --kms-key-version: proporciona una versión de clave para firmar la carga útil de la ocurrencia de referencia de la lista de materiales de software. Puedes usar esta clave para verificar el origen de la lista de materiales.

    Por ejemplo, el siguiente comando sube un archivo JSON my-sbom.bom.json que se ha generado a partir de la imagen etiquetada us-east1-docker.pkg.dev/my-image-repo/my-image y firma la ocurrencia de referencia de la lista de materiales de software con la versión de la 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 asociado al digest de la imagen my-local-image@sha256:abcxyz y almacena el archivo en el segmento 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 lista de materiales (SBOM) a Cloud Storage y crea una referencia de ocurrencia de la lista de materiales.

    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.

    Siguientes pasos