Crear una aplicación y consultar estadísticas de seguridad
En esta guía de inicio rápido se explica cómo crear una aplicación y consultar estadísticas de seguridad de la compilación en el panel Estadísticas de seguridad de la Google Cloud consola.
Deberás hacer lo siguiente:
- Compila y contenedoriza una aplicación Java con Cloud Build y envía la imagen de contenedor al repositorio Docker de Artifact Registry.
Consulta las siguientes estadísticas de seguridad de la compilación:
- Nivel de la cadena de suministro para artefactos de software (SLSA), que identifica el nivel de madurez de tu proceso de compilación de software de acuerdo con la especificación de SLSA .
- Vulnerabilidades en los artefactos de compilación.
- Lista de materiales de software (SBOM) de los artefactos de compilación.
- Procedencia de la compilación: conjunto de metadatos verificables sobre una compilación. Incluye detalles como los resúmenes de las imágenes compiladas, las ubicaciones de las fuentes de entrada, la cadena de herramientas de compilación, los pasos de compilación y la duración de la compilación.
Antes de empezar
- Sign in to your Google Cloud account. If you're new to Google Cloud, create an account to evaluate how our products perform in real-world scenarios. New customers also get $300 in free credits to run, test, and deploy workloads.
-
Install the Google Cloud CLI.
-
Si utilizas un proveedor de identidades (IdP) externo, primero debes iniciar sesión en la CLI de gcloud con tu identidad federada.
-
Para inicializar gcloud CLI, ejecuta el siguiente comando:
gcloud init
-
Create or select 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 theresourcemanager.projects.create
permission. Learn how to grant roles.
-
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.
-
Verify that billing is enabled for your Google Cloud project.
-
Enable the Cloud Build, Artifact Registry, and Container Scanning APIs:
Roles required to enable APIs
To enable APIs, you need the Service Usage Admin IAM role (
roles/serviceusage.serviceUsageAdmin
), which contains theserviceusage.services.enable
permission. Learn how to grant roles.gcloud services enable cloudbuild.googleapis.com
artifactregistry.googleapis.com containerscanning.googleapis.com -
Install the Google Cloud CLI.
-
Si utilizas un proveedor de identidades (IdP) externo, primero debes iniciar sesión en la CLI de gcloud con tu identidad federada.
-
Para inicializar gcloud CLI, ejecuta el siguiente comando:
gcloud init
-
Create or select 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 theresourcemanager.projects.create
permission. Learn how to grant roles.
-
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.
-
Verify that billing is enabled for your Google Cloud project.
-
Enable the Cloud Build, Artifact Registry, and Container Scanning APIs:
Roles required to enable APIs
To enable APIs, you need the Service Usage Admin IAM role (
roles/serviceusage.serviceUsageAdmin
), which contains theserviceusage.services.enable
permission. Learn how to grant roles.gcloud services enable cloudbuild.googleapis.com
artifactregistry.googleapis.com containerscanning.googleapis.com Define el ID de tu proyecto como variable de entorno:
export PROJECT_ID=$(gcloud config get project)
Clona el repositorio que contiene el código de ejemplo de Java para compilarlo y crear un contenedor:
git clone https://github.com/googlecloudplatform/software-delivery-shield-demo-java.git cd software-delivery-shield-demo-java/backend
Crea un 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ía ver
containers
en la lista de repositorios mostrados.Abre la página Historial de compilaciones en la Google Cloud consola:
Selecciona el proyecto y haz clic en Abrir.
En el menú desplegable Región, selecciona us-central1.
En la tabla de compilaciones, busca la fila de la compilación que acabas de ejecutar.
En la columna Estadísticas de seguridad, haga clic en Ver.
Nivel de SLSA: esta compilación ha alcanzado el nivel 3 de SLSA. Haz clic en el enlace Más información para saber qué significa este nivel de seguridad.
Vulnerabilidades: cualquier vulnerabilidad detectada en tus artefactos. Haz clic en el nombre de la imagen (java-guestbook-backend) para ver los artefactos que se han analizado en busca de vulnerabilidades.
Dependencias de la imagen de contenedor creada en Artifact Registry.
Detalles de la compilación: detalles de la compilación, como el compilador y el enlace para ver los registros.
Inhabilita la API Container Scanning:
gcloud services disable containerscanning.googleapis.com --force
Elimina el repositorio de Artifact Registry:
gcloud artifacts repositories delete containers \ --location=us-central1 --async
Ahora has eliminado el repositorio que has creado como parte de esta guía de inicio rápido.
- Más información sobre el panel de estadísticas de seguridad de Cloud Build
- Consulta cómo ver estadísticas de seguridad al desplegar en Cloud Run.
- Consulta cómo ver información valiosa sobre seguridad al desplegar en GKE.
- Consulta más información sobre la seguridad de la cadena de suministro de software.
Prepara tu entorno
Crea el repositorio de Artifact Registry para tu imagen
Compilar la aplicación
Compila y contenedoriza la aplicación Java con Cloud Build. El siguiente comando compila y contenedoriza la aplicación Java, y almacena el contenedor compilado en el repositorio de Docker de Artifact Registry:
gcloud builds submit --config=cloudbuild.yaml --region=us-central1
Una vez que se haya completado la compilación, verás un mensaje de estado similar al 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>
Generar una lista de materiales de software para la imagen compilada
Una lista de materiales de software es un inventario completo de una aplicación que identifica los paquetes en los que se basa tu software. El contenido puede incluir software de terceros, artefactos internos y bibliotecas de código abierto.
Genera la lista de materiales de la imagen que has creado 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 interfaz de usuario de Cloud Build en la consola de Google Cloud contiene el panel Estadísticas de seguridad, que muestra información de seguridad relacionada con la compilación, como el nivel de SLSA, las vulnerabilidades de las dependencias y la procedencia de la compilación.
Para ver el panel Estadísticas de seguridad, sigue estos pasos:
Verás el panel Estadísticas de seguridad de la compilación:
En este panel se muestra la siguiente información:
Limpieza
Para evitar que se apliquen cargos en tu Google Cloud cuenta por los recursos utilizados en esta página, elimina el Google Cloud proyecto con los recursos.