AWS vs GCP vs Azure : hiérarchie de l'organisation, IAM et gestion des clés, cÎte à cÎte
Les trois mĂȘmes problĂšmes â organiser les comptes, contrĂŽler l'identitĂ©, gĂ©rer les clĂ©s â rĂ©solus de trois maniĂšres diffĂ©rentes. Une cartographie pratique de la gouvernance AWS, Google Cloud et Azure, ainsi que les certifications qui approfondissent chacun de ces aspects.
Si vous connaissez dĂ©jĂ le modĂšle de gouvernance d'un cloud, vous connaissez 80 % des deux autres â les concepts sont identiques et seul le vocabulaire change. Chaque cloud vous oblige Ă rĂ©pondre aux trois mĂȘmes questions avant de dĂ©ployer quoi que ce soit de rĂ©el : comment organiser mes comptes, qui est autorisĂ© Ă faire quoi, et comment mes clĂ©s de chiffrement sont-elles créées et contrĂŽlĂ©es ? Cet article met en parallĂšle AWS, Google Cloud et Azure, couche par couche, et souligne les quatre points oĂč l'analogie ne tient pas entiĂšrement.
Ces quatre couches â hiĂ©rarchie, garde-fous, identitĂ© et gestion des clĂ©s â constituent Ă©galement l'Ă©pine dorsale de chaque examen d'architecture et de sĂ©curitĂ© cloud. Ainsi, la mĂȘme lecture qui vous Ă©pargne une semaine de confusion inter-cloud reprĂ©sente la majeure partie du programme d'une certification. Les certifications pour approfondir chaque couche sont liĂ©es Ă la fin.
Les trois problÚmes que chaque cloud résout
Au-delà du marketing, toute discussion sur la gouvernance se résume à trois couches superposées :
- Structure â un ensemble de conteneurs imbriquĂ©s (organisation â regroupement â limite de charge de travail) vous permettant d'isoler les environnements, d'appliquer des garde-fous et de rĂ©partir les coĂ»ts.
- IdentitĂ© et permissions â quels principals peuvent effectuer quelles actions sur quelles ressources, ainsi que le plafond qui limite ce que toute attribution peut jamais accorder.
- Gestion des clĂ©s â oĂč rĂ©sident les clĂ©s cryptographiques, qui peut les utiliser, et qui peut les administrer â deux questions diffĂ©rentes que les gens confondent constamment.
La plupart des ingénieurs peuvent énumérer les éléments du cloud qu'ils connaissent le mieux. La difficulté réside dans la vue d'ensemble : les couches faciles à oublier et la façon dont chaque élément se traduit dans les deux autres clouds.
Couche 1 â la hiĂ©rarchie des ressources
Chaque cloud possĂšde un nĆud d'organisation de niveau supĂ©rieur, une couche de regroupement intermĂ©diaire facultative que vous imbriquez pour les dĂ©partements ou les environnements, et une limite de charge de travail qui sert Ă©galement d'unitĂ© de facturation et de rayon d'impact (blast radius). Les politiques dĂ©finies en haut se propagent vers le bas dans les trois clouds.
- Racine d'organisation â AWS : une Organization avec un management account. GCP : le nĆud d'organisation. Azure : le management group racine du tenant, soutenu par un tenant Microsoft Entra.
- Conteneur de regroupement (imbricable) â AWS : Organizational Unit (OU). GCP : folder. Azure : management group.
- Limite de charge de travail et de facturation â AWS : account. GCP : project. Azure : subscription.
- Regroupement de ressources Ă l'intĂ©rieur de la limite â AWS : aucun (tags, ou par account). GCP : aucun â le project est le conteneur. Azure : le resource group, qui est obligatoire ; chaque ressource rĂ©side dans un seul.
La premiĂšre divergence rĂ©elle se cache ici. Dans AWS, l'account est une cloison rigide â l'unitĂ© de blast radius par dĂ©faut â c'est pourquoi les grandes infrastructures AWS gĂšrent des dizaines, voire des centaines d'accounts. Dans GCP, le project remplit deux fonctions Ă la fois : il est Ă la fois l'unitĂ© de regroupement et l'unitĂ© de facturation/d'isolation, il n'y a donc pas de concept distinct de "resource group". Azure ajoute un quatriĂšme niveau que les autres n'ont pas â le resource group â qui se trouve sous la subscription en tant que conteneur de cycle de vie que vous dĂ©ployez et supprimez comme une seule unitĂ©.
Couche 2 â les garde-fous prĂ©ventifs (le plafond des permissions)
Avant d'accorder quoi que ce soit Ă qui que ce soit, chaque cloud vous permet de dĂ©finir une limite supĂ©rieure sur les permissions qui peuvent exister sous un nĆud â un plafond qu'aucune attribution individuelle ne peut percer. Ce n'est pas la mĂȘme chose qu'accorder un accĂšs ; c'est la couche "vous ne pouvez jamais, Ă l'Ă©chelle de l'organisation".
- Plafond sur ce que les principals peuvent faire â AWS : Service Control Policy (SCP). GCP : Organization Policy constraints plus IAM deny policies. Azure : Azure Policy.
- Plafond sur qui peut toucher une ressource â AWS : Resource Control Policy (RCP). GCP : IAM allow/deny policies sur la ressource. Azure : Azure Policy plus deny assignments.
- Appliquer la configuration du service â AWS : politiques dĂ©claratives. GCP : Organization Policy constraints. Azure : Azure Policy (deny / audit / deployIfNotExists).
AWS a divisĂ© cette tĂąche en deux. Les SCP sont centrĂ©es sur les principals ("nos collaborateurs ne peuvent pas faire X") et les RCP, plus rĂ©centes, sont centrĂ©es sur les ressources ("personne â pas mĂȘme un compte externe â ne peut toucher ce bucket S3, cette clĂ© KMS ou ce rĂŽle Ă moins d'appartenir Ă notre organisation"). UtilisĂ©es ensemble, elles comblent les lacunes qu'aucune ne couvre seule. Le piĂšge : dans AWS et GCP, une SCP ou une Org Policy n'accorde jamais rien â elle ne fait que soustraire. Azure est cĂąblĂ© diffĂ©remment, sĂ©parant clairement les RBAC (permissions) des Azure Policy (conformitĂ© et configuration), de sorte que la tĂąche de garde-fou appartient principalement Ă Azure Policy, tandis que "qui peut faire quoi" appartient entiĂšrement aux RBAC.
Couche 3 â identitĂ© et permissions
Chaque cloud exprime une attribution comme le mĂȘme triple â un principal, un rĂŽle (un ensemble de permissions) et une portĂ©e (scope) â mais assemble les Ă©lĂ©ments diffĂ©remment.
- Annuaire d'identitĂ©s â AWS : IAM plus IAM Identity Center (SSO). GCP : Cloud Identity / Google Workspace plus IAM. Azure : Microsoft Entra ID.
- Ensemble de permissions (le "rĂŽle") â AWS : une IAM policy, gĂ©rĂ©e ou inline. GCP : un IAM role â basic, prĂ©dĂ©fini ou personnalisĂ©. Azure : une RBAC role definition, intĂ©grĂ©e ou personnalisĂ©e.
- L'attribution elle-mĂȘme â AWS : une policy attachĂ©e Ă un user, group ou role. GCP : une IAM binding (member + role, Ă©ventuellement une condition) sur une ressource. Azure : un role assignment (principal + role + scope).
- Conditions et refus explicite â AWS : IAM condition keys et
Denyexplicite. GCP : IAM Conditions et deny policies. Azure : RBAC conditions et deny assignments.
La diffĂ©rence la plus profonde rĂ©side dans l'endroit oĂč rĂ©side l'attribution. Dans AWS, vous attachez principalement la policy Ă l'identitĂ© â un role ou un user â et la permission voyage avec eux. Dans GCP, la politique d'autorisation (allow policy) s'attache Ă la ressource : vous attribuez le principal P au rĂŽle R sur la ressource X, et elle est hĂ©ritĂ©e le long de la hiĂ©rarchie. L'attribution de rĂŽle (role assignment) d'Azure ressemble au binding de GCP mais s'ancre Ă une portĂ©e (scope) dans la chaĂźne management-group â subscription â resource-group â resource. IntĂ©grez "AWS = attachĂ©e Ă l'identitĂ©, GCP et Azure = attachĂ©e Ă la ressource/portĂ©e" et une grande partie de la confusion inter-cloud disparaĂźtra.
Couche 3b â identitĂ© des charges de travail (la partie que les gens oublient)
Les humains ne sont pas les seuls principals. Votre code a Ă©galement besoin d'une identitĂ©, et bien la configurer est le levier le plus important pour le moindre privilĂšge (least privilege). La rĂšgle d'or partout : ne jamais dĂ©ployer de clĂ©s statiques Ă longue durĂ©e de vie â attachez plutĂŽt une managed identity Ă la charge de travail.
- IdentitĂ© pour une charge de travail en cours d'exĂ©cution â AWS : un IAM role, assumĂ© via instance profile, task role ou OIDC. GCP : un service account attachĂ© Ă la ressource. Azure : une managed identity, system- ou user-assigned.
- Principal d'application / non-humain â AWS : IAM role. GCP : service account. Azure : service principal.
- Confiance sans clĂ© depuis l'extĂ©rieur du cloud â AWS : IAM roles avec OIDC/SAML federation. GCP : Workload Identity Federation. Azure : workload identity federation.
Attention Ă la confusion de terminologie qui Ă©gare tout le monde : un "IAM role" dans AWS est une identitĂ© de charge de travail que vous assumez, tandis qu'un "role" dans GCP et Azure est seulement un ensemble de permissions â l'identitĂ© est un service account ou une managed identity. MĂȘme mot, deux fonctions diffĂ©rentes. Les clĂ©s de service account GCP et les secrets de service principal Azure existent toujours, mais les deux clouds poussent dĂ©sormais fortement vers la fĂ©dĂ©ration sans clĂ© pour tout ce qui s'exĂ©cute en dehors de leur pĂ©rimĂštre.
Couche 4 â gestion des clĂ©s
Enfin, le chiffrement. Chaque cloud dispose d'un service de gestion de clĂ©s (managed key service), organise les clĂ©s dans une petite hiĂ©rarchie et â surtout â sĂ©pare l'utilisation d'une clĂ© (chiffrement/dĂ©chiffrement) de l'administration d'une clĂ© (rotation, dĂ©sactivation, dĂ©finition de politique).
- Service â AWS : KMS, plus CloudHSM pour le matĂ©riel dĂ©diĂ©. GCP : Cloud KMS, plus Cloud HSM / external. Azure : Key Vault, plus Managed HSM pour le matĂ©riel dĂ©diĂ©.
- Organisation des clĂ©s â AWS : KMS keys (CMKs), aliases, multi-Region keys. GCP : key ring â key â key version. Azure : vault â key / secret / certificate.
- ContrĂŽle d'accĂšs â AWS : key policy + grants + IAM (les trois se combinent). GCP : Cloud KMS IAM bindings au niveau du project, du key-ring ou de la key. Azure : RBAC par dĂ©faut, ou politiques d'accĂšs hĂ©ritĂ©es par vault ; Managed HSM utilise son propre RBAC local.
- SĂ©paration Utilisation vs. Administration â AWS : actions d'encrypt/decrypt vs. actions d'administration de clĂ© (key-admin actions). GCP :
cryptoKeyEncrypterDecryptervs.adminroles. Azure : rĂŽles de type "Crypto User" vs. "Crypto Officer".
Une particularitĂ© actuelle Ă connaĂźtre : pour les nouveaux Key Vaults sur les versions d'API rĂ©centes, Azure RBAC est dĂ©sormais le modĂšle d'accĂšs par dĂ©faut, et les anciennes politiques d'accĂšs par vault sont le chemin hĂ©ritĂ© â ce qui aligne enfin Key Vault avec la façon dont le reste d'Azure gĂšre les permissions. AWS reste l'exception : la key policy d'une clĂ© KMS fait autoritĂ© et peut accorder l'accĂšs indĂ©pendamment d'IAM, de sorte qu'un piĂšge classique d'AWS est de se bloquer l'accĂšs Ă une clĂ© en modifiant IAM tout en oubliant la key policy. Dans GCP, l'accĂšs KMS est un IAM ordinaire comme tout le reste.
OĂč le modĂšle mental Ă©choue
Une correspondance trop nette est dangereuse si vous la prenez trop au pied de la lettre. Les quatre points oĂč l'analogie ne tient pas :
- "IAM role" a deux significations différentes. Dans AWS, c'est une identité assumable ; dans GCP et Azure, un "role" n'est qu'un ensemble de permissions, l'identité étant séparée. Ne jamais le traduire mot à mot.
- AWS attache les permissions aux identitĂ©s ; GCP et Azure les attachent aux ressources et aux portĂ©es (scopes). Votre instinct "oĂč dois-je regarder pour auditer l'accĂšs ?" doit s'inverser lorsque vous changez de cloud.
- Account, project et subscription n'ont pas le mĂȘme rayon d'impact (blast radius). Un account AWS est une cloison solide ; un project GCP est Ă la fois une cloison, une facture et un regroupement ; une subscription Azure est principalement une limite de facturation et d'Ă©chelle, le resource group gĂ©rant le cycle de vie quotidien.
- Les garde-fous soustraient, les attributions ajoutent â sauf qu'Azure sĂ©pare les tĂąches. Les SCP et les Org Policies ne font que limiter les permissions ; Azure limite via Policy et attribue via RBAC comme deux systĂšmes distincts.
Le principe sous-jacent aux trois est le mĂȘme : le moindre privilĂšge (least privilege), appliquĂ© par la structure. Placez les garde-fous en haut (org, OU, folder, management group), accordez des permissions restreintes et prĂ©fĂ©rez les rĂŽles aux clĂ©s statiques, et sĂ©parez "peut utiliser une clĂ©" de "peut administrer une clĂ©". Les noms changent d'un cloud Ă l'autre ; la discipline, elle, ne change pas.
Leçons pratiques
- Concevez la hiérarchie avant la premiÚre charge de travail. Rétrograder des accounts, projects ou subscriptions plus tard est douloureux dans tous les clouds.
- Définissez des plafonds élevés, accordez des permissions limitées. SCP/RCP, Org Policy ou Azure Policy en haut ; rÎles spécifiques à la portée la plus étroite possible.
- Par dĂ©faut, utilisez les managed identities. IAM roles sur AWS, service accounts sur GCP, managed identities sur Azure â et la fĂ©dĂ©ration sans clĂ© pour tout ce qui traverse une limite de cloud.
- Considérez l'administration des clés comme privilégiée. Séparez l'encrypt/decrypt de la rotation/désactivation/définition de politique, et sur AWS, vérifiez toujours la key policy, pas seulement IAM.
- Si vous utilisez Terraform ou OpenTofu, ces primitives sont exactement ce que vous allez codifier â
aws_organizations_*,google_folder,azurerm_management_group, et les ressources IAM/RBAC et KMS qui en dépendent.
Approfondissez chaque couche, par cloud
Les certifications d'architecture et de sécurité de chaque cloud sont entiÚrement basées sur la hiérarchie des ressources, IAM/RBAC et la gestion des clés. Si vous souhaitez les pratiquer avec de vraies questions d'examen, CertLabPro propose un parcours pour chacune :
- AWS â AWS Certified Solutions Architect â Associate (SAA-C03) pour la hiĂ©rarchie et IAM, et Security Specialty (SCS-C03) pour les SCP, RCP et KMS. Nouveau sur AWS ? Commencez avec Cloud Practitioner (CLF-C02).
- Google Cloud â Professional Cloud Architect pour l'organisation, les folders, les projects et IAM, et Professional Cloud Security Engineer pour les IAM deny policies, Org Policy et Cloud KMS.
- Azure â Solutions Architect Expert (AZ-305) pour les management groups et la gouvernance, et Security Engineer (AZ-500) pour RBAC, Azure Policy et Key Vault. Nouveau sur Azure ? Commencez avec Azure Fundamentals (AZ-900).
En résumé
AWS, Google Cloud et Azure ne sont pas aussi diffĂ©rents que leurs documentations le suggĂšrent. Chacun vous offre une hiĂ©rarchie pour organiser les comptes, un modĂšle d'identitĂ© basĂ© sur le principal-rĂŽle-portĂ©e (scope), une couche de garde-fou qui plafonne les permissions pouvant exister, et un service de clĂ©s qui sĂ©pare l'utilisation des clĂ©s de leur administration. Apprenez les quatre couches une fois pour toutes et la traduction inter-cloud est principalement une question de vocabulaire â et apprenez les quatre points oĂč l'analogie ne tient pas, et vous Ă©viterez les erreurs que ce vocabulaire dissimule. Ces fondamentaux sont exactement ce sur quoi les banques de questions de CertLabPro sont conçues pour s'exercer, Ă travers les trois clouds.