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.
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.dataCheckov 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 terraformSkann 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.jsonOpen 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=falseLagdeling 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.
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
- Terraform `validate` og `fmt`
- Enhetstesting med Terratest
- Integrasjonstesting av skyressurser
- Policy som kode og samsvarskontroller