IaC-Validierung in Jenkins einbinden

Sie können das Google analytics Code Security-Plug-in für Jenkins zur Validierung die Infrastruktur als Code (IaC), die Teil Ihres Jenkins-Projekts ist. Durch die Validierung von IaC können Sie feststellen, ob Ihre Terraform-Ressourcendefinitionen gegen bestehende Organisationsrichtlinien verstoßen Security Health Analytics-Detektoren, die auf Ihre Google Cloud-Ressourcen angewendet werden.

Weitere Informationen zur IaC-Validierung finden Sie unter Validieren Sie IaC anhand Ihrer Google Cloud-Organisation Richtlinien.

IaC-Validierung nur mit Jenkins Freestyle funktioniert Projekten.

Hinweise

Führen Sie diese Aufgaben aus, um mit der IaC-Validierung mit Jenkins zu beginnen.

Premium- oder Enterprise-Stufe von Security Command Center aktivieren

Prüfen Sie, ob die Premium- oder Enterprise-Stufe von Security Command Center aktiviert am Organisationsebene.

Durch das Aktivieren von Security Command Center werden die securityposture.googleapis.com und securitycentermanagement.googleapis.com APIs

Dienstkonto erstellen

Dienstkonto erstellen, das Sie für die Codesicherheitsanalyse von Google verwenden können für Jenkins.

  1. Create a service account:

    1. In the Google Cloud console, go to the Create service account page.

      Go to Create service account
    2. Select your project.
    3. In the Service account name field, enter a name. The Google Cloud console fills in the Service account ID field based on this name.

      In the Service account description field, enter a description. For example, Service account for quickstart.

    4. Click Create and continue.
    5. Grant the Security Posture Shift-Left Validator role to the service account.

      To grant the role, find the Select a role list, then select Security Posture Shift-Left Validator.

    6. Click Continue.
    7. Click Done to finish creating the service account.

      Do not close your browser window. You will use it in the next step.

  2. Create a service account key:

    1. In the Google Cloud console, click the email address for the service account that you created.
    2. Click Keys.
    3. Click Add key, and then click Create new key.
    4. Click Create. A JSON key file is downloaded to your computer.
    5. Click Close.

Weitere Informationen zu Berechtigungen für die IaC-Validierung finden Sie unter IAM für Organisationsebene Aktivierungen.

Richtlinien definieren

Definieren Sie Ihre Organisationsrichtlinien und Security Health Analytics-Detektoren. Um zu definieren, diese Richtlinien mithilfe eines Sicherheitsstatus zu verwenden, führen Sie die Aufgaben unter Erstellen und bereitstellen: Sicherheitsstatus.

Plug-in installieren und konfigurieren

  1. Klicken Sie in der Jenkins-Konsole auf Manage Jenkins > Plug-ins verwalten
  2. Suchen Sie auf dem Tab Verfügbar nach google-analytics-code-security.
  3. Schließen Sie die Installation ab.
  4. Klicken Sie auf Manage Jenkins > System konfigurieren.
  5. Klicken Sie im Bereich Google Analyzer Code Security auf Add credential (Anmeldedaten hinzufügen).
  6. Geben Sie unter Organisations-ID die Organisations-ID für die Google Cloud ein. Organisation, die die Terraform-Ressourcen enthält, die Sie erstellen oder ändern können.
  7. Fügen Sie in den Security Command Center-Anmeldedaten den Dienstkontoschlüssel hinzu.
  8. Testen Sie die Verbindung, um die Anmeldedaten des Dienstkontos zu prüfen.
  9. Klicken Sie auf Speichern.

JSON-Datei für den Terraform-Plan erstellen

  1. Erstellen Sie den Terraform-Code. Eine Anleitung finden Sie unter Terraform erstellen Code hinzu.

  2. Installieren Sie das Terraform-Plug-in für Jenkins.

  3. Gehen Sie in der Jenkins-Konsole in Ihrem Jenkins-Freestyle-Projekt zum Konfiguration.

  4. Klicken Sie auf Source Code Management (Quellcodeverwaltung).

  5. Geben Sie unter Repository-URL die URL zum Terraform-Code ein, den Sie erstellt haben.

  6. Klicken Sie auf Build-Schritte.

  7. Fügen Sie die folgenden Schritte hinzu:

    1. Initialisieren Sie Terraform:

      terraform init
      
    2. Erstellen Sie eine Terraform-Plandatei.

      terraform plan -out=TF_PLAN_FILE
      

      Ersetzen Sie TF_PLAN_FILE durch den Namen des Terraform-Plans. -Datei. Beispiel: myplan.tfplan.

    3. Konvertieren Sie die Plandatei in das JSON-Format:

      terraform show -no-color -json TF_PLAN_FILE > TF_PLAN_JSON_FILE
      

      Ersetzen Sie TF_PLAN_JSON_FILE durch den Namen für Terraform. Plandatei im JSON-Format erstellen. Beispiel: mytfplan.json.

Plug-in dem Jenkins-Projekt hinzufügen

  1. Gehen Sie in der Jenkins-Konsole in Ihrem Jenkins-Freestyle-Projekt zum Konfiguration.
  2. Klicken Sie unter Build-Schritte auf Build-Schritt hinzufügen > Code-Scan durchführen während Erstellen.
  3. Geben Sie Ihre Organisations-ID ein.
  4. Geben Sie den Pfad zu Ihrer Terraform-Plandatei im JSON-Format an.
  5. Optional: Legen Sie die Kriterien für Build-Fehler fest. Die Fehlerkriterien basieren auf Anzahl der kritischen, hohen, mittleren und niedrigen Schweregrade, die der IaC die beim Validierungsscan gefunden wurden. Sie können für jeden Schweregrad angeben, wie viele Probleme zulässig sind und wie die Probleme zusammengefasst werden (entweder UND oder ODER)

    1. Klicke auf Bei Asset-Verstoß ablehnen.

    2. Wenn der Build nur fehlschlagen soll, wenn die Anzahl der Probleme Schweregrad erreicht haben, wählen Sie UND aus. Wenn der Build fehlschlagen soll Wenn die Anzahl der Probleme aus einem beliebigen Schweregrad erreicht ist, wählen Sie ODER aus. Wenn Sie z. B. möchten, dass der Build fehlschlägt, wenn ein kritischer oder einem schwerwiegenden Problem, setzen Sie den Gesamtwert auf ODER.

    3. Geben Sie die Anzahl der Probleme mit den verschiedenen Schweregraden an, die Sie benötigen. bevor der Build fehlschlägt.

    Wenn Sie keine Fehlerkriterien angeben möchten, wählen Sie Asset ignorieren Verstoß:

  6. Klicken Sie auf Speichern.

Sie können jetzt den Build ausführen, um die Terraform-Plandatei zu validieren.

Bericht zu IaC-Verstößen aufrufen

  1. Klicken Sie in der Jenkins-Konsole auf den neuesten Workflow für Ihren Build.

  2. Klicken Sie auf Status. Die folgenden HTML-Dateien sind als Build-Artefakte verfügbar:

    • Bei Ausführung des Plug-ins: Meldung eines Verstoßes (GoogleAnalyzeCodeSecurity_ViolationSummary.html)

    Im Bericht werden Verstöße nach Schweregrad gruppiert. Im Abschnitt zu Verstößen wird beschrieben, welche Regel nicht erfüllt wurde und die Asset-ID aus dem Terraform-Plan, gegen die verstoßen wurde der Regel.

    • Wenn der Build fehlgeschlagen ist, wird ein Bericht mit der Fehlerzusammenfassung
  3. Beheben Sie alle Verstöße in Ihrem Terraform-Code, bevor Sie ihn anwenden.

Nächste Schritte