Policy as Code und Compliance-Prüfungen
Ergänzen Sie Ihre Teststrategie um eine Schutzschicht, indem Sie Terraform-Pläne vor dem Produktionseinsatz auf Sicherheits- und Compliance-Verstöße prüfen.
Policy as Code und Compliance-Prüfungen ist eine kostenlose Terraform Infrastructure as Code-Lektion auf CoddyKit. Dies ist Lektion 4 von 4. Du kannst die komplette Lektion unten kostenlos lesen – dann übst du sie direkt im Browser mit einem integrierten Code-Editor und einem KI-Tutor rund um die Uhr. Sie ist Teil des Terraform Infrastructure as Code-Lernpfads, und dein Fortschritt wird über Web und CoddyKit-App synchronisiert. Der Terraform Infrastructure as Code-Kurs umfasst insgesamt 4 Lektionen.
Tests sind nicht nur funktional
Unit- und Integrationstests zeigen, dass Ihre Infrastruktur funktioniert. Policy as Code zeigt, dass sie zulässig ist: keine öffentlichen S3-Buckets, nur genehmigte Instanztypen und vorhandene erforderliche Tags. Diese Prüfungen werden automatisch für jede Änderung ausgeführt.
Wo Richtlinienprüfungen angesiedelt sind
Richtlinienprüfungen werden zwischen plan und apply ausgeführt. Die Plan-Ausgabe wird analysiert, und ein Verstoß blockiert das Anwenden – genauso wie ein fehlschlagender Test einen Merge blockiert.
Statische Prüfung mit tfsec
tfsec prüft Ihren HCL-Code auf bekannte Fehlkonfigurationen, ohne Cloud-Anmeldedaten zu benötigen. Das Tool ist schnell genug, um bei jedem Commit ausgeführt zu werden.
tfsec .Scanner-Ausgaben lesen
Scanner melden eine Regel-ID, den Schweregrad und die betroffene Ressource. Verwenden Sie die ID, um Hinweise zur Behebung nachzuschlagen oder ein akzeptiertes Risiko zu unterdrücken.
Result: aws-s3-enable-bucket-encryption
Severity: HIGH
Resource: aws_s3_bucket.dataCheckov für Prüfungen über mehrere Frameworks hinweg
Checkov unterstützt neben Terraform auch andere IaC-Formate und ordnet Befunde Compliance-Frameworks wie CIS und SOC2 zu.
checkov -d . --framework terraformDen Plan prüfen, nicht nur den Code
Um Probleme zu erkennen, die erst nach der Auflösung von Variablen auftreten, exportieren Sie den Plan als JSON und prüfen Sie dieses Artefakt.
terraform plan -out=tfplan.binary
terraform show -json tfplan.binary > plan.json
checkov -f plan.jsonOpen Policy Agent und Conftest
Für benutzerdefinierte Organisationsregeln können Sie mit OPA und conftest Richtlinien in der Sprache Rego schreiben und sie anhand des Plan-JSON testen.
conftest test plan.json --policy policy/Eine einfache Rego-Richtlinie
Diese Rego-Regel lehnt jeden S3-Bucket ab, dessen ACL auf public-read gesetzt ist. Conftest lässt den Lauf fehlschlagen, wenn die Regel zutrifft.
package main
deny[msg] {
r := input.resource_changes[_]
r.type == "aws_s3_bucket"
r.change.after.acl == "public-read"
msg := "S3 buckets must not be public-read"
}Akzeptierte Risiken unterdrücken
Manchmal handelt es sich bei einem Befund um eine bekannte Ausnahme. Inline-Kommentare ermöglichen es, eine bestimmte Regel mit Prüfprotokoll zu überspringen, statt die gesamte Prüfung zu deaktivieren.
resource "aws_s3_bucket" "logs" {
# tfsec:ignore:aws-s3-enable-bucket-encryption
bucket = "public-logs"
}Den Build fehlschlagen lassen
In CI geben diese Werkzeuge bei Verstößen einen Exit-Code ungleich null zurück. Dadurch schlägt die Pipeline fehl und verhindert, dass ein nicht konformes apply ausgeführt wird.
tfsec . --soft-fail=falsePrüfungen schichtenweise aufbauen
Eine ausgereifte Pipeline führt zuerst fmt und validate aus, anschließend statische Richtlinienprüfungen (tfsec/checkov), danach benutzerdefinierte OPA-Regeln und erst dann die funktionale Terratest-Suite. Jede Schicht erkennt eine andere Problemklasse.
Kurzer Check
Testen Sie Ihr Wissen über Policy as Code.
Zusammenfassung: Leitplanken für die Infrastruktur
Sie haben eine Compliance-Schicht zu Ihren Tests hinzugefügt:
- tfsec und Checkov für Prüfungen auf bekannte Fehlkonfigurationen.
- OPA/conftest mit Rego für benutzerdefinierte Organisationsregeln.
- Prüfung des Plan-JSON, um Probleme mit aufgelösten Werten zu erkennen.
- Exit-Codes ungleich null blockieren nicht konforme
apply-Vorgänge in CI.
Häufig gestellte Fragen
Ist die Lektion „Policy as Code und Compliance-Prüfungen“ kostenlos?
Ja — der vollständige Text von „Policy as Code und Compliance-Prüfungen“ ist hier im Web kostenlos zu lesen. Um sie interaktiv zu üben (integrierter Code-Editor und 24/7 KI-Tutor) und den Rest des Terraform Infrastructure as Code-Kurses freizuschalten, upgrade auf CoddyKit PRO. Der Terraform Infrastructure as Code-Kurs umfasst insgesamt 4 Lektionen.
Was lerne ich in „Policy as Code und Compliance-Prüfungen“?
Ergänzen Sie Ihre Teststrategie um eine Schutzschicht, indem Sie Terraform-Pläne vor dem Produktionseinsatz auf Sicherheits- und Compliance-Verstöße prüfen. Du übst Terraform Infrastructure as Code mit praktischem Code, den du direkt im Browser ausführst, und ein 24/7 KI-Tutor beantwortet deine Fragen während du die Lektion bearbeitest.
Brauche ich Erfahrung, um Terraform Infrastructure as Code zu starten?
Keine Vorkenntnisse erforderlich. Terraform Infrastructure as Code auf CoddyKit ist für Anfänger bis fortgeschrittene Lernende strukturiert, sodass du hier starten oder von Anfang an beginnen und in deinem eigenen Tempo voranschreiten kannst. Dies ist Lektion 4 von 4.
Wie lange dauert die Lektion „Policy as Code und Compliance-Prüfungen“?
Die meisten CoddyKit-Lektionen dauern etwa 5–10 Minuten. Jede ist kompakt und interaktiv, sodass du stetig Fortschritte machst und genau dort weitermachst, wo du aufgehört hast – im Web und in der App.
Kann ich in dieser Terraform Infrastructure as Code-Lektion Code schreiben und ausführen?
Ja. Jede Terraform Infrastructure as Code-Lektion enthält einen integrierten Code-Editor, sodass du echten Code direkt in deinem Browser schreibst und ausführst und sofort KI-Feedback erhältst — ohne lokale Einrichtung erforderlich.
Alle Lektionen in diesem Kurs
- Terraform `validate` und `fmt`
- Unit-Tests mit Terratest
- Integrationstests für Cloud-Ressourcen
- Policy as Code und Compliance-Prüfungen