IaC anhand der Richtlinien Ihrer Google Cloud-Organisation validieren

In diesem Dokument wird beschrieben, wie Sie Ihre Infrastruktur als Code (IaC) anhand der Organisationsrichtlinien und Security Health Analytics-Detektoren validieren, die Sie in Ihrer Google Cloud-Organisation definiert haben. Mit IaC können Sie Ihre Cloud-Ressourcen mit Sprachen wie Terraform erstellen und verwalten, sodass Sie die Ressourcen mithilfe eines Entwicklungs-Workflows bereitstellen können.

Durch die Validierung des IaC können Sie feststellen, ob Ihre neuen oder geänderten Ressourcendefinitionen gegen die vorhandenen Richtlinien verstoßen, die auf Ihre Google Cloud-Ressourcen (z. B. Cluster, Bucket oder Instanz) angewendet werden. Sie können diese Richtlinien mithilfe von Sicherheitsmaßnahmen definieren, aber die IaC-Validierungsfunktion analysiert Ihren Code anhand aller Richtlinien in Ihrer Google Cloud-Organisation. Die IaC-Validierung hilft Ihren Entwicklern, Sicherheitsprobleme in der IaC-Konfiguration von Assets oder Ressourcen zu identifizieren und zu beheben, bevor sie auf Ihre Google Cloud-Umgebung angewendet werden.

Das Feature zur IaC-Validierung unterstützt Terraform-Plandateien. Sie können Ihren Terraform-Plan über die Google Cloud CLI validieren oder in Ihren Jenkins- oder GitHub Actions-Entwicklerworkflow einbinden.

Hinweise

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

Premium- oder Enterprise-Stufe von Security Command Center aktivieren

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

Berechtigungen einrichten

  1. Prüfen Sie, ob Sie die folgenden Rollen für die Organisation haben: Security Posture Shift-Left Validator

    Auf Rollen prüfen

    1. Öffnen Sie in der Google Cloud Console die Seite IAM.

      IAM aufrufen
    2. Wählen Sie die Organisation aus.
    3. Suchen Sie in der Spalte Hauptkonto die Zeile mit Ihrer E-Mail-Adresse.

      Ist Ihre E-Mail-Adresse nicht in dieser Spalte enthalten, haben Sie keine Rollen.

    4. Prüfen Sie in der Spalte Rolle der Zeile mit Ihrer E-Mail-Adresse, ob die Liste der Rollen die erforderlichen Rollen enthält.

    Rollen zuweisen

    1. Öffnen Sie in der Google Cloud Console die Seite IAM.

      IAM aufrufen
    2. Wählen Sie die Organisation aus.
    3. Klicken Sie auf Zugriff erlauben.
    4. Geben Sie in das Feld Neue Hauptkonten Ihre E-Mail-Adresse ein.
    5. Wählen Sie in der Liste Rolle auswählen eine Rolle aus.
    6. Wenn Sie weitere Rollen hinzufügen möchten, klicken Sie auf Weitere Rolle hinzufügen und fügen Sie weitere Rollen hinzu.
    7. Klicken Sie auf Speichern.

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

Google Cloud CLI einrichten

Sie können die gcloud CLI-Beispiele auf dieser Seite über eine der folgenden Entwicklungsumgebungen verwenden:

  • Cloud Shell: Aktivieren Sie Cloud Shell, um ein Onlineterminal mit der bereits eingerichteten gcloud CLI zu verwenden.

    Unten auf dieser Seite wird eine Cloud Shell-Sitzung gestartet und eine Eingabeaufforderung angezeigt. Das Initialisieren der Sitzung kann einige Sekunden dauern.

  • Lokale Shell: Zur Verwendung der gcloud CLI in einer lokalen Entwicklungsumgebung müssen Sie die gcloud CLI installieren und initialisieren.

Führen Sie den folgenden Befehl aus, um die gcloud CLI so einzurichten, dass die Authentifizierung bei Google APIs anstelle Ihrer Nutzeranmeldedaten erfolgt:

gcloud config set auth/impersonate_service_account SERVICE_ACCT_EMAIL

Weitere Informationen finden Sie unter Identitätswechsel für Dienstkonten.

APIs aktivieren

Security posture service and Security Command Center management APIs aktivieren.

Aktivieren Sie die APIs

Richtlinien definieren

Definieren Sie Ihre Organisationsrichtlinien und Security Health Analytics-Detektoren. Führen Sie die Aufgaben unter Sicherheitsstatus erstellen und bereitstellen aus, um diese Richtlinien mithilfe eines Sicherheitsstatus zu definieren.

Terraform-Code erstellen

Verwenden Sie Ihre Entwickler-Workflows und -Tools, um eine Terraform-Datei mit den Google Cloud-Assets zu erstellen, die Sie erstellen oder ändern möchten.

Beachten Sie dabei Folgendes:

  • Füllen Sie das übergeordnete Attribut (das Projekt, den Ordner oder die Organisation) jeder Ressource oder jedes Assets in der Terraform-Konfiguration aus.
  • Du kannst Assets und Richtlinien separat ändern. Die API unterstützt keine Validierung von Terraform-Plandateien, die sowohl Assets als auch Richtlinien gleichzeitig ändern.
  • Verwenden Sie nur unterstützte Asset-Typen und Richtlinien. Eine Liste der unterstützten Assettypen und Richtlinien finden Sie unter Unterstützte Assettypen und Richtlinien für die IaC-Validierung.
  • Sehen Sie sich die Einschränkungen für die IaC-Validierung an.
  • Die Terraform-Plandatei darf keine vertraulichen Informationen wie Passwörter oder andere personenidentifizierbare Informationen enthalten. Wenn die Validierungsfunktion Felder entdeckt, die bei den Ressourcenänderungen als vertraulich gekennzeichnet sind, werden diese Felder entfernt.

Nachdem Sie den Terraform-Code erstellt haben, können Sie den IaC-Validierungsbericht ausführen. Sie können die Google Cloud CLI, Jenkins oder GitHub Actions verwenden.

Mit der Google Cloud CLI einen IaC-Validierungsbericht erstellen

So erstellen Sie einen IaC-Validierungsbericht:

  1. Führen Sie in der gcloud CLI terraform init aus.

    Prüfen Sie, ob Sie die Terraform-Anbieterversion v5.5 oder höher ausführen. Führen Sie bei Bedarf ein Upgrade auf die neueste Version des Google-Anbieters durch:

    terraform init -upgrade
    
  2. Konvertieren Sie die Terraform-Plandatei in das JSON-Format:

    terraform plan -out TF_PLAN_FILENAME
    terraform show -json TF_PLAN_FILENAME > TF_PLAN_JSON_FILENAME.json
    

    Ersetzen Sie Folgendes:

    • TF_PLAN_FILENAME: Der Name der Terraform-Plandatei.
    • TF_PLAN_JSON_FILENAME: Der Name der Datei, die den Terraform-Plan im JSON-Format enthalten wird.
  3. Erstellen Sie den IaC-Validierungsbericht:

    gcloud scc iac-validation-reports create PARENT \
      --tf-plan-file=TF_PLAN_JSON_FILENAME
    

    Ersetzen Sie Folgendes:

    • PARENT: Die Google Cloud-Organisation, in der der IaC-Validierungsbericht erstellt werden soll. Das Format ist organizations/ORGANIZATION_ID/locations/LOCATION. LOCATION ist global.
    • TF_PLAN_JSON_FILENAME: Der Pfad zur JSON-Datei, die den IaC-Plan enthält, den Sie validieren möchten.

    Wenn Sie beispielsweise einen IaC-Validierungsbericht in der Organisation organizations/3589215982/locations/global mit einem in planFile.json enthaltenen IaC-Plan erstellen möchten, führen Sie den folgenden Befehl aus:

    gcloud scc iac-validation-reports create organizations/3589215982/locations/global --tf-plan-file=planFile.json
    

    Dieser Befehl gibt die Vorgangsdetails zum Erstellen des IAC-Validierungsberichts zurück. Informationen zum Vorgang finden Sie unter Informationen zu einem Bereitstellungsvorgang für einen Sicherheitsstatus ansehen.

Nächste Schritte