Compila una aplicación y consulta las estadísticas de seguridad
En esta guía de inicio rápido, se explica cómo compilar una aplicación y ver las estadísticas de seguridad para la compilación del panel Estadísticas de seguridad de Software Delivery Shield en la Consola de Google Cloud
Harás lo siguiente:
- Compilar una aplicación de Java y alojarla en contenedores con Cloud Build y enviarla la imagen de contenedor al repositorio de Docker de Artifact Registry.
Visualiza las siguientes estadísticas de seguridad para la compilación:
- Niveles de la cadena de suministro para artefactos de software (SLSA) nivel, que identifica el de madurez del proceso de compilación de software de acuerdo con Especificación de SLSA .
- Vulnerabilidades en los artefactos de compilación.
- Lista de materiales de software (SBOM) para los artefactos de compilación.
- Procedencia de la compilación, que es una colección de metadatos verificables sobre una compilación. Incluye detalles como resúmenes de las imágenes compiladas, la las ubicaciones de las fuentes de entrada, la cadena de herramientas y los pasos de compilación, y el tiempo de actividad.
Antes de comenzar
- Accede a tu cuenta de Google Cloud. Si eres nuevo en Google Cloud, crea una cuenta para evaluar el rendimiento de nuestros productos en situaciones reales. Los clientes nuevos también obtienen $300 en créditos gratuitos para ejecutar, probar y, además, implementar cargas de trabajo.
- Install the Google Cloud CLI.
-
To initialize the gcloud CLI, run the following command:
gcloud init
-
Create or select a Google Cloud project.
-
Create a Google Cloud project:
gcloud projects create PROJECT_ID
Replace
PROJECT_ID
with a name for the Google Cloud project you are creating. -
Select the Google Cloud project that you created:
gcloud config set project PROJECT_ID
Replace
PROJECT_ID
with your Google Cloud project name.
-
-
Asegúrate de que la facturación esté habilitada para tu proyecto de Google Cloud.
-
Enable the Cloud Build, Artifact Registry, and Container Scanning APIs:
gcloud services enable cloudbuild.googleapis.com
artifactregistry.googleapis.com containerscanning.googleapis.com - Install the Google Cloud CLI.
-
To initialize the gcloud CLI, run the following command:
gcloud init
-
Create or select a Google Cloud project.
-
Create a Google Cloud project:
gcloud projects create PROJECT_ID
Replace
PROJECT_ID
with a name for the Google Cloud project you are creating. -
Select the Google Cloud project that you created:
gcloud config set project PROJECT_ID
Replace
PROJECT_ID
with your Google Cloud project name.
-
-
Asegúrate de que la facturación esté habilitada para tu proyecto de Google Cloud.
-
Enable the Cloud Build, Artifact Registry, and Container Scanning APIs:
gcloud services enable cloudbuild.googleapis.com
artifactregistry.googleapis.com containerscanning.googleapis.com
Prepare el entorno
Configura el ID del proyecto como una variable de entorno:
export PROJECT_ID=$(gcloud config get project)
Clona el repositorio que contiene la muestra de código de Java para compilar y Creación de contenedores:
git clone https://github.com/googlecloudplatform/software-delivery-shield-demo-java.git cd software-delivery-shield-demo-java/backend
Crea el repositorio de Artifact Registry para tu imagen
Crea un nuevo repositorio de Docker llamado
containers
en la ubicaciónus-central1
con la descripción “Repositorio de Docker”:gcloud artifacts repositories create containers \ --repository-format=docker \ --location=us-central1 --description="Docker repository"
Verifica que se haya creado el repositorio:
gcloud artifacts repositories list
Deberías ver
containers
en la lista de repositorios que se muestran.
Compila la aplicación
Compilar y alojar en contenedores la aplicación de Java con Cloud Build El siguiente comando compila y aloja en contenedores la aplicación de Java y almacena el contenedor compilado en el repositorio de Docker de Artifact Registry:
gcloud builds submit --config=cloudbuild.yaml --region=us-central1
Cuando se complete la compilación, verás un mensaje de estado de éxito similar al lo siguiente:
<pre class="none lang-sh">
DONE
-----------------------------------------------------------------------------
ID: 3e08565f-7f57-4449-bc68-51c46cf33d03
CREATE_TIME: 2022-09-19T15:41:07+00:00
DURATION: 54S
SOURCE: gs://sds-docs-project_cloudbuild/source/1663602066.777581-6ebe4b2d6fd741ffa18936d7f78055e9.tgz
IMAGES: us-central1-docker.pkg.dev/sds-docs-project/containers/java-guestbook-backend:quickstart
STATUS: SUCCESS
</pre>
Genera una SBOM para la imagen compilada
Una SBOM es un inventario completo de una aplicación que identifica los paquetes y en las que se basa tu software. El contenido puede incluir software de terceros de artefactos internos y bibliotecas de código abierto.
Genera la SBOM para la imagen que compilaste en la sección anterior:
gcloud artifacts sbom export
--uri=us-central1-docker.pkg.dev/${PROJECT_ID}/containers/java-guestbook-backend:quickstart
Ver estadísticas de seguridad
La IU de Cloud Build en la consola de Google Cloud contiene las Panel Security Insights de Software Delivery Shield en el que se muestran los datos de seguridad información relacionada con la compilación, como el nivel de SLSA, las vulnerabilidades en la las dependencias y la procedencia de la compilación.
Para ver el panel Estadísticas de seguridad de Software Delivery Shield, haz lo siguiente:
Abre la página Historial de compilación en la consola de Google Cloud:
Selecciona tu proyecto y haz clic en Open.
En el menú desplegable Región, selecciona us-central1.
En la tabla con las compilaciones, localiza la fila con la compilación que acabas de encontrar. ejecutado.
En la columna Estadísticas de seguridad, haz clic en Ver.
Verás el panel Security Insights de la compilación:
En este panel, se muestra la siguiente información:
Nivel SLSA: Esta compilación alcanzó el nivel 3 de SLSA. Haz clic en el botón Aprender Más información para obtener información sobre el significado de este nivel de seguridad.
Vulnerabilidades: Cualquier vulnerabilidad que se encuentre en tus artefactos. Haz clic en el ícono nombre de la imagen (java-guestbook-backend) para ver los artefactos que se analizado en busca de vulnerabilidades.
Dependencias de la imagen de contenedor compilada en Artifact Registry.
Detalles de compilación: Detalles de la compilación, como el compilador y el vínculo a y visualizar registros.
Limpia
Para evitar que se apliquen cargos a tu cuenta de Google Cloud por los recursos que se usaron en esta página, borra el proyecto de Cloud que tiene los recursos.
Inhabilita la API de Container Scanning:
gcloud services disable containerscanning.googleapis.com --force
Borra el repositorio de Artifact Registry:
gcloud artifacts repositories delete containers \ --location=us-central1 --async
Borraste el repositorio que creaste como parte de este guía de inicio rápido.
¿Qué sigue?
- Obtén más información sobre el panel de estadísticas de seguridad de Software Delivery Shield en Cloud Build
- Aprende a ver las estadísticas de seguridad cuando realizas implementaciones en Cloud Run
- Aprende a ver las estadísticas de seguridad cuando realizas implementaciones en GKE
- Más información sobre Software Delivery Shield