Anwendung erstellen und Sicherheitsstatistiken ansehen

In dieser Kurzanleitung erfahren Sie, wie Sie eine Anwendung erstellen und Sicherheitserkenntnisse für den Build im Bereich Sicherheitserkenntnisse von Software Delivery Shield 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 Docker-Repository von Artifact Registry hochladen.
  • Rufen Sie die folgenden Sicherheitserkenntnisse für den Build auf:

    • Lieferkettenebenen für Software-Artefakte (SLSA-Ebene): 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. Er enthält Details wie die Digests der erstellten Images, die Quell-Speicherorte, die Build-Toolchain, die Build-Schritte und die Build-Dauer.

Hinweise

  1. 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.
  2. Install the Google Cloud CLI.
  3. To initialize the gcloud CLI, run the following command:

    gcloud init
  4. 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.

  5. Die Abrechnung für das Google Cloud-Projekt muss aktiviert sein.

  6. Enable the Cloud Build, Artifact Registry, and Container Scanning APIs:

    gcloud services enable cloudbuild.googleapis.com  artifactregistry.googleapis.com  containerscanning.googleapis.com
  7. Install the Google Cloud CLI.
  8. To initialize the gcloud CLI, run the following command:

    gcloud init
  9. 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.

  10. Die Abrechnung für das Google Cloud-Projekt muss aktiviert sein.

  11. Enable the Cloud Build, Artifact Registry, and Container Scanning APIs:

    gcloud services enable cloudbuild.googleapis.com  artifactregistry.googleapis.com  containerscanning.googleapis.com

Umgebung vorbereiten

  1. Legen Sie Ihre Projekt-ID als Umgebungsvariable fest:

    export PROJECT_ID=$(gcloud config get project)
    
  2. Klonen Sie das Repository, das das Java-Codebeispiel enthält, um einen Build und containerisieren:

    git clone https://github.com/googlecloudplatform/software-delivery-shield-demo-java.git
    cd software-delivery-shield-demo-java/backend
    

Artifact Registry-Repository für das Image erstellen

  1. Erstellen Sie ein neues Docker-Repository mit dem Namen containers am Standort us-central1 mit der Beschreibung „Docker repository“:

    gcloud artifacts repositories create containers \
        --repository-format=docker \
        --location=us-central1 --description="Docker repository"
    
  2. Prüfen Sie, ob Ihr Repository erstellt wurde:

    gcloud artifacts repositories list
    

    In der Liste der angezeigten Repositories sollte containers angezeigt werden.

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 Erfolgsstatusmeldung angezeigt, die der Folgendes:

<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

Ein SBOM ist ein vollständiges Inventar einer Anwendung, in dem die Pakete aufgeführt sind, auf die Ihre Software angewiesen ist. Die Inhalte können Drittanbieter-Software von interne Artefakte und Open-Source-Bibliotheken.

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-Benutzeroberfläche in der Google Cloud Console enthält das Steuerfeld Sicherheitsinformationen von Software Delivery Shield, in dem Sicherheitsinformationen zum Build angezeigt werden, z. B. die SLSA-Ebene, Sicherheitslücken in den Abhängigkeiten und die Build-Herkunft.

So rufen Sie den Bereich Security Insights (Sicherheitsinformationen) von Software Delivery Shield auf:

  1. Öffnen Sie in der Google Cloud Console die Seite Build-Verlauf:

    Seite „Build-Verlauf“ öffnen

  2. Wählen Sie Ihr Projekt aus und klicken Sie auf Öffnen.

  3. Wählen Sie im Drop-down-Menü Region die Option us-central1 aus.

  4. Suchen Sie in der Tabelle mit den Builds die Zeile mit dem Build, den Sie gerade erstellt haben. ausgeführt haben.

  5. Klicken Sie in der Spalte Sicherheitsinformationen auf Ansehen.

Sie sehen den Bereich Security Insights (Sicherheitsinformationen) für den Build:

Screenshot des Bereichs „Software Delivery Shield“

In diesem Bereich werden die folgenden Informationen angezeigt:

  • SLSA-Ebene: Dieser Build hat die SLSA-Ebene 3 erreicht. Klicken Sie auf die Schaltfläche Learn , um zu erfahren, was dieses Sicherheitsebenen bedeutet.

  • Sicherheitslücken: Alle Sicherheitslücken in Ihren Artefakten. Klicken Sie auf das Image-Namen (java-guestbook-backend) verwenden, um die Artefakte anzuzeigen, die auf Schwachstellen gescannt.

  • Abhängigkeiten für das erstellte Container-Image in Artifact Registry.

  • Build-Details:Details des Builds wie der Builder und der Link zu Logs ansehen.

Bereinigen

Löschen Sie das Google Cloud-Projekt mit den Ressourcen, damit Ihrem Google Cloud-Konto die auf dieser Seite verwendeten Ressourcen nicht in Rechnung gestellt werden.

  1. Deaktivieren Sie die Container Scanning API:

    gcloud services disable containerscanning.googleapis.com --force
    
  2. Löschen Sie das Artifact Registry-Repository:

    gcloud artifacts repositories delete containers \
        --location=us-central1 --async
    

    Sie haben nun das Repository gelöscht, das Sie im Rahmen dieses Kurzanleitung.

Nächste Schritte