Anwendung erstellen und Sicherheitsstatistiken ansehen
In dieser Kurzanleitung erfahren Sie, wie Sie eine Anwendung erstellen und Sicherheitserkenntnisse für den Build im Bereich Sicherheitserkenntnisse in der Google Cloud Console ansehen.
Sie werden Folgendes tun:
- Mit Cloud Build eine Java-Anwendung erstellen und containerisieren und das Container-Image in das Artifact Registry-Docker-Repository übertragen.
Sehen Sie sich die folgenden Sicherheitsstatistiken für den Build an:
- Supply Chain Levels for Software Artifacts (SLSA): Gibt die Reifestufe Ihres Software-Build-Prozesses gemäß der SLSA-Spezifikation an .
- Sicherheitslücken in Build-Artefakten.
- Software-Materialliste (SBOM) für die Build-Artefakte.
- Build-Herkunft: Eine Sammlung überprüfbarer Metadaten zu einem Build. Sie enthalten Details wie die Digests der erstellten Images, die Quell-Speicherorte, die Build-Toolchain, die Build-Schritte und die Build-Dauer.
Hinweise
- 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.
-
Wenn Sie einen externen Identitätsanbieter (IdP) verwenden, müssen Sie sich zuerst mit Ihrer föderierten Identität in der gcloud CLI anmelden.
-
Führen Sie folgenden Befehl aus, um die gcloud CLI zu initialisieren:
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.
-
Wenn Sie einen externen Identitätsanbieter (IdP) verwenden, müssen Sie sich zuerst mit Ihrer föderierten Identität in der gcloud CLI anmelden.
-
Führen Sie folgenden Befehl aus, um die gcloud CLI zu initialisieren:
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 Legen Sie Ihre Projekt-ID als Umgebungsvariable fest:
export PROJECT_ID=$(gcloud config get project)
Klonen Sie das Repository, das das Java-Codebeispiel zum Erstellen und Containerisieren enthält:
git clone https://github.com/googlecloudplatform/software-delivery-shield-demo-java.git cd software-delivery-shield-demo-java/backend
Erstellen Sie am Speicherort
us-central1
ein neues Docker-Repository namenscontainers
mit der Beschreibung „Docker repository“:gcloud artifacts repositories create containers \ --repository-format=docker \ --location=us-central1 --description="Docker repository"
Prüfen Sie, ob das Repository erstellt wurde:
gcloud artifacts repositories list
In der Liste der angezeigten Repositories wird
containers
aufgeführt.Öffnen Sie in der Google Cloud Console die Seite Build-Verlauf:
Wählen Sie Ihr Projekt aus und klicken Sie auf Öffnen.
Wählen Sie im Drop-down-Menü Region die Option us-central1 aus.
Suchen Sie in der Tabelle mit den Builds nach der Zeile mit dem Build, den Sie gerade ausgeführt haben.
Klicken Sie in der Spalte Sicherheitsstatistiken auf Anzeigen.
SLSA-Ebene:Dieser Build hat die SLSA-Ebene 3 erreicht. Klicken Sie auf den Link Weitere Informationen, um zu erfahren, was diese Sicherheitsstufe bedeutet.
Sicherheitslücken:Alle in Ihren Artefakten gefundenen Sicherheitslücken. Klicken Sie auf den Bildnamen (java-guestbook-backend), um die Artefakte aufzurufen, die auf Sicherheitslücken gescannt wurden.
Abhängigkeiten für das erstellte Container-Image in Artifact Registry.
Build-Details:Details des Builds wie der Builder und der Link zum Aufrufen von Logs.
Container Scanning API deaktivieren:
gcloud services disable containerscanning.googleapis.com --force
Löschen Sie das Artifact Registry-Repository:
gcloud artifacts repositories delete containers \ --location=us-central1 --async
Sie haben nun das Repository, das Sie im Rahmen dieses Schnellstarts erstellt haben, gelöscht.
Umgebung vorbereiten
Artifact Registry-Repository für Ihr Image erstellen
Anwendung erstellen
Erstellen und containerisieren Sie die Java-Anwendung mit Cloud Build. Mit dem folgenden Befehl wird die Java-Anwendung erstellt und containerisiert und der erstellte Container im Docker-Repository von Artifact Registry gespeichert:
gcloud builds submit --config=cloudbuild.yaml --region=us-central1
Nach Abschluss des Builds wird eine Erfolgsmeldung wie die folgende angezeigt:
<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>
SBOM für das erstellte Image generieren
Eine SBOM ist ein vollständiges Inventar einer Anwendung, in dem die Pakete identifiziert werden, auf die Ihre Software angewiesen ist. Die Inhalte können Drittanbietersoftware von Anbietern, interne Artefakte und Open-Source-Bibliotheken umfassen.
Generieren Sie die SBOM für das Image, das Sie im vorherigen Abschnitt erstellt haben:
gcloud artifacts sbom export \
--uri=us-central1-docker.pkg.dev/${PROJECT_ID}/containers/java-guestbook-backend:quickstart
Sicherheitserkenntnisse ansehen
Die Cloud Build-UI in der Google Cloud Konsole enthält den Bereich Sicherheitsinformationen, in dem Sicherheitsinformationen zum Build angezeigt werden, z. B. die SLSA-Stufe, alle Sicherheitslücken in den Abhängigkeiten und die Build-Herkunft.
So rufen Sie das Feld Sicherheitserkenntnisse auf:
Das Feld Sicherheitsinformationen für den Build wird angezeigt:
In diesem Bereich werden die folgenden Informationen angezeigt:
Bereinigen
Löschen Sie das Google Cloud -Projekt zusammen mit den Ressourcen, damit Ihrem Google Cloud -Konto die auf dieser Seite verwendeten Ressourcen nicht in Rechnung gestellt werden.