Terraform som Infrastructure as Code · leksjon

Policy som kode og samsvarskontroller

Legg til et sikkerhetsnett i teststrategien ved å skanne Terraform-planer for brudd på sikkerhets- og samsvarsregler før de når produksjon.

Leksjon 4 av 413 trinn

Policy som kode og samsvarskontroller er en gratis leksjon i Terraform som Infrastructure as Code på CoddyKit. Dette er leksjon 4 av 4. Du kan lese hele leksjonen gratis nedenfor – og deretter øve praktisk i nettleseren med en innebygd kodeeditor og en AI-veileder som er tilgjengelig døgnet rundt. Den er en del av læringsløpet i Terraform som Infrastructure as Code, og fremdriften din synkroniseres mellom nettet og CoddyKit-appen. Kurset i Terraform som Infrastructure as Code inneholder totalt 4 leksjoner.

Testing handler ikke bare om funksjonalitet

Enhets- og integrasjonstester beviser at infrastrukturen Deres fungerer. Policy as code beviser at den er tillatt: ingen offentlige S3-bøtter, bare godkjente instanstyper og nødvendige tagger på plass. Disse kontrollene kjøres automatisk for hver endring.

Hvor policykontroller passer inn

Policykontroller plasseres mellom plan og apply. Planutdataene analyseres, og et brudd blokkerer apply, på samme måte som en feilende test blokkerer en merge.

Statisk skanning med tfsec

tfsec skanner HCL-koden Deres for kjente feilkonfigurasjoner uten å trenge tilgang til skylegitimasjon. Det er raskt nok til å kjøres ved hver commit.

tfsec .

Slik leser De skannerutdata

Skannere rapporterer en regel-ID, alvorlighetsgrad og ressursen som forårsaket problemet. Bruk ID-en til å finne veiledning om utbedring eller til å undertrykke en akseptert risiko.

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

Checkov for skanning på tvers av rammeverk

Checkov støtter Terraform og andre IaC-formater, og knytter funn til samsvarsrammeverk som CIS og SOC2.

checkov -d . --framework terraform

Skann planen, ikke bare koden

For å fange opp problemer som først oppstår etter at variabler er evaluert, eksporterer De planen til JSON og skanner dette artefaktet.

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

Open Policy Agent og Conftest

For egendefinerte regler i organisasjonen lar OPA sammen med conftest Dem skrive policyer i språket Rego og teste dem mot planens JSON.

conftest test plan.json --policy policy/

En enkel Rego-policy

Denne Rego-regelen avviser alle S3-bøtter der ACL-en er satt til public-read. Conftest feiler kjøringen hvis regelen samsvarer.

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

Undertrykking av aksepterte risikoer

Noen ganger er et funn et kjent unntak. Inline-kommentarer lar Dem hoppe over en bestemt regel med et revisjonsspor, i stedet for å deaktivere hele skanningen.

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

Byggingen feiler

I CI returnerer disse verktøyene en avslutningskode som ikke er null ved brudd. Det får pipelinen til å feile og hindrer at en konfigurasjon som ikke oppfyller kravene, blir iverksatt.

tfsec . --soft-fail=false

Lagdeling av kontrollene

En moden pipeline kjører først fmt og validate, deretter statiske policyskanninger (tfsec/checkov), så egendefinerte OPA-regler, og til slutt den funksjonelle Terratest-testserien. Hvert lag fanger opp en egen type problem.

Hurtigsjekk

Test kunnskapene Deres om policy as code.

Oppsummering: Sikkerhetsnett for infrastruktur

De har lagt til et samsvarslag i testingen:

  • tfsec og Checkov for skanning etter kjente feilkonfigurasjoner.
  • OPA/conftest med Rego for egendefinerte regler i organisasjonen.
  • Skanning av planens JSON for å fange opp problemer med evaluerte verdier.
  • Avslutningskoder som ikke er null, blokkerer konfigurasjoner som ikke oppfyller kravene, i CI.
Gratis å komme i gang

Lær deg Terraform som Infrastructure as Code med en AI-veileder – gratis

Skriv og kjør ekte kode i nettleseren, få umiddelbar hjelp fra en AI-veileder som er tilgjengelig døgnet rundt, og fortsett der du slapp – på nettet eller i appen.

Kurs
12
Leksjoner
48

Ofte stilte spørsmål

Er leksjonen «Policy som kode og samsvarskontroller» gratis?

Ja – hele teksten i «Policy som kode og samsvarskontroller» er gratis å lese her på nettet. For å øve interaktivt med en innebygd kodeeditor og en AI-veileder som er tilgjengelig døgnet rundt, og for å låse opp resten av Terraform som Infrastructure as Code-kurset, kan du oppgradere til CoddyKit PRO. Kurset i Terraform som Infrastructure as Code inneholder totalt 4 leksjoner.

Hva lærer jeg i «Policy som kode og samsvarskontroller»?

Legg til et sikkerhetsnett i teststrategien ved å skanne Terraform-planer for brudd på sikkerhets- og samsvarsregler før de når produksjon. Du øver på Terraform som Infrastructure as Code med praktisk kode som du kjører direkte i nettleseren, mens en AI-veileder som er tilgjengelig døgnet rundt, svarer på spørsmålene dine mens du jobber deg gjennom leksjonen.

Trenger jeg erfaring for å begynne med Terraform som Infrastructure as Code?

Ingen tidligere erfaring er nødvendig. Terraform som Infrastructure as Code på CoddyKit er lagt opp for både nybegynnere og viderekomne, så De kan begynne her eller helt fra start og lære i Deres eget tempo. Dette er leksjon 4 av 4.

Hvor lang tid tar leksjonen «Policy som kode og samsvarskontroller»?

De fleste CoddyKit-leksjoner tar omtrent 5–10 minutter. Hver leksjon er kort og interaktiv, slik at De gjør jevne fremskritt og kan fortsette akkurat der De slapp – både på nettet og i appen.

Kan jeg skrive og kjøre kode i denne Terraform som Infrastructure as Code-leksjonen?

Ja. Alle Terraform som Infrastructure as Code-leksjoner har en innebygd kodeeditor, slik at De kan skrive og kjøre ekte kode direkte i nettleseren og få umiddelbar tilbakemelding fra AI – uten lokal konfigurering.

Alle leksjonene i dette kurset

  1. Terraform `validate` og `fmt`
  2. Enhetstesting med Terratest
  3. Integrasjonstesting av skyressurser
  4. Policy som kode og samsvarskontroller
← Tilbake til Terraform som Infrastructure as Code