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 dar fe de ellos.
Para obtener información sobre los precios 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 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 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 - Ten 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.
- Ten 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 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, para administrar buckets de almacenamiento:
Storage Admin(
roles/storage.admin) -
Si especificas un bucket de Cloud Storage, para administrar buckets de almacenamiento:
Storage Object Admin(
roles/storage.objectAdmin) -
Si ya existe una nota para la referencia de SBOM:
Encargado de agregar notas de análisis de contenedores (
roles/containeranalysis.notes.attacher) -
Para crear una nota nueva para las ocurrencias de referencia de SBOM en el proyecto actual:
Editor de notas de Container Analysis(
(roles/containeranalysis.notes.editor) -
Para crear una ocurrencia de referencia de SBOM:
Editor 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 a través de roles personalizados o cualquier otro rol predefinido.
Formatos admitidos
Tu archivo SBOM debe ser un archivo JSON en uno de los siguientes formatos:
- Software Package Data Exchange (SPDX) versión 2.2 o 2.3
- CycloneDX versión 1.4 o 1.5
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 la 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 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 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 de SBOM.
Puedes ver las SBOM con la Google Cloud consola o la gcloud CLI. Si deseas ubicar el bucket de Cloud Storage que contiene tus SBOM, debes buscar las SBOM con la gcloud CLI.