IaC anhand der Richtlinien Ihrer Google Cloud-Organisation prüfen

In diesem Dokument wird beschrieben, wie Sie Ihre Infrastructure as Code (IaC) anhand der Organisationsrichtlinien und Security Health Analytics-Erkennungsmethoden 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 über einen Entwicklungs-Workflow bereitstellen können. Die Funktion zur IaC-Validierung unterstützt nur Organisationsrichtlinien und Security Health Analytics-Detektoren.

Durch die Validierung von IaC können Sie feststellen, ob Ihre neuen oder geänderten Ressourcendefinitionen gegen die vorhandenen Richtlinien verstoßen, die auf IhreGoogle Cloud -Ressourcen (z. B. Cluster, Bucket oder Instanz) angewendet werden. Sie können diese Richtlinien mit Sicherheitskonfigurationen definieren. Bei der IaC-Validierung wird der Code analysiert und mit allen effektiven Richtlinien verglichen, die in Konfigurationen definiert sind, die in Ihrer Google Cloud -Organisation bereitgestellt werden. Mit der IaC-Validierung können Ihre Entwickler Sicherheitsprobleme in der IaC-Konfiguration von Assets oder Ressourcen erkennen und beheben, bevor sie auf IhreGoogle Cloud -Umgebung angewendet werden.

Die IaC-Validierungsfunktion unterstützt Terraform-Plan-Dateien. Sie können Ihren Terraform-Plan mit der Google Cloud CLI validieren oder den Validierungsprozess in Ihren Entwickler-Workflow für Cloud Build, Jenkins oder GitHub Actions einbinden.

Hinweis

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

Security Command Center Premium- oder Enterprise-Stufe aktivieren

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

Berechtigungen einrichten

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

    Rollen prüfen

    1. Rufen Sie in der Google Cloud Console die Seite IAM auf.

      IAM aufrufen
    2. Wählen Sie die Organisation aus.
    3. Suchen Sie in der Spalte Hauptkonto nach allen Zeilen, in denen Sie oder eine Gruppe, zu der Sie gehören, angegeben sind. Fragen Sie Ihren Administrator, zu welchen Gruppen Sie gehören.

    4. Prüfen Sie in allen Zeilen, in denen Sie angegeben oder enthalten sind, die Spalte Rolle, um zu sehen, ob die Liste der Rollen die erforderlichen Rollen enthält.

    Rollen zuweisen

    1. Rufen Sie in der Google Cloud Console die Seite IAM auf.

      IAM aufrufen
    2. Wählen Sie die Organisation aus.
    3. Klicken Sie auf Zugriffsrechte erteilen.
    4. Geben Sie im Feld Neue Hauptkonten Ihre Nutzer-ID ein. Das ist in der Regel die E‑Mail-Adresse eines Google-Kontos.

    5. Klicken Sie auf Rolle auswählen und suchen Sie dann nach der Rolle.
    6. Klicken Sie auf Weitere Rolle hinzufügen, wenn Sie weitere Rollen zuweisen möchten.
    7. Klicken Sie auf Speichern.

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

Google Cloud CLI einrichten

Aktivieren Sie Cloud Shell in der Google Cloud Console.

Cloud Shell aktivieren

Unten in der Google Cloud Console wird eine Cloud Shell-Sitzung gestartet und eine Eingabeaufforderung angezeigt. Cloud Shell ist eine Shell-Umgebung, in der das Google Cloud CLI bereits installiert ist und Werte für Ihr aktuelles Projekt bereits festgelegt sind. Das Initialisieren der Sitzung kann einige Sekunden dauern.

Führen Sie den folgenden Befehl aus, um die gcloud CLI so einzurichten, dass die Authentifizierung bei Google APIs über die Identitätsübernahme des Dienstkontos anstelle Ihrer Nutzeranmeldedaten erfolgt:

gcloud config set auth/impersonate_service_account SERVICE_ACCT_EMAIL

Weitere Informationen finden Sie unter Identitätsübernahme des Dienstkontos.

APIs aktivieren

Aktivieren Sie die Security Posture API und die Security Center Management API.

Rollen, die zum Aktivieren von APIs erforderlich sind

Zum Aktivieren von APIs benötigen Sie die IAM-Rolle „Service Usage-Administrator“ (roles/serviceusage.serviceUsageAdmin), die die Berechtigung serviceusage.services.enable enthält. Weitere Informationen zum Zuweisen von Rollen

APIs aktivieren

Richtlinien definieren

Definieren Sie Ihre Organisationsrichtlinien und Security Health Analytics-Detektoren. Wenn Sie diese Richtlinien mit einem Sicherheitsstatus definieren möchten, führen Sie die Aufgaben unter Status erstellen und bereitstellen aus.

Terraform-Code erstellen

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

Berücksichtige Folgendes:

  • Geben Sie das übergeordnete Attribut (Projekt, Ordner oder Organisation) für jede Ressource oder jedes Asset in der Terraform-Konfiguration an.
  • Ändern Sie Assets und Richtlinien separat. Die API unterstützt keine Validierung von Terraform-Plandateien, mit denen sowohl Assets als auch Richtlinien gleichzeitig geändert werden.
  • 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.
  • Einschränkungen für die IaC-Validierung
  • Nehmen Sie keine vertraulichen Informationen wie Passwörter oder andere personenidentifizierbare Informationen in Ihre Terraform-Plan-Datei auf. Wenn die Validierungsfunktion Felder erkennt, die in den Ressourcenänderungen als vertraulich gekennzeichnet sind, werden die Felder entfernt.

Nachdem Sie Ihren Terraform-Code erstellt haben, können Sie den IaC-Validierungsbericht ausführen. Sie können die gcloud CLI, Cloud Build, 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 verwenden. Führen Sie bei Bedarf ein Upgrade auf die neueste Google-Anbieterversion aus:

    terraform init -upgrade
    
  2. Konvertieren Sie die Terraform-Plan-Datei 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 enthält.
  3. So erstellen Sie den IaC-Validierungsbericht:

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

    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 für die 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 Vorgang zur Bereitstellung von Einstellungen ansehen.

Nächste Schritte