Sube SBOM

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

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. If you're using an external identity provider (IdP), you must first sign in to the gcloud CLI with your federated identity.

  7. To initialize the gcloud CLI, run the following command:

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

    Go to project selector

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

  10. Enable the Artifact Registry, Container Analysis APIs.

    Enable the APIs

  11. Install the Google Cloud CLI.

  12. If you're using an external identity provider (IdP), you must first sign in to the gcloud CLI with your federated identity.

  13. To initialize the gcloud CLI, run the following command:

    gcloud init
  14. Tener un repositorio de Docker en Artifact Registry con la imagen de contenedor que describe tu SBOM Si no conoces Artifact Registry, consulta la guía de inicio rápido de Docker.
  15. Tener un archivo de SBOM listo para subir en uno de los formatos admitidos
  16. 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 buckets de almacenamiento, debes tener el rol de: Administrador de objetos de Storage(roles/storage.objectAdmin)
    • Si ya existe una nota para la referencia de la SBOM: Encargado de agregar 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

    Tu archivo de 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 de 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 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 con el resumen de la imagen my-local-image@sha256:abcxyz y almacena el archivo 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 del SBOM.

    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.

    ¿Qué sigue?