Leçon 7 — Mise en œuvre de la note

Phase 2 : figer la sécurité en Terraform

4 min de lecture

Pour qui : DevOps / plateforme (exécution), sécurité (revue), développeurs d'agents (fiche 08), PM (suivi). Durée : semaines 2 et 3. Prérequis : la phase 1 est faite (ou pas : Terraform sait aussi tout créer de zéro).

Débutant en Terraform ? Lire d'abord terraform/docs/00-bases-terraform.md (30 minutes). Chaque fichier .tf a sa fiche ligne par ligne dans terraform/docs/.


Pourquoi cette phase

Ce qui a été activé à la main en phase 1 protège déjà. Mais un réglage manuel :

Problème du réglage manuelCe que Terraform apporte
Un clic non tracé peut désactiver un filtreTout changement = une PR relue, validée par la sécurité
Impossible de prouver l'état exact à une dateL'historique Git est la preuve
À refaire à la main pour chaque domaine (mesure 8)Même code, un fichier tfvars par domaine
Les dérives passent inaperçuesterraform plan montre toute différence avec le code

Après cette phase, la règle est simple : plus aucune modification de sécurité en console. L'alerte « garde-fou modifié » signale toute exception.


Le parcours, fiche par fiche

#FichePour quiContenu
01Préparer et importer la consoleDevOpsÉtat distant, terraform.tfvars, adopter ce que la phase 1 a créé (import), lire un plan
02Palier A : projetDevOps + sécuritéSocle 06, audit élargi, plancher Agent Platform (inspect → block), Agent Registry, alerte Shadow AI
03Palier B : SOCDevOps + SOCExport Pub/Sub vers le SIEM
04Palier C : organisationDevOps + Cloud centralPolitiques d'org, VPC-SC (dry-run → appliqué), niveau d'accès, Access Approval
05Palier D : réseauDevOps + réseauSecure Web Proxy, liste blanche ; Agent Gateway
06CI/CD et revueDevOps + sécuritéCircuit PR → plan → validation → apply, CODEOWNERS, pipeline GitHub, contrôle de conformité
07Mesure par mesureTousLes 10 mesures : ce que la note demande, le code qui y répond, la preuve
08Développeurs d'agentsDéveloppeursLe modèle d'agent sécurisé, règles, essai local, déploiement

Les quatre paliers en un coup d'œil

Chaque palier = une PR, testée (phase 3) avant le suivant.

PalierContenuPrérequisVariables (terraform.tfvars)
A · ProjetSocle 06 ; audit aiplatform + agentregistry ; plancher Agent Platform ; droits Agent Registry ; alerte Shadow AIDroits sur le projetarmor_agent_platform_mode, agent_developer_groups
B · SOCExport Pub/Sub vers le SIEM (même filtre que le bucket sécurité)Identité du connecteur SIEMenable_siem_export, siem_subscriber
C · OrganisationPolitiques d'org ; VPC-SC + niveau d'accès ; Access ApprovalRôles org ; Access Transparency ; ID client Workspaceenforce_org_policies, workspace_customer_id, vpc_sc_access_policy, vpc_sc_enforce, corporate_ip_ranges, access_approval_emails
D · RéseauSecure Web Proxy, liste blanche de domainesVPC, sous-réseaux, liste validéeswp

Ce qui change par rapport au socle 06

FichierAjoutMesureFiche débutant
00_foundation.tfAPI aiplatform, agentregistry, cloudasset ; pubsub, accessapproval, réseau selon options—03-foundation
30_ai_guardrails.tfPlancher étendu : integrated_services = ["AI_PLATFORM"], mode inspect ou block§1 §314 §2
60_advanced.tfaiplatform et agentregistry dans le périmètre ; niveau d'accès IP ; bascule vpc_sc_enforce§714 §3
70_detection.tfJournaux d'accès aux données pour aiplatform et agentregistry§410-detection
75_shadow_ai.tf (nouveau)3 politiques d'organisation ; alerte service public / agent créé hors circuit§214 §4
85_siem_access.tf (nouveau)Topic + abonnement Pub/Sub, sink, droit du writer ; Access Approval§414 §5
90_agents_registry.tf (nouveau)Droits du registre ; agent exemple sur Agent Runtime, identité dédiée, sortie Agent Gateway§1 §9 §1014 §6
95_secure_web_proxy.tf (nouveau)Proxy, politique, liste blanche, sous-réseau dédié§514 §7
imports.tf.example (nouveau)Blocs import pour adopter les ressources créées en console—14 §8

Les commandes que vous taperez

cd terraform
terraform init                          # une fois (ou après changement de version / backend)
terraform fmt -check && terraform validate
terraform plan -out=tfplan              # LIRE le plan
terraform apply tfplan                  # en recette ; en production : seulement la CI
terraform output                        # templates, buckets, abonnement SIEM, agent…
cd .. && PROJECT_ID=... APP_ID=... ./scripts/verify_controls.sh

Fin de la phase 2 : paliers A et B (au minimum) appliqués par la CI, plan sans écart, verify_controls.sh au vert. On passe à la phase 3.

Suivant