Policy som kod och efterlevnadskontroller
Lägg till ett skyddslager i teststrategin genom att skanna Terraform-planer efter säkerhets- och efterlevnadsöverträdelser innan de når produktion.
Policy som kod och efterlevnadskontroller är en gratis lektion i Terraform som Infrastructure as Code på CoddyKit. Detta är lektion 4 av 4. Ni kan läsa hela lektionen gratis nedan och sedan öva praktiskt i webbläsaren med en inbyggd kodredigerare och en AI-handledare som är tillgänglig dygnet runt. Den ingår i lärvägen för Terraform som Infrastructure as Code, och Era framsteg synkroniseras mellan webben och CoddyKit-appen. Kursen i Terraform som Infrastructure as Code innehåller totalt 4 lektioner.
Testning handlar inte bara om funktionalitet
Enhets- och integrationstester visar att infrastrukturen fungerar. Policy som kod visar att den är tillåten: inga publika S3-buckets, endast godkända instanstyper och obligatoriska taggar på plats. Dessa kontroller körs automatiskt för varje ändring.
Var policykontroller passar in
Policykontroller placeras mellan plan och apply. Planutdata analyseras, och en överträdelse blockerar apply på samma sätt som ett misslyckat test blockerar en merge.
Statisk skanning med tfsec
tfsec skannar er HCL efter kända felkonfigurationer utan att behöva autentiseringsuppgifter för molnet. Det är tillräckligt snabbt för att köras vid varje commit.
tfsec .Läsa skanningsresultat
Skanningsverktyg rapporterar ett regel-ID, en allvarlighetsgrad och den resurs som orsakar problemet. Använd ID:t för att hitta vägledning om åtgärder eller för att undertrycka en accepterad risk.
Result: aws-s3-enable-bucket-encryption
Severity: HIGH
Resource: aws_s3_bucket.dataCheckov för skanning av flera ramverk
Checkov stöder Terraform och andra IaC-format samt kopplar resultat till efterlevnadsramverk som CIS och SOC2.
checkov -d . --framework terraformSkanna planen, inte bara koden
För att fånga problem som endast uppstår efter variabelupplösning exporterar ni planen till JSON och skannar den artefakten.
terraform plan -out=tfplan.binary
terraform show -json tfplan.binary > plan.json
checkov -f plan.jsonOpen Policy Agent och Conftest
För anpassade organisationsregler kan OPA tillsammans med conftest användas för att skriva policyer i språket Rego och testa dem mot planens JSON.
conftest test plan.json --policy policy/En enkel Rego-policy
Den här Rego-regeln nekar alla S3-buckets vars ACL är inställd på public-read. Conftest misslyckas med körningen om regeln matchar.
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"
}Undertrycka accepterade risker
Ibland är ett resultat ett känt undantag. Infogade kommentarer låter er hoppa över en specifik regel med ett revisionsspår, i stället för att inaktivera hela skanningen.
resource "aws_s3_bucket" "logs" {
# tfsec:ignore:aws-s3-enable-bucket-encryption
bucket = "public-logs"
}Misslyckad byggkörning
I CI returnerar dessa verktyg en exitkod som inte är noll vid överträdelser. Det gör att pipelinen misslyckas och förhindrar att en konfiguration som inte uppfyller kraven kör apply.
tfsec . --soft-fail=falseLagerindela kontrollerna
En mogen pipeline kör först fmt och validate, därefter statiska policyskanningar (tfsec/checkov), sedan anpassade OPA-regler och först därefter den funktionella Terratest-sviten. Varje lager fångar en annan typ av problem.
Snabbtest
Testa era kunskaper om policy som kod.
Sammanfattning: Skyddsräcken för infrastruktur
Ni har lagt till ett efterlevnadslager i testningen:
- tfsec och Checkov för skanning efter kända felkonfigurationer.
- OPA/conftest med Rego för anpassade organisationsregler.
- Skanna planens JSON för att fånga problem med upplösta värden.
- Exitkoder som inte är noll blockerar apply-körningar som inte uppfyller kraven i CI.
Lär dig Terraform som Infrastructure as Code med en AI-lärare – gratis
Skriv och kör riktig kod i webbläsaren, få omedelbar hjälp av en AI-lärare dygnet runt och fortsätt där du slutade – på webben eller i appen.
- Kurser
- 12
- Lektioner
- 48
Vanliga frågor
Är lektionen ”Policy som kod och efterlevnadskontroller” gratis?
Ja – hela texten till ”Policy som kod och efterlevnadskontroller” kan läsas gratis här på webben. Om Ni vill öva interaktivt med en inbyggd kodredigerare och en AI-handledare som är tillgänglig dygnet runt och låsa upp resten av kursen i Terraform som Infrastructure as Code, kan Ni uppgradera till CoddyKit PRO. Kursen i Terraform som Infrastructure as Code innehåller totalt 4 lektioner.
Vad lär jag mig i ”Policy som kod och efterlevnadskontroller”?
Lägg till ett skyddslager i teststrategin genom att skanna Terraform-planer efter säkerhets- och efterlevnadsöverträdelser innan de når produktion. Ni övar på Terraform som Infrastructure as Code med praktisk kod som körs direkt i webbläsaren, medan en AI-handledare som är tillgänglig dygnet runt svarar på Era frågor under lektionen.
Behöver jag någon erfarenhet för att börja lära mig Terraform som Infrastructure as Code?
Du behöver inga förkunskaper. Utbildningen i Terraform som Infrastructure as Code på CoddyKit är upplagd för allt från nybörjare till avancerade elever, så att du kan börja här eller från början och gå fram i din egen takt. Detta är lektion 4 av 4.
Hur lång tid tar lektionen ”Policy som kod och efterlevnadskontroller”?
De flesta CoddyKit-lektioner tar cirka 5–10 minuter. Varje lektion är kort och interaktiv, så att du gör stadiga framsteg och kan fortsätta precis där du slutade – på webben eller i appen.
Kan jag skriva och köra kod i den här Terraform som Infrastructure as Code-lektionen?
Ja. Varje Terraform som Infrastructure as Code-lektion innehåller en inbyggd kodredigerare, så att du kan skriva och köra riktig kod direkt i webbläsaren och få omedelbar AI-feedback – utan lokal installation.
Alla lektioner i den här kursen
- Terraform `validate` och `fmt`
- Enhetstestning med Terratest
- Integrationstestning av molnresurser
- Policy som kod och efterlevnadskontroller