Terraform som infrastruktur som kode · Lektion

Policy som kode og compliance-tjek

Tilføj et sikkerhedsnet til Deres teststrategi ved at scanne Terraform-planer for sikkerheds- og compliance-overtrædelser, før de når produktionen.

Lektion 4 af 413 trin

Policy som kode og compliance-tjek er en gratis Terraform som infrastruktur som kode-lektion på CoddyKit. Dette er lektion 4 af 4. Du kan læse hele lektionen gratis nedenfor — og derefter øve dig praktisk i browseren med en indbygget kodeeditor og en AI-vejleder, der er tilgængelig døgnet rundt. Den er en del af læringsforløbet i Terraform som infrastruktur som kode, og dine fremskridt synkroniseres på tværs af nettet og CoddyKit-appen. Terraform som infrastruktur som kode-kurset indeholder 4 lektioner i alt.

Test er ikke kun funktionel

Enheds- og integrationstest beviser, at din infrastruktur virker. Policy as code beviser, at den er tilladt: ingen offentlige S3-buckets, kun godkendte instanstyper og påkrævede tags til stede. Disse kontroller køres automatisk for hver ændring.

Hvor policykontroller passer ind

Policykontroller placeres mellem plan og apply. Planoutputtet analyseres, og en overtrædelse blokerer anvendelsen, ligesom en fejlet test blokerer en sammenlægning.

Statisk scanning med tfsec

tfsec scanner din HCL for kendte fejlkonfigurationer uden at kræve cloud-legitimationsoplysninger. Det er hurtigt nok til at køre ved hver commit.

tfsec .

Sådan læses scanneroutput

Scannere rapporterer et regel-id, en alvorlighedsgrad og den problematiske ressource. Brug id'et til at finde vejledning i udbedring eller til at undertrykke en accepteret risiko.

Result: aws-s3-enable-bucket-encryption
Severity: HIGH
Resource: aws_s3_bucket.data

Checkov til scanning på tværs af frameworks

Checkov dækker Terraform samt andre IaC-formater og knytter fund til compliance-frameworks som CIS og SOC2.

checkov -d . --framework terraform

Scan planen, ikke kun koden

Hvis du vil finde problemer, der først opstår efter løsning af variabler, skal du eksportere planen til JSON og scanne det artefakt.

terraform plan -out=tfplan.binary
terraform show -json tfplan.binary > plan.json
checkov -f plan.json

Open Policy Agent og Conftest

Til organisationens egne regler lader OPA sammen med conftest dig skrive policies i sproget Rego og teste dem mod planens JSON.

conftest test plan.json --policy policy/

En simpel Rego-policy

Denne Rego-regel afviser enhver S3-bucket, hvis ACL er sat til public-read. Conftest fejler kørslen, hvis reglen matcher.

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"
}

Undertrykkelse af accepterede risici

Nogle gange er et fund en kendt undtagelse. Inline-kommentarer lader dig springe en bestemt regel over med et revisionsspor i stedet for at deaktivere hele scanningen.

resource "aws_s3_bucket" "logs" {
  # tfsec:ignore:aws-s3-enable-bucket-encryption
  bucket = "public-logs"
}

Builden fejler

I CI returnerer disse værktøjer en exitkode, der ikke er nul, ved overtrædelser. Det får pipelinen til at fejle og forhindrer, at en ikke-kompliant anvendelse fortsætter.

tfsec . --soft-fail=false

Lagdeling af kontrollerne

En moden pipeline kører først fmt og validate, derefter statiske policyscanninger (tfsec/checkov), så tilpassede OPA-regler og til sidst den funktionelle Terratest-suite. Hvert lag finder en anden type problem.

Hurtigt tjek

Test din viden om policy-as-code.

Opsummering: Sikkerhedsnet til infrastruktur

Du har føjet et compliance-lag til testningen:

  • tfsec og Checkov til scanning efter kendte fejlkonfigurationer.
  • OPA/conftest med Rego til organisationens egne regler.
  • Scan planens JSON for at finde problemer med løste værdier.
  • Exitkoder, der ikke er nul, blokerer ikke-kompliante anvendelser i CI.
Gratis at komme i gang

Lær Terraform som infrastruktur som kode med en AI-underviser — gratis

Skriv og kør rigtig kode i din browser, få øjeblikkelig hjælp fra en AI-underviser døgnet rundt, og fortsæt, hvor du slap, på web eller i appen.

Kurser
12
Lektioner
48

Ofte stillede spørgsmål

Er lektionen “Policy som kode og compliance-tjek” gratis?

Ja — hele teksten til “Policy som kode og compliance-tjek” kan læses gratis her på nettet. Hvis du vil øve dig interaktivt med en indbygget kodeeditor og en AI-vejleder døgnet rundt og få adgang til resten af Terraform som infrastruktur som kode-kurset, skal du opgradere til CoddyKit PRO. Terraform som infrastruktur som kode-kurset indeholder 4 lektioner i alt.

Hvad lærer jeg i “Policy som kode og compliance-tjek”?

Tilføj et sikkerhedsnet til Deres teststrategi ved at scanne Terraform-planer for sikkerheds- og compliance-overtrædelser, før de når produktionen. Du øver dig i Terraform som infrastruktur som kode med praktisk kode, som du kører direkte i browseren, og en AI-vejleder døgnet rundt besvarer dine spørgsmål, mens du arbejder dig gennem lektionen.

Skal jeg have erfaring for at begynde på Terraform som infrastruktur som kode?

Der kræves ingen tidligere erfaring. Terraform som infrastruktur som kode på CoddyKit er tilrettelagt for både begyndere og øvede, så du kan starte her eller fra begyndelsen og lære i dit eget tempo. Dette er lektion 4 af 4.

Hvor lang tid tager lektionen “Policy som kode og compliance-tjek”?

De fleste CoddyKit-lektioner tager cirka 5–10 minutter. Hver lektion er kort og interaktiv, så du gør løbende fremskridt og kan fortsætte, hvor du slap – på både web og app.

Kan jeg skrive og køre kode i denne Terraform som infrastruktur som kode-lektion?

Ja. Alle Terraform som infrastruktur som kode-lektioner har en indbygget kodeeditor, så du kan skrive og køre rigtig kode direkte i din browser og få øjeblikkelig feedback fra AI – uden lokal opsætning.

Alle lektioner i dette kursus

  1. Terraform `validate` og `fmt`
  2. Enhedstest med Terratest
  3. Integrationstest af cloud-ressourcer
  4. Policy som kode og compliance-tjek
← Tilbage til Terraform som infrastruktur som kode