Security
AWS Secrets Manager vs Azure Key Vault vs GCP Secret Manager : Analyse approfondie pour 2026
Choisir la bonne solution de gestion des secrets dans le cloud en 2026 relève de plus que de simples listes de vérification des fonctionnalités. Il s'agit des implications directes sur les coûts, de la surcharge opérationnelle, de la profondeur de l'intégration au sein d'un écosystème cloud spécifique et des postures de conformité. Cette analyse dépasse le marketing pour détailler AWS Secrets Manager (incluant Parameter Store pour des cas d'utilisation spécifiques), Azure Key Vault (couvrant les niveaux Standard, Premium et Managed HSM), et Google Secret Manager (avec interopérabilité Cloud KMS). Nous nous concentrons sur la différenciation technique et l'adéquation stratégique pour les cas d'utilisation en entreprise.
Capacités et paradigmes de conception fondamentaux
AWS Secrets Manager (ASM) privilégie l'automatisation et une large intégration. Sa fonction principale est de stocker, de récupérer et de faire pivoter les secrets. Les secrets peuvent être n'importe quoi, des identifiants de base de données aux clés d'API. L'ASM s'intègre directement avec RDS, Redshift et DocumentDB pour une rotation native. Alors que KMS chiffre les secrets au repos, l'ASM gère le cycle de vie. AWS Parameter Store, souvent négligé pour les secrets, peut stocker des secrets plus petits et moins sensibles (jusqu'à 10 Ko) à un coût inférieur, agissant comme un magasin de configuration hiérarchique avec un chiffrement KMS optionnel. La distinction est essentielle : Parameter Store est pour la configuration, Secrets Manager pour les identifiants.
Azure Key Vault (AKV) est un service unifié pour les secrets, les clés et les certificats. Cette consolidation réduit la surcharge de gestion pour les environnements riches en PKI ou nécessitant un stockage de clés basé sur du hardware. AKV propose des niveaux Standard (clés basées sur logiciel) et Premium (clés basées sur HSM validé FIPS 104-2 Niveau 2). Azure Managed HSM est un service HSM dédié, à locataire unique, validé FIPS 140-2 Niveau 3, offrant un niveau d'assurance plus élevé pour les opérations cryptographiques critiques, y compris les clés importables. Le choix architectural entre ces niveaux a un impact direct sur la posture de sécurité et le coût.
Google Secret Manager (GSM) est conçu pour la simplicité et l'accessibilité globale dès le départ. Les secrets sont des ressources globales, versionnées automatiquement et s'intègrent étroitement avec Cloud IAM. Le chiffrement principal de GSM est géré par Cloud KMS, supportant les customer-managed encryption keys (CMEK) et les customer-supplied encryption keys (CSEK). Il se distingue par un contrôle d'accès par secret et une forte emphase sur le versioning des secrets, ce qui est un aspect fondamental de son fonctionnement. Contrairement à AKV, GSM ne gère pas intrinsèquement les certificats mais se concentre purement sur le stockage des secrets et des clés.
Fonctionnalités de sécurité : HSM, chiffrement et Zero Trust
Les trois services offrent le chiffrement au repos et en transit (TLS 1.2/1.3). Le différenciateur est le support pour les opérations cryptographiques et la provenance des clés. AWS Secrets Manager repose sur AWS KMS, qui utilise des hardware security modules validés FIPS 140-2 Niveau 2. Les secrets dans ASM sont chiffrés à l'aide d'une clé de données dérivée d'une KMS customer master key (CMK). Explicitement, ASM n'offre pas directement une offre FIPS 140-2 Niveau 3 dans le plan de gestion des secrets, bien que KMS lui-même puisse être provisionné avec ce niveau d'assurance.
Azure Key Vault Premium utilise des HSM nCipher (maintenant Entrust) pour les clés, offrant une validation FIPS 140-2 Niveau 2. Azure Managed HSM, un service managé au sein d'AKV, fournit des Thales Luna Network HSMs dédiés offrant une validation FIPS 140-2 Niveau 3. C'est un avantage significatif pour les industries fortement réglementées nécessitant une isolation cryptographique forte et une preuve de la genèse des clés basée sur le hardware. Pour référence, une instance Managed HSM à locataire unique coûte environ 5000 $/mois plus les coûts de transaction.
Google Secret Manager utilise Cloud KMS pour toutes les opérations cryptographiques. Cloud KMS lui-même offre la validation FIPS 140-2 Niveau 1 pour les clés basées sur logiciel et FIPS 140-2 Niveau 2 pour les clés basées sur hardware, disponible via des configurations de key ring spécifiques. Les secrets GSM sont chiffrés avec un schéma de chiffrement d'enveloppe où une clé de chiffrement de données (DEK) chiffre le secret, et une clé de chiffrement de clé (KEK) de Cloud KMS chiffre la DEK. Pour les clients nécessitant FIPS 140-2 Niveau 3, l'option explicite n'est pas directement dans GSM mais s'appuie sur des offres séparées liées aux HSM dédiés ou aux systèmes de gestion de clés personnalisés intégrés à Google Cloud, ce qui ajoute de la complexité.
Granularité IAM et auditabilité
La gestion des identités et des accès (IAM) est critique. AWS Secrets Manager s'intègre aux politiques AWS IAM au niveau du secret. Vous pouvez définir des permissions granulaires (par exemple, secretsmanager:GetSecretValue, secretsmanager:RotateSecret) pour des entités principales ou des rôles spécifiques sur des secrets individuels via des policies basées sur les ressources ou sur l'identité. CloudTrail capture tous les appels d'API, fournissant une piste d'audit complète de l'accès et de la modification des secrets. Ce contrôle granulaire est un point fort pour AWS, permettant des implémentations Zero Trust très fines.
Azure Key Vault utilise Azure Role-Based Access Control (RBAC) au niveau du coffre et un modèle de politique d'accès hérité (bien que RBAC soit préféré). RBAC permet des attributions de rôles à diverses portées (groupe de gestion, abonnement, groupe de ressources, coffre individuel) avec des rôles prédéfinis (par exemple, Key Vault Reader, Key Vault Secrets Officer) ou des rôles personnalisés. Pour l'accès aux secrets individuels, RBAC peut être appliqué directement à un secret. Azure Monitor Logs (via les Diagnostic Settings) capture toutes les opérations du key vault, y compris l'accès aux secrets, supportant l'intégration avec Azure Sentinel pour le SIEM. Le passage à RBAC a simplifié la gestion IAM pour AKV.
Google Secret Manager utilise Cloud IAM de manière extensive. Les autorisations sont définies au niveau du projet, du dossier ou du secret individuel à l'aide de rôles primitifs (par exemple, roles/secretmanager.secretAccessor, roles/secretmanager.secretVersionManager) ou de rôles personnalisés. Cette capacité de versioning par secret, combinée à IAM, signifie un contrôle précis sur les principales entités pouvant accéder à une version spécifique d'un secret. Cloud Audit Logs (Admin Activity, Data Access) capture toutes les opérations de gestion des secrets, fournissant des journaux détaillés et immuables pour la conformité et la criminalistique. La capacité de condition IAM de Google permet une granularité encore plus fine basée sur des attributs comme la source IP ou l'heure de la journée.
Rotation des secrets et écosystème d'intégration
AWS Secrets Manager propose une rotation intégrée pour RDS, Redshift, DocumentDB et d'autres services via les fonctions Lambda. C'est sans doute sa fonctionnalité pratique la plus forte. Des rotations personnalisées pour d'autres services sont réalisables avec des fonctions Lambda Python. Pour Kubernetes, le fournisseur AWS Secrets & Configuration pour le pilote CSI permet de monter les secrets directement dans les pods. Les outils IaC comme Terraform prennent en charge ASM pour la création, la récupération et la configuration de la rotation des secrets. Les secrets dynamiques pour les bases de données nécessitant des identifiants différents par connexion sont couramment implémentés en tirant parti des Hooks de rotation d'ASM ou des fonctions Lambda personnalisées.
Azure Key Vault a des capacités de rotation pour les certificats mais pas de rotation automatique native pour les identifiants arbitraires. Pour les mots de passe de base de données, cela nécessite généralement des Azure Functions personnalisées ou une intégration avec les pipelines CI/CD pour mettre à jour les secrets périodiquement. AKV s'intègre au pilote CSI d'Azure Kubernetes Service (AKS) pour le montage des secrets. Terraform offre un support étendu pour la gestion des coffres, des clés et des secrets AKV. La génération de secrets dynamiques est moins explicite dans les capacités natives d'AKV ; elle est généralement gérée par l'application consommatrice ou un service de courtage d'identifiants externe.
Google Secret Manager supporte la définition d'un calendrier de rotation pour les secrets, ce qui déclenche un message Pub/Sub. Ce message peut alors invoquer une Cloud Function pour effectuer la mise à jour réelle des identifiants et la rotation de la version du secret. Cette conception est flexible mais nécessite du code personnalisé pour la plupart des backends. Pour Kubernetes, le pilote CSI de Google Secret Manager permet d'exposer les secrets en tant que fichiers dans les Pods. Terraform gère efficacement les secrets GSM, et son intégration avec Cloud KMS offre de solides options de contrôle des clés. Les secrets dynamiques sont possibles, mais encore une fois, ils dépendent des Cloud Functions déclenchées par des événements de rotation.
Comparaison des prix (prix catalogue approximatifs 2026)
Les modèles de tarification sont cruciaux et souvent complexes, impliquant le stockage par secret et par appel d'API. Ces chiffres sont illustratifs et sujets à des variations régionales et à des remises d'entreprise.
| Fonctionnalité | AWS Secrets Manager | Azure Key Vault (Premium) | GCP Secret Manager |
|---|---|---|---|
| Stockage par secret/mois (10k premiers) | 0,40 $ | 3,00 $ (clés, secrets, certificats) | 0,06 $ |
| Appels API par 10k opérations | 0,05 $ | 0,03 $ (secrets et clés) | 0,03 $ |
| Coût de rotation obligatoire | 0,05 $/secret/mois (si activé) | N/A (personnalisé nécessaire) | N/A (Pub/Sub + Cloud Function ajoute un coût) |
| Managed HSM (optionnel) | N/A directement | ~5000 $/mois pour une instance HSM dédiée + opérations | N/A directement |
| Exemple : 1000 secrets, 1M d'appels API/mois | 400 $ (stockage) + 500 $ (API) = 900 $ (+ jusqu'à 50 $ pour la rotation) | 3000 $ (stockage) + 300 $ (API) = 3300 $ | 60 $ (stockage) + 300 $ (API) = 360 $ |
| Exemple : 100 secrets, 100k appels API/mois | 40 $ (stockage) + 5 $ (API) = 45 $ | 300 $ (stockage) + 3 $ (API) = 303 $ | 6 $ (stockage) + 3 $ (API) = 9 $ |
Notez la différence frappante dans les coûts de stockage. Le niveau premium d'Azure Key Vault, bien qu'il offre une supériorité HSM, est significativement plus cher par secret stocké. GCP Secret Manager a clairement le coût de stockage le plus bas, ce qui le rend attrayant pour un grand nombre de secrets avec un trafic API modéré. AWS devient compétitif à des volumes élevés d'appels API en raison de son prix par appel relativement plus bas par rapport au stockage.
Considérations sur le Cross-Region et le Disaster Recovery
AWS Secrets Manager est un service régional. Pour le Disaster Recovery ou les déploiements multi-régions, les secrets doivent être répliqués à travers les régions. Vous pouvez automatiser cette réplication en utilisant des fonctions Lambda déclenchées par des CloudWatch Events sur les changements de secret, ou en définissant des secrets individuels dans chaque région. Cela nécessite une planification architecturale pour assurer la cohérence et prévenir les scénarios de split-brain lors du basculement.
Azure Key Vault est également un service régional. Bien que les secrets soient géo-répliqués au sein de la même région pour la durabilité, la réplication cross-region nécessite toujours un déploiement manuel ou scripté des coffres et des secrets dans plusieurs régions. Cela peut impliquer des templates Azure Resource Manager (ARM), Terraform ou des scripts Azure CLI pour garantir la synchronisation des secrets. Les Managed HSM sont déployés dans une région spécifique et n'offrent pas de réplication cross-region automatique globalement, nécessitant une configuration manuelle pour le DR.
Google Secret Manager considère les secrets comme des ressources globales. Lorsque vous créez un secret, il est accessible globalement, et ses versions sont stockées dans plusieurs régions Google Cloud. Cela simplifie considérablement le Disaster Recovery cross-region du point de vue de la gestion des secrets. Le data plane est globalement disponible et cohérent, ce qui élimine une grande partie de la charge de planification du DR pour l'accès aux secrets, bien que les politiques d'accès restent spécifiques à certaines régions dans certains cas.
Extraits de configuration et bonnes pratiques IaC
L'utilisation de l'Infrastructure as Code (IaC) est essentielle pour gérer les secrets. Voici un exemple Terraform pour créer un secret dans chaque plateforme :
# AWS Secrets Manager Secret
resource "aws_secretsmanager_secret" "db_credentials" {
name = "production/app/db_credentials"
description = "Database credentials for the main application."
recovery_window_in_days = 7
rotation_lambda_arn = aws_lambda_function.db_rotation_function.arn
rotation_rules {
automatically_after_days = 90
}
}
resource "aws_secretsmanager_secret_version" "db_credentials_version" {
secret_id = aws_secretsmanager_secret.db_credentials.id
secret_string = jsonencode({
username = "admin"
password = "super_secret_pw"
})
}
# Azure Key Vault Secret
resource "azurerm_key_vault" "main" {
name = "mykv-2026-prod"
location = "eastus"
resource_group_name = azurerm_resource_group.main.name
sku_name = "premium"
tenant_id = data.azurerm_client_config.current.tenant_id
enabled_for_disk_encryption = true
purge_protection_enabled = true
soft_delete_retention_days = 90
}
resource "azurerm_key_vault_secret" "db_password" {
name = "db-password"
value = "super_secret_pw_az"
key_vault_id = azurerm_key_vault.main.id
content_type = "application/text"
}
# GCP Secret Manager Secret
resource "google_secret_manager_secret" "api_key_prod" {
secret_id = "api-key-prod"
project = var.gcp_project_id
replication {
automatic = true
}
rotation {
rotation_period = "2592000s" # 30 days
}
}
resource "google_secret_manager_secret_version" "api_key_prod_version" {
secret = google_secret_manager_secret.api_key_prod.id
secret_data = "gcp_super_secret_key"
}
Il est crucial de chiffrer les valeurs sensibles comme secret_string ou value dans vos fichiers d'état IaC si vous n'utilisez pas un backend de secrets comme HashiCorp Vault. Dans cet exemple, super_secret_pw est codé en dur pour des raisons de concision, mais en pratique, il devrait être passé de manière sécurisée, par exemple via des variables d'environnement ou un outil de gestion de secrets séparé qui les injecte au moment du déploiement, ou en tirant parti du stockage de secrets du fournisseur cloud lui-même pour l'amorçage initial.
Verdict : scénarios de choix
Choisissez AWS Secrets Manager lorsque : Vous êtes fortement investi dans AWS, en particulier en utilisant RDS, Redshift ou DocumentDB, et que vous appréciez la rotation automatique native. La tarification s'adapte bien aux appels d'API une fois les coûts de stockage absorbés. Si vous avez besoin d'une solution complète et intégrée pour les identifiants et la configuration (avec Parameter Store), AWS offre un écosystème solide. Considérez cela pour les applications AWS cloud-native où l'automatisation basée sur Lambda est une stratégie clé.
Choisissez Azure Key Vault lorsque : Votre organisation a des exigences de conformité strictes (par exemple, FIPS 140-2 Niveau 3 avec Managed HSM), une empreinte PKI significative, ou a besoin d'un magasin unifié pour les clés, les secrets et les certificats. Les organisations centrées sur Azure qui utilisent intensivement Azure Active Directory (maintenant Entra ID) et les services Azure trouveront l'intégration d'AKV cohérente. AKV est le choix pour les scénarios hybrides où les clés peuvent provenir de HSM on-premises et être importées en toute sécurité dans Azure.
Choisissez Google Secret Manager lorsque : L'efficacité des coûts pour un grand nombre de secrets est primordiale, ou que vous privilégiez un système de gestion de secrets simple, distribué globalement et doté d'un versioning automatique. GSM est idéal pour les architectures de microservices sur GKE (Google Kubernetes Engine) et les fonctions serverless (Cloud Functions, Cloud Run) au sein de l'écosystème GCP. Son coût de stockage forfaitaire et bas le rend attrayant pour les secrets à fort volume et à faible accès.
En fin de compte, le meilleur choix s'aligne sur votre stratégie cloud existante, les exigences réglementaires, le modèle opérationnel et les contraintes budgétaires spécifiques. Évitez l'optimisation prématurée ; commencez par l'offre native de votre fournisseur cloud et n'augmentez les exigences qu'au besoin.
Lectures associées
Questions fréquentes
Puis-je utiliser ces gestionnaires de secrets pour la conformité HIPAA ou PCI-DSS ?+
Oui, les trois services sont conçus en tenant compte de la conformité et répondent généralement aux exigences techniques de HIPAA, PCI-DSS, SOC 2 et ISO 27001. Cependant, la conformité est une responsabilité partagée. Votre implémentation, les contrôles d'accès, la journalisation d'audit et la configuration globale de l'environnement ont un impact significatif sur votre posture de conformité. Azure Managed HSM, avec sa validation FIPS 140-2 Niveau 3, offre la plus haute assurance pour les clés cryptographiques, ce qui peut être essentiel pour les exigences réglementaires strictes.
Qu'en est-il de la génération de secrets dynamiques pour les bases de données comme le propose HashiCorp Vault ?+
Bien qu'aucun d'entre eux ne fournisse l'étendue et la profondeur des moteurs de secrets dynamiques comme HashiCorp Vault nativement, ils offrent des mécanismes pour obtenir des résultats similaires. AWS Secrets Manager dispose d'une rotation native pour RDS. Google Secret Manager et AWS peuvent utiliser des fonctions serverless (Cloud Functions/Lambda) déclenchées par des calendriers de rotation ou des événements pour se connecter aux bases de données, générer des identifiants temporaires à portée limitée et les stocker comme de nouvelles versions de secrets. Azure Key Vault nécessite généralement une Azure Function personnalisée ou un système externe.
Comment se compare la tarification pour de très grands volumes de secrets, par exemple 100 000 secrets ?+
Pour 100 000 secrets avec des appels d'API modérés (par exemple, 10 millions/mois) : GCP Secret Manager coûterait environ 6000 $ (stockage) + 3000 $ (API) = 9000 $. AWS Secrets Manager coûterait 40000 $ (stockage) + 5000 $ (API) = 45000 $. Azure Key Vault Premium coûterait 300000 $ (stockage) + 30000 $ (API) = 330000 $. Cela illustre clairement la supériorité de GCP en termes de coûts pour le volume pur de secrets, en supposant que le stockage est le facteur dominant. Les modèles de tarification sont échelonnés, il faut donc vérifier les tarifs exacts par palier.
Est-il possible de migrer des secrets entre ces fournisseurs de cloud ?+
Oui, mais pas nativement. La migration implique généralement l'exportation des secrets du gestionnaire source dans un format en clair ou chiffré (selon la configuration et les permissions), puis leur importation dans le gestionnaire de secrets cible. Cela nécessite généralement des scripts personnalisés, souvent en utilisant les SDK ou CLI des fournisseurs cloud respectifs, et une manipulation très attentive des secrets pendant le transit pour maintenir la sécurité. Des outils comme HashiCorp Boundary ou une automatisation personnalisée avec un chiffrement fort sont recommandés pour de telles opérations.
Quel service s'intègre le mieux avec Kubernetes ?+
Les trois proposent des pilotes CSI (Container Storage Interface) pour Kubernetes, permettant de monter les secrets sous forme de fichiers ou de les injecter comme variables d'environnement dans les pods. Le niveau d'intégration est comparable. Votre choix sera probablement déterminé par votre fournisseur cloud principal et les configurations IAM/KMS existantes. Par exemple, dans GKE, l'utilisation du pilote CSI de Google Secret Manager est simple étant donné la forte intégration IAM de Google entre les services.
Y a-t-il des limitations spécifiques pour les cas d'utilisation en entreprise dont je devrais être conscient ?+
AWS Secrets Manager a un quota par défaut de 5 000 secrets par compte et par région, bien que ce soit un quota souple et qu'il puisse être augmenté. Azure Key Vault a des limites de débit (par exemple, 2000 transactions/10 secondes pour les secrets du niveau Premium). Google Secret Manager a un quota par défaut de 300 qps pour les opérations du data plane. Ces quotas sont par région et généralement généreux, mais peuvent devenir un goulot d'étranglement pour des workloads extrêmement volumineux ou par rafales. Prévoyez des augmentations de quota potentielles et des modèles d'accès distribués.