Anwendung erstellen und Sicherheitsstatistiken ansehen

In dieser Kurzanleitung wird erläutert, wie Sie eine Anwendung erstellen und Sicherheitsinformationen für den Build im Bereich Sicherheitsinformationen von Software Delivery Shield in der Google Cloud Console ansehen.

Sie werden Folgendes tun:

  • Java-Anwendung mit Cloud Build erstellen und containerisieren und das Container-Image in das Artifact Registry-Docker-Repository übertragen.
  • Sehen Sie sich die folgenden Sicherheitsinformationen für den Build an:

    • Supply-Chain-Levels for Software Artifacts (SLSA): Gibt den Reifegrad Ihres Software-Build-Prozesses gemäß der SLSA-Spezifikation an .
    • Sicherheitslücken in Build-Artefakten.
    • Software-Bill of Materials (SBOM) für die Build-Artefakte.
    • Build-Herkunft: Eine Sammlung überprüfbarer Metadaten zu einem Build. Sie enthält Details wie die Digests der erstellten Images, die Speicherorte der Eingabequellen, die Build-Toolchain, Build-Schritte und die Build-Dauer.

Hinweise

  1. Melden Sie sich bei Ihrem Google Cloud-Konto an. Wenn Sie mit Google Cloud noch nicht vertraut sind, erstellen Sie ein Konto, um die Leistungsfähigkeit unserer Produkte in der Praxis sehen und bewerten zu können. Neukunden erhalten außerdem ein Guthaben von 300 $, um Arbeitslasten auszuführen, zu testen und bereitzustellen.
  2. Installieren Sie die Google Cloud CLI.
  3. Führen Sie folgenden Befehl aus, um die gcloud CLI zu initialisieren:

    gcloud init
  4. Google Cloud-Projekt erstellen oder auswählen.

    • Erstellen Sie ein Google Cloud-Projekt:

      gcloud projects create PROJECT_ID

      Ersetzen Sie PROJECT_ID durch einen Namen für das Google Cloud-Projekt, das Sie erstellen.

    • Wählen Sie das von Ihnen erstellte Google Cloud-Projekt aus:

      gcloud config set project PROJECT_ID

      Ersetzen Sie PROJECT_ID durch den Namen Ihres Google Cloud-Projekts.

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

  6. Aktivieren Sie die Cloud Build, Artifact Registry, and Container Scanning APIs:

    gcloud services enable cloudbuild.googleapis.com  artifactregistry.googleapis.com  containerscanning.googleapis.com
  7. Installieren Sie die Google Cloud CLI.
  8. Führen Sie folgenden Befehl aus, um die gcloud CLI zu initialisieren:

    gcloud init
  9. Google Cloud-Projekt erstellen oder auswählen.

    • Erstellen Sie ein Google Cloud-Projekt:

      gcloud projects create PROJECT_ID

      Ersetzen Sie PROJECT_ID durch einen Namen für das Google Cloud-Projekt, das Sie erstellen.

    • Wählen Sie das von Ihnen erstellte Google Cloud-Projekt aus:

      gcloud config set project PROJECT_ID

      Ersetzen Sie PROJECT_ID durch den Namen Ihres Google Cloud-Projekts.

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

  11. Aktivieren Sie die 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 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
    

Artifact Registry-Repository für Ihr Image erstellen

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

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

    gcloud artifacts repositories list
    

    In der Liste der angezeigten Repositories sollten Sie containers sehen.

Anwendung erstellen

Java-Anwendung mit Cloud Build erstellen und containerisieren Mit dem folgenden Befehl wird die Java-Anwendung erstellt und containerisiert und der integrierte Container im Docker-Repository von Artifact Registry gespeichert:

gcloud builds submit --config=cloudbuild.yaml --region=us-central1

Nach Abschluss des Builds wird eine Erfolgsstatusmeldung ähnlich der folgenden 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

Ein SBOM ist ein vollständiges Inventar einer Anwendung, das die Pakete identifiziert, von denen Ihre Software abhängig ist. Die Inhalte können Drittanbietersoftware von Anbietern, interne Artefakte und Open-Source-Bibliotheken umfassen.

Generieren Sie die SBOM für das Bild, 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 Console enthält den Bereich Security Insights von Software Delivery Shield mit Sicherheitsinformationen zum Build, z. B. SLSA-Level, etwaige Sicherheitslücken in den Abhängigkeiten und die Build-Herkunft.

So rufen Sie den Bereich 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 ausgeführt haben.

  5. Klicken Sie in der Spalte Sicherheitsinformationen auf Anzeigen.

Sie sehen den Bereich Sicherheitsinformationen für den Build:

Screenshot des Software Delivery Shield-Bereichs

In diesem Bereich werden die folgenden Informationen angezeigt:

  • SLSA-Level: Dieses Build hat SLSA-Level 3 erreicht. Klicken Sie auf den Link Weitere Informationen, um zu erfahren, was diese Sicherheitsstufe bedeutet.

  • Sicherheitslücken:Alle Sicherheitslücken, die in Ihren Artefakten gefunden wurden. Klicken Sie auf den Image-Namen (java-guestbook-backend), um die auf Sicherheitslücken gescannten Artefakte zu sehen.

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

  • Build-Details:Details zum Build, z. B. der Builder und der Link zum Anzeigen von Logs.

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 jetzt das Repository gelöscht, das Sie im Rahmen dieser Kurzanleitung erstellt haben.

Nächste Schritte