🏗️ Resource Manager et Organisation GCP : La Hiérarchie de Gouvernance

Contrairement à AWS qui package sa gouvernance dans un service unique (Control Tower), GCP répartit ces responsabilités entre plusieurs briques natives : Resource Manager (hiérarchie), Organization Policy Service (garde-fous) et des modules Terraform (landing zone). Il n’existe pas de produit “clé en main” équivalent — la landing zone se construit via Infrastructure as Code (Cloud Foundation Toolkit / terraform-example-foundation).

🏗️ 1. La hiérarchie des ressources (Resource Manager)

C’est le squelette sur lequel tout repose :

  • Organization : La racine, liĂ©e Ă  ton domaine Google Workspace / Cloud Identity. Équivalent du Management Account AWS — jamais limitĂ©e par ses propres Organization Policies au niveau supĂ©rieur.
  • Folders : Conteneurs hiĂ©rarchiques (imbricables, contrairement aux OU AWS qui sont un seul niveau logique) permettant de regrouper les projets par environnement (Prod, Dev) ou par fonction (Security, Network). Les policies appliquĂ©es Ă  un Folder sont hĂ©ritĂ©es par tous les projets et sous-folders qu’il contient.
  • Projects : L’unitĂ© de base GCP. Chaque ressource (VM, bucket, cluster GKE) appartient Ă  un seul projet, qui porte son propre ID unique, sa facturation et ses APIs activĂ©es. Équivalent d’un compte membre AWS, mais bien plus lĂ©ger Ă  crĂ©er (pas de compte email sĂ©parĂ©).

🏭 2. Project Factory (l’usine à projets)

L’équivalent de l’Account Factory de Control Tower n’est pas un service managé mais un module Terraform (terraform-google-project-factory, partie du Cloud Foundation Toolkit) :

  • Automatisation : CrĂ©e un projet standardisĂ© avec APIs activĂ©es, IAM bindings, rattachement au Shared VPC, budget et labels — en une seule apply, au lieu de configurer chaque projet Ă  la main.
  • Standardisation : Chaque projet “vendu” (vended project) sort avec les mĂŞmes garde-fous (logging activĂ©, Organization Policies hĂ©ritĂ©es, quotas par dĂ©faut).

🛡️ 3. Les garde-fous : Organization Policy Service

Équivalent des SCP AWS — des contraintes (constraints) appliquées à un nœud de la hiérarchie et héritées vers le bas.

CatégorieAWSGCPExemple
PréventifSCP (Service Control Policy)Organization Policy constraintsconstraints/compute.vmExternalIpAccess — interdire les IP publiques sur les VM
DétectifAWS Config rulesSecurity Command Center (Security Health Analytics)Détecter un bucket Cloud Storage public
ProactifCloudFormation HooksPolicy Controller (Config Sync + OPA/Gatekeeper) ou terraform validate avec Policy as CodeBloquer un terraform apply qui violerait une contrainte avant déploiement
  • PrioritĂ© du DENY : comme sur AWS, une contrainte de refus l’emporte toujours sur une autorisation Ă  un niveau infĂ©rieur de la hiĂ©rarchie.
  • IAM Deny policies : GCP a ajoutĂ© une couche de refus explicite indĂ©pendante des rĂ´les IAM (equivalent conceptuel aux permission boundaries / SCP cĂ´tĂ© identitĂ© plutĂ´t que ressource).

📊 4. Le tableau de bord centralisé : Security Command Center

SCC agrège, au niveau Organization, les findings de sécurité et de conformité de tous les projets — c’est l’équivalent du dashboard Control Tower + AWS Config Aggregator combinés :

  • Vue unique de la posture de sĂ©curitĂ© (misconfigurations, vulnĂ©rabilitĂ©s, menaces actives)
  • Policy Intelligence (Policy Analyzer, Policy Simulator) pour visualiser qui a accès Ă  quoi avant de changer une policy

💡 Aide-mémoire Obsidian

  • Pas de “drift” au sens Control Tower : GCP n’a pas de service wrapper Ă  dĂ©synchroniser — les Organization Policies et IAM bindings sont la source de vĂ©ritĂ© elle-mĂŞme, pas une couche gĂ©rĂ©e par-dessus. Le risque Ă©quivalent est un changement manuel hors Terraform (drift IaC classique).
  • Landing Zone as Code : privilĂ©gier terraform-example-foundation (Google) dès le dĂ©part plutĂ´t que de construire l’arborescence Organization/Folders/Projects Ă  la main.
  • Un projet = un blast radius : contrairement Ă  AWS oĂą tout peut vivre dans un compte, la discipline GCP pousse naturellement Ă  multiplier les projets (facturation et IAM isolĂ©s par dĂ©faut).
  • Billing Account sĂ©parĂ© : un Billing Account n’est pas un nĹ“ud de la hiĂ©rarchie Organization — il est liĂ© Ă  des projets, ce qui permet de centraliser la facturation indĂ©pendamment de la structure Folders.

En relation avec