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
-
Make sure that you have the following role or roles on the organization: Security Posture Shift-Left Validator
Check for the roles
-
In the Google Cloud console, go to the IAM page.
Go to IAM - Select the organization.
-
In the Principal column, find all rows that identify you or a group that you're included in. To learn which groups you're included in, contact your administrator.
- For all rows that specify or include you, check the Role colunn to see whether the list of roles includes the required roles.
Grant the roles
-
In the Google Cloud console, go to the IAM page.
Zu IAM - Wählen Sie die Organisation aus.
- Klicken Sie auf Zugriff erlauben.
-
Geben Sie im Feld Neue Hauptkonten Ihre Nutzer-ID ein. Dies ist in der Regel die E-Mail-Adresse eines Google-Kontos.
- Wählen Sie in der Liste Rolle auswählen eine Rolle aus.
- Wenn Sie weitere Rollen hinzufügen möchten, klicken Sie auf Weitere Rolle hinzufügen und fügen Sie weitere Rollen hinzu.
- 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) der einzelnen Ressourcen oder Assets 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 Assets 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
- Sehen Sie sich die Einschränkungen für die IaC-Validierung an.
- 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:
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
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.
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 istorganizations/ORGANIZATION_ID/locations/LOCATION
LOCATION
istglobal
.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 inplanFile.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
- Beispielanleitung ansehen
- Binden Sie die IaC-Validierung in Ihren Cloud Build-Workflow ein.
- Binden Sie die IaC-Validierung in Ihre GitHub Actions oder Ihr Jenkins-Projekt ein.
- Sicherheitsstatus verwalten
-