0Pricing
Terraform Infrastructure as Code · Leçon

Politiques sous forme de code et contrôles de conformité

Ajoutez une couche de garde-fou à votre stratégie de tests en recherchant les violations de sécurité et de conformité dans les plans Terraform avant leur mise en production.

Politiques sous forme de code et contrôles de conformité est une leçon Terraform Infrastructure as Code gratuite sur CoddyKit. Ceci est la leçon 4 sur 4. Tu peux lire la leçon complète ci-dessous gratuitement — puis la pratiquer en direct dans le navigateur avec un éditeur de code intégré et un tuteur IA 24/7. Elle fait partie du parcours d'apprentissage Terraform Infrastructure as Code, et ta progression se synchronise sur le web et l'application CoddyKit. Le cours Terraform Infrastructure as Code comprend 4 leçons au total.

Les tests ne sont pas uniquement fonctionnels

Les tests unitaires et d’intégration prouvent que votre infrastructure fonctionne. Le code de politique prouve qu’elle est autorisée : aucun compartiment S3 public, uniquement les types d’instances approuvés, présence des étiquettes requises. Ces vérifications s’exécutent automatiquement pour chaque modification.

Où s’insèrent les vérifications de politique

Les vérifications de politique s’insèrent entre plan et apply. La sortie du plan est analysée et toute violation bloque apply, comme un test qui échoue bloque une fusion.

Analyse statique avec tfsec

tfsec analyse votre HCL à la recherche de configurations incorrectes connues, sans avoir besoin d’identifiants d’accès au nuage. Il est suffisamment rapide pour être exécuté à chaque validation.

tfsec .

Lire la sortie de Scanner

Les outils d’analyse indiquent un identifiant de règle, un niveau de gravité et la ressource fautive. Utilisez l’identifiant pour consulter les instructions de correction ou masquer un risque accepté.

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

Checkov pour les analyses multiformats

Checkov prend en charge Terraform ainsi que d’autres formats d’IaC et associe les résultats à des référentiels de conformité tels que CIS et SOC2.

checkov -d . --framework terraform

Analyser le plan, pas seulement le code

Pour détecter les problèmes qui n’apparaissent qu’après la résolution des variables, exportez le plan au format JSON et analysez cet artefact.

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

Open Policy Agent et Conftest

Pour les règles propres à l’organisation, OPA avec conftest vous permet d’écrire des politiques dans le langage Rego et de les tester sur le JSON du plan.

conftest test plan.json --policy policy/

Une politique Rego simple

Cette règle Rego refuse tout compartiment S3 dont ACL est défini sur public-read. Conftest fait échouer l’exécution si la règle correspond.

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

Masquer les risques acceptés

Parfois, un résultat est une exception connue. Les commentaires intégrés permettent d’ignorer une règle précise tout en conservant une trace d’audit, au lieu de désactiver toute l’analyse.

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

Faire échouer la compilation

Dans l’intégration continue, ces outils renvoient un code de sortie différent de zéro en cas de violation, ce qui fait échouer le pipeline et empêche l’exécution d’un apply non conforme.

tfsec . --soft-fail=false

Superposer les vérifications

Un pipeline mature exécute d’abord fmt et validate, puis les analyses statiques de politique (tfsec/checkov), ensuite les règles OPA personnalisées, et enfin la suite de tests fonctionnels Terratest. Chaque couche détecte une catégorie différente de problème.

Vérification rapide

Testez vos connaissances du code de politique.

Récapitulatif : garde-fous pour l’infrastructure

Vous avez ajouté une couche de conformité aux tests :

  • tfsec et Checkov pour analyser les configurations incorrectes connues.
  • OPA/conftest avec Rego pour les règles personnalisées de l’organisation.
  • Analyser le JSON du plan pour détecter les problèmes liés aux valeurs résolues.
  • Les codes de sortie différents de zéro bloquent les apply non conformes dans l’intégration continue.

Questions Fréquemment Posées

La leçon « Politiques sous forme de code et contrôles de conformité » est-elle gratuite ?

Oui — le texte complet de « Politiques sous forme de code et contrôles de conformité » est gratuit à lire ici sur le web. Pour la pratiquer de manière interactive (un éditeur de code intégré et un tuteur IA 24/7) et déverrouiller le reste du cours Terraform Infrastructure as Code, passe à CoddyKit PRO. Le cours Terraform Infrastructure as Code comprend 4 leçons au total.

Qu'est-ce que j'apprendrai dans « Politiques sous forme de code et contrôles de conformité » ?

Ajoutez une couche de garde-fou à votre stratégie de tests en recherchant les violations de sécurité et de conformité dans les plans Terraform avant leur mise en production. Tu pratiques Terraform Infrastructure as Code avec du code pratique que tu exécutes directement dans le navigateur, et un tuteur IA 24/7 répond à tes questions au fur et à mesure que tu avances dans la leçon.

Dois-je avoir de l'expérience pour commencer Terraform Infrastructure as Code ?

Aucune expérience préalable n'est requise. Terraform Infrastructure as Code sur CoddyKit est structuré pour les débutants jusqu'aux apprenants avancés, donc tu peux commencer ici ou depuis le début et avancer à ton rythme. Ceci est la leçon 4 sur 4.

Combien de temps prend la leçon « Politiques sous forme de code et contrôles de conformité » ?

La plupart des leçons CoddyKit prennent environ 5–10 minutes. Chacune est courte et interactive, tu progresses régulièrement et tu repiques exactement où tu t'es arrêté sur le web et l'app.

Peux-tu écrire et exécuter du code dans cette leçon Terraform Infrastructure as Code ?

Oui. Chaque leçon Terraform Infrastructure as Code inclut un éditeur de code intégré, tu écris et exécutes du vrai code directement dans ton navigateur et tu reçois des retours IA instantanés — aucune configuration locale requise.

Toutes les leçons de ce cours

  1. `validate` et `fmt` de Terraform
  2. Tests unitaires avec Terratest
  3. Tester l’intégration des ressources cloud
  4. Politiques sous forme de code et contrôles de conformité
← Retour à Terraform Infrastructure as Code