Validieren Sie IaC anhand der Richtlinien Ihrer Google Cloud-Organisation

In diesem Dokument wird beschrieben, wie Sie Ihre Infrastruktur als Code validieren können. (IaC) gegen die Organisation Richtlinien und Security Health Analytics detektoren die Sie in Ihrer Google Cloud-Organisation definiert haben. Mit IaC können Sie Cloud-Ressourcen mit Sprachen wie Terraform verwalten, damit Sie Ressourcen mithilfe eines Entwicklungsworkflows bereitstellen Die IaC-Validierungsfunktion unterstützt nur Organisationsrichtlinien und Security Health Analytics-Detektoren.

Durch die Validierung Ihrer IaC können Sie feststellen, ob Ihre neue oder geänderte Ressource Definitionen verstoßen gegen die bestehenden Richtlinien, Google Cloud-Ressourcen (z. B. Cluster, Bucket oder Instanz) Sie können definieren Sie diese Richtlinien mithilfe von security Postures, aber das IaC Validierungsfunktion Ihren Code anhand aller Richtlinien in Ihrem Google Cloud-Organisation. IaC-Validierung hilft Ihren Entwicklern, Sicherheitsprobleme im IaC zu erkennen und zu beheben. Konfiguration von Assets oder Ressourcen, bevor sie auf Ihre Google Cloud-Umgebung

Das IaC-Validierungsfeature unterstützt Terraform-Plandateien. Sie können Ihre Erstellen Sie einen Terraform-Plan mithilfe der Google Cloud CLI. Alternativ können Sie die Validierung einbinden. in Ihren Cloud Build-, Jenkins- oder GitHub Actions-Entwickler zu optimieren.

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 aktiviert am Organisationsebene.

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

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 für die IaC-Validierung finden Sie unter IAM für Organisationsebene Aktivierungen.

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.

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.

Terraform-Code erstellen

Erstellen Sie mit Ihren Entwickler-Workflows und -Tools eine Terraform-Datei, die Folgendes enthält: die Google Cloud-Assets, die Sie erstellen oder ändern möchten.

Beachten Sie dabei Folgendes:

  • Übergeordnetes Attribut ausfüllen (Projekt, Ordner oder Organisation) für jede Ressource oder jedes Asset in der Terraform-Konfiguration.
  • Ändern Sie Assets und Richtlinien separat. Die Die Validierung von Terraform-Plandateien, mit denen beides geändert wird, wird von der API nicht unterstützt und Richtlinien gleichzeitig zu verwalten.
  • Verwenden Sie nur unterstützte Asset-Typen und Richtlinien. Eine Liste der unterstützten Asset-Typen und Richtlinien finden Sie unter Unterstützte Asset-Typen und Richtlinien für die IaC-Validierung
  • Prüfen Sie die Einschränkungen für die IaC-Validierung.
  • Geben Sie keine vertraulichen Daten wie Passwörter oder andere personenbezogene Daten an identifizierbare Informationen in Ihrer Terraform-Plandatei enthalten. Wenn die Validierung auf Felder stößt, die in den Ressourcenänderungen als vertraulich gekennzeichnet sind, werden entfernt.

Nachdem Sie den Terraform-Code erstellt haben, können Sie den IaC-Validierungsbericht ausführen. Ich die gcloud CLI verwenden können, Cloud Build, Jenkins oder GitHub Aktionen:

Mit der Google Cloud CLI einen IaC-Validierungsbericht erstellen

So erstellen Sie einen IaC-Validierungsbericht:

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

    Prüfen Sie, ob Sie Version 5.5 oder höher des Terraform-Anbieters verwenden. Wenn erforderlich, führen Sie 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 für Terraform. Plandatei.
    • TF_PLAN_JSON_FILENAME: der Name der Datei, die enthält den Terraform-Plan im JSON-Format.
  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 für die Erstellung des IaC-Validierungsberichts. Das Format ist organizations/ORGANIZATION_ID/locations/LOCATION LOCATION ist global.
    • TF_PLAN_JSON_FILENAME: der Pfad zur JSON-Datei die den zu validierenden IaC-Plan enthält.

    Um beispielsweise einen IaC-Validierungsbericht unter der organizations/3589215982/locations/global Organisation mit IaC-Tarif Führen Sie den folgenden Befehl aus, der in planFile.json enthalten ist:

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

    Dieser Befehl gibt die Vorgangsdetails zum Erstellen der IAC-Validierung zurück Bericht. Informationen zum Vorgang finden Sie unter Informationen zu einem Statusbereitstellungsvorgang ansehen

Nächste Schritte