Terraform ja infrastruktuuri koodina · Oppitunti

Käytännöt koodina ja vaatimustenmukaisuuden tarkistukset

Lisätkää testausstrategiaanne suojakerros tarkistamalla Terraform-suunnitelmat tietoturva- ja vaatimustenmukaisuusrikkomusten varalta ennen niiden päätymistä tuotantoon.

Oppitunti 4/413 vaihetta

Käytännöt koodina ja vaatimustenmukaisuuden tarkistukset on ilmainen Terraform ja infrastruktuuri koodina-oppitunti CoddyKitissä. Tämä on oppitunti 4/4. Voit lukea koko oppitunnin alta ilmaiseksi ja harjoitella sen jälkeen käytännössä selaimessa sisäänrakennetulla koodieditorilla ja ympäri vuorokauden käytettävissä olevan tekoälytuutorin avulla. Oppitunti kuuluu Terraform ja infrastruktuuri koodina-oppimispolkuun, ja edistymisesi synkronoituu verkon ja CoddyKit-sovelluksen välillä. Terraform ja infrastruktuuri koodina-kurssilla on yhteensä 4 oppituntia.

Testaus ei ole vain toiminnallista testausta

Yksikkö- ja integraatiotestit osoittavat, että infrastruktuurisi toimii. Policy as code osoittaa, että se on sallittu: julkisia S3-bucketeja ei ole, instanssityypit ovat hyväksyttyjä ja vaaditut tagit ovat paikoillaan. Nämä tarkistukset suoritetaan automaattisesti jokaiselle muutokselle.

Mihin policy-tarkistukset sijoittuvat

Policy-tarkistukset sijoittuvat plan- ja apply-komentojen väliin. Plan-tuloste analysoidaan, ja rikkomus estää apply-toiminnon samalla tavalla kuin epäonnistunut testi estää yhdistämisen.

Staattinen tarkistus tfsecillä

tfsec tarkistaa HCL:n tunnettujen virheellisten konfiguraatioiden varalta ilman pilvitunnuksia. Se on riittävän nopea suoritettavaksi jokaisen commitin yhteydessä.

tfsec .

Tarkistimen tulosteen lukeminen

Tarkistimet ilmoittavat sääntötunnisteen, vakavuusasteen ja ongelman aiheuttavan resurssin. Etsi tunnisteen avulla korjausohjeet tai estä hyväksytyn riskin ilmoittaminen.

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

Checkov monikehysten tarkistuksiin

Checkov tukee Terraformin lisäksi muita IaC-formaatteja ja yhdistää havainnot CIS:n ja SOC2:n kaltaisiin compliance-kehyksiin.

checkov -d . --framework terraform

Suunnitelman, ei vain koodin, tarkistaminen

Muuttujien arvojen selvittämisen jälkeen ilmenevät ongelmat voi havaita viemällä suunnitelman JSON-muotoon ja tarkistamalla kyseisen artefaktin.

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

Open Policy Agent ja Conftest

Mukautettuja organisaation sääntöjä varten OPA ja conftest mahdollistavat policyjen kirjoittamisen Rego-kielellä ja niiden testaamisen plan-JSONia vasten.

conftest test plan.json --policy policy/

Yksinkertainen Rego-policy

Tämä Rego-sääntö estää kaikki S3-bucketit, joiden ACL-asetuksena on public-read. Conftest epäonnistuu, jos sääntö täsmää.

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

Hyväksyttyjen riskien ohittaminen

Joskus havainto on tunnettu poikkeus. Rivin sisäisillä kommenteilla tietyn säännön voi ohittaa auditointijäljen kera sen sijaan, että koko tarkistus poistettaisiin käytöstä.

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

Koontiversion epäonnistuminen

CI:ssä nämä työkalut palauttavat rikkomuksista nollasta poikkeavan paluuarvon, mikä epäonnistaa pipelinen ja estää vaatimustenvastaisen apply-toiminnon jatkumisen.

tfsec . --soft-fail=false

Tarkistusten kerrostaminen

Kypsä pipeline suorittaa ensin fmt- ja validate-komennot, sitten staattiset policy-tarkistukset (tfsec/checkov), niiden jälkeen mukautetut OPA-säännöt ja vasta lopuksi toiminnallisen Terratest-testikokonaisuuden. Jokainen kerros havaitsee erilaisia ongelmia.

Pikatarkistus

Testaa policy as code -osaamisesi.

Kertaus: infrastruktuurin suojakaiteet

Lisäsit testaukseen compliance-kerroksen:

  • tfsec ja Checkov tunnettujen virheellisten konfiguraatioiden tarkistamiseen.
  • OPA/conftest ja Rego mukautettuja organisaation sääntöjä varten.
  • Plan-JSONin tarkistaminen arvojen selvittämisen jälkeen ilmenevien ongelmien havaitsemiseksi.
  • Nollasta poikkeavat paluuarvot estävät vaatimustenvastaiset apply-toiminnot CI:ssä.
Aloita maksutta

Opi Terraform ja infrastruktuuri koodina tekoälytuutorin avulla — ilmaiseksi

Kirjoita ja suorita oikeaa koodia selaimessa, saa välitöntä apua tekoälytuutorilta ympäri vuorokauden ja jatka siitä, mihin jäit, verkossa tai sovelluksessa.

Kurssit
12
Oppitunnit
48

Usein kysytyt kysymykset

Onko oppitunti ”Käytännöt koodina ja vaatimustenmukaisuuden tarkistukset” ilmainen?

Kyllä – oppitunnin ”Käytännöt koodina ja vaatimustenmukaisuuden tarkistukset” koko tekstin voi lukea täällä verkossa ilmaiseksi. Jos haluat harjoitella interaktiivisesti sisäänrakennetulla koodieditorilla ja ympäri vuorokauden käytettävissä olevan tekoälytuutorin avulla sekä avata koko Terraform ja infrastruktuuri koodina-kurssin, päivitä CoddyKit PROhon. Terraform ja infrastruktuuri koodina-kurssilla on yhteensä 4 oppituntia.

Mitä opin oppitunnilla ”Käytännöt koodina ja vaatimustenmukaisuuden tarkistukset”?

Lisätkää testausstrategiaanne suojakerros tarkistamalla Terraform-suunnitelmat tietoturva- ja vaatimustenmukaisuusrikkomusten varalta ennen niiden päätymistä tuotantoon. Harjoittelet Terraform ja infrastruktuuri koodina-aihetta koodilla, jonka suoritat suoraan selaimessa. Ympäri vuorokauden käytettävissä oleva tekoälytuutori vastaa kysymyksiisi oppitunnin aikana.

Tarvitsenko kokemusta aloittaakseni Terraform ja infrastruktuuri koodina-opiskelun?

Aiempi kokemus ei ole tarpeen. CoddyKitin Terraform ja infrastruktuuri koodina-oppimispolku sopii vasta-alkajista edistyneisiin, joten voit aloittaa tästä tai alusta ja edetä omaan tahtiisi. Tämä on oppitunti 4/4.

Kuinka kauan ”Käytännöt koodina ja vaatimustenmukaisuuden tarkistukset”-oppitunnin suorittaminen kestää?

Useimmat CoddyKitin oppitunnit kestävät noin 5–10 minuuttia. Jokainen oppitunti on lyhyt ja interaktiivinen, joten edistyt tasaisesti ja voit jatkaa siitä, mihin jäit – sekä verkossa että sovelluksessa.

Voinko kirjoittaa ja suorittaa koodia tällä Terraform ja infrastruktuuri koodina-oppitunnilla?

Kyllä. Jokainen Terraform ja infrastruktuuri koodina-oppitunti sisältää sisäänrakennetun koodieditorin, joten voit kirjoittaa ja suorittaa oikeaa koodia suoraan selaimessa ja saada välitöntä palautetta tekoälyltä – paikallista asennusta ei tarvita.

Kaikki tämän kurssin oppitunnit

  1. Terraformin `validate` ja `fmt`
  2. Yksikkötestaus Terratestillä
  3. Pilviresurssien integraatiotestaus
  4. Käytännöt koodina ja vaatimustenmukaisuuden tarkistukset
← Takaisin: Terraform ja infrastruktuuri koodina