Article technique · Architecture & sécurité cloud · juin 2026 · références AWS officielles en notes
Chiffrement des données confiées à un éditeur tiers
Clés maîtrisées de bout en bout : boîtier cryptographique AWS CloudHSM dédié, Custom Key Store KMS et identifiants de clé par canal (eu-west-x)
Auteur David MabillotRégion eu-west-xCatégorie AWS KMS · CloudHSM · gouvernance des clés
Cette page reprend, sous forme anonymisée et pédagogique, une réflexion d’architecture autour de la maîtrise des clés de chiffrement lorsqu’un éditeur tiers traite des données sensibles dans son propre compte AWS.
L’enjeu n’est pas la solidité de l’algorithme — elle est identique partout — mais la garde du matériau de clé : qui le détient, et qui peut couper l’accès. Les noms d’organisations, de comptes et de partenaires ont été retirés ; seuls subsistent les mécanismes AWS et le raisonnement d’architecture, illustrés de schémas et appuyés sur la documentation officielle.
Objet & décision attendue
Un éditeur tiers exploite nos données dans son propre compte AWS (eu-west-x). Exigence : qu’il chiffre et déchiffre exclusivement avec des clés dont le matériau est généré et stocké, non extractible, dans un cluster CloudHSM dédié mono-locataire, déployé dans notre compte et contrôlé opérationnellement par notre organisation — avec révocation unilatérale et traçabilité opposable. Décision attendue : validation de l’architecture cible CloudHSM dédié + Custom Key Store KMS + alias ARN complet comme identifiant cible + KMS key et alias dédiés par canal de gouvernance + rôles/principaux autorisés + POC obligatoire par consommateur de clé.
§1
KMS managé ou boîtier dédié : la question décisive est la propriété du matériau
1.
Précision préalable, car l’argument circule encore : le niveau de certification ne distingue plus les deux offres. Les HSM mutualisés d’AWS KMS sont désormais validés FIPS 140-3 Security Level 3[1], au même niveau que les boîtiers CloudHSM[2]. Ce qui distingue réellement les offres, c’est la réponse à une question : qui détient le matériau de clé, et qui peut couper l’accès ? Avec KMS standard, le matériau vit dans des HSM multi-locataires opérés par AWS — protégé logiquement, mais hors de notre périmètre physique. Avec le Custom Key Store adossé à CloudHSM, le matériau est généré et stocké, non extractible, dans un cluster mono-locataire déployé dans notre compte et notre VPC — selon les termes mêmes d’AWS, un cluster « que vous possédez et gérez »[3] — tout en conservant l’API KMS standard, donc la compatibilité avec les applications et les services managés. C’est cette combinaison — interface managée, racine de confiance dédiée — qui fonde l’architecture proposée.
En clair
KMS standard revient à disposer d’un coffre privé dans la salle des coffres AWS : l’usage est strictement contrôlé, mais le bâtiment cryptographique reste mutualisé et opéré par AWS. Avec CloudHSM, nous disposons d’une chambre forte dédiée dans ce bâtiment : AWS héberge le service, mais la racine de confiance vit dans un cluster réservé à notre organisation. Le choix ne porte donc pas sur la solidité du chiffrement, mais sur la garde du matériau de clé.
KMS standard (customer managed key)
KMS + Custom Key Store (cible)
CloudHSM direct
Matériau de clé
HSM mutualisés opérés par AWS
Notre cluster dédié, non extractible
Notre cluster dédié
Certification HSM
FIPS 140-3 niv. 3
FIPS 140-3 niv. 3, mono-locataire
FIPS 140-3 niv. 3, mono-locataire
Interface
API KMS + services managés AWS
API KMS inchangée + services managés
PKCS#11, JCE, KSP
Révocation unilatérale
Key policy / désactivation
Idem + déconnexion physique du key store
Totale (utilisateurs CO/CU)
Limites clés
Matériau hors périmètre client
Symétrique uniquement, pas de rotation auto, quota 1 800 op/s
Pas d’intégration aux services managés
CloudHSM « direct » écarté
CloudHSM « direct » (sans KMS) est écarté : sans l’API KMS, l’éditeur ne pourrait utiliser ni S3 SSE-KMS, ni Glue, ni la plateforme analytique intégrée avec nos clés. Le Custom Key Store est le seul montage qui cumule propriété du matériau et intégration native.
§2
Le mécanisme commun : chiffrement par enveloppe
2.
Quel que soit l’emplacement de la clé maître, la mécanique est identique[4]. La clé maître (KMS key) ne sort jamais du HSM et ne chiffre jamais les données métier : elle ne chiffre que des clés. L’appel GenerateDataKey[5] produit une clé de données (AES-256) restituée simultanément sous deux formes : en clair (Plaintext), utilisée immédiatement pour chiffrer localement puis effacée de la mémoire ; et chiffrée par la clé maître (CiphertextBlob), conservée accolée aux données. La distinction de vocabulaire évite toute confusion en comité :
Image mentale
Les données métier sont enfermées avec une petite clé temporaire, puis cette petite clé est elle-même placée dans une enveloppe fermée par la clé maître. KMS n’ouvre et ne referme que cette enveloppe ; il ne manipule jamais le dossier métier lui-même. C’est pour cela que la révocation de la clé maître bloque les nouveaux déchiffrements sans que les données aient jamais transité par KMS.
Objet
Rôle
Données métier
Ce que la clé de données chiffre (fichiers, objets S3, tables) — ne transite jamais par KMS
Clé de données (data key)
La clé symétrique qui chiffre les données — éphémère en clair, jamais stockée telle quelle
CiphertextBlob
L’enveloppe scellée qui CONTIENT la clé de données, fermée par la clé maître — stockable sans risque avec les données
Figure 1 — Écriture : la clé maître reste dans le HSM, KMS ne voit jamais les données métier
3.
À la lecture, l’application renvoie le blob à kms:Decrypt. Propriété structurante : le blob est auto-descriptif — il embarque les métadonnées identifiant la clé maître qui l’a scellé, si bien que KMS route automatiquement l’opération vers la bonne clé sans que l’appelant la désigne[6]. Après contrôle des droits, le HSM déchiffre le blob, la clé de données redescend, le déchiffrement des données s’exécute localement. Deux conséquences décisives pour notre cas : KMS — et donc ni AWS KMS ni notre compte de gestion des clés — ne voit jamais les données métier de l’éditeur ; il ne manipule que les clés de données et leurs enveloppes ; et révoquer l’accès à la seule clé maître interdit instantanément tout nouveau déchiffrement des blobs — donc de tout le patrimoine chiffré, où qu’il soit stocké.
Figure 2 — Lecture : le blob remonte vers KMS, la clé de données redescend, tout le reste est local
§3
Architecture cible
Figure 3 — Architecture cible : le matériau de clé vit dans notre boîtier ; l’éditeur ne manipule que des CiphertextBlobs
Note de lecture du schéma. Le flux « Key ARN » côté composants intégrés doit être lu comme le cas de risque à qualifier lorsque le service l’impose ou le persiste, et non comme la cible générale. L’identifiant cible reste l’alias ARN complet dès lors qu’il est supporté comme référence stable et durable ; cet alias n’est toutefois pas une garantie de rotation à lui seul. Le comportement réel — réévaluation de l’alias, figement en key ARN, reconfiguration ou migration — doit être démontré par POC pour chaque consommateur de clé.
3.1 Un cluster dédié, dans notre compte, en eu-west-x — un choix contraint, pas un confort
4.
Le cluster CloudHSM (au minimum deux HSM actifs dans deux zones de disponibilité, exigence d’AWS pour créer des clés[7]) et le Custom Key Store sont déployés dans notre compte AWS, en eu-west-x, région où l’éditeur opère. La justification est une contrainte technique dure : si un appel applicatif peut viser l’endpoint KMS d’une autre région, les services AWS régionaux utilisés par l’éditeur — S3 SSE-KMS, Glue, Redshift — exigent une clé située dans leur région d’exécution ; les plateformes intégrées consommant KMS dans ce périmètre, notamment la plateforme analytique tierce dont l’usage a été indiqué a posteriori par l’éditeur, doivent être qualifiées dans cette même région. Et il n’existe pas de contournement par clé multi-région : les clés multi-région ne sont pas supportées en custom key store[8]. Le positionnement régional du boîtier est donc la seule option compatible avec l’intégration native KMS. À noter pour la conformité : le matériau résidera physiquement en région intra-UE — point à faire valider au regard des politiques internes de localisation des secrets.
Pourquoi deux AZ ?
Les deux zones de disponibilité sont deux sites techniques distincts au sein de la même région AWS. L’objectif n’est pas de rapprocher le boîtier d’un serveur particulier, mais d’éviter qu’une panne d’un seul site rende la clé inutilisable. Le choix eu-west-x répond, lui, à la contrainte régionale des services managés qui doivent utiliser une clé KMS située dans leur région d’exécution.
3.2 Modèle d’accès : identifiant cible, double autorisation et POC par consommateur
5.
L’éditeur accède aux clés du périmètre via un rôle IAM dédié créé dans son compte, autorisé selon le mécanisme inter-comptes à double détente[9] : la key policy de chaque clé concernée autorise l’ARN de ce rôle précis, et la policy IAM du rôle cible les ARN des clés concernées. Choix de doctrine assumé : l’identifiant cible proposé est l’alias ARN complet pour tout consommateur de clé configuré côté éditeur — application, service AWS managé, plateforme éditeur ou solution tierce intégrée — dès lors qu’il le supporte comme référence stable et durable. Ce choix répond à la contrainte exprimée par l’éditeur, qui indique ne pas supporter le changement d’ARN de clé après configuration. Le canal applicatif direct utilise donc exclusivement l’alias ARN complètement qualifié (arn:aws:kms:eu-west-x:<nous>:alias/donneur-data), jamais le nom d’alias nu[10]. Ce choix ne résout pas magiquement la contrainte de l’éditeur : il la place sous preuve de POC. Le POC doit vérifier si le composant réévalue l’alias ARN après repointage, le résout en key ARN figé, permet une reconfiguration ultérieure, ou impose une migration, une recréation de ressource ou une recopie native des données. Les cas S3 SSE-KMS inter-comptes[11], grants KMS des services AWS intégrés[12][13] et plateforme analytique tierce[17] sont donc des points de preuve prioritaires, non des hypothèses déjà acquises. Lorsqu’un composant impose ou persiste un key ARN non modifiable, l’intégration n’est retenue que si cette procédure de migration, recréation ou recopie native est validée par POC ; à défaut, l’exception doit être formellement acceptée et documentée. Les permissions runtime se limitent au chiffrement et au déchiffrement courant : GenerateDataKey, Encrypt, Decrypt, DescribeKey. CreateGrant est réservé aux canaux qui en ont besoin, sous condition kms:GrantIsForAWSResource: true ; ReEncrypt* relève uniquement du rôle de rotation/compromission. Les conditions sont différenciées par canal[14] : EncryptionContext sur le canal applicatif direct ; kms:ViaService, kms:CallerAccount et principaux documentés pour les composants intégrés. Le cloisonnement se fait au niveau des KMS keys — une KMS key et un alias dédiés par service, plateforme ou canal majeur lorsque révocation, audit, rotation ou responsabilité diffèrent — et non au niveau des data keys, qui restent éphémères par objet, lot ou fenêtre de cache contrôlée. Cette séparation rend viable le choix de l’alias par défaut : une rotation, une révocation ou une exception sur un consommateur ne doit pas affecter inutilement les autres.
Lecture simple
Le modèle d’accès se lit comme une serrure à deux portes : la key policy de notre clé décide quels rôles, services ou plateformes peuvent se présenter ; la policy IAM du rôle autorisé confirme qu’il peut appeler cette clé précise. L’alias ARN complet est l’adresse stable recherchée, car l’éditeur indique ne pas supporter le changement d’ARN après configuration. Mais certains consommateurs ne suivent pas toujours un alias vivant : ils peuvent le résoudre une fois, mémoriser le key ARN technique, exiger des grants, ou imposer une migration. La conséquence est simple : l’architecture ne présume pas le comportement ; elle le prouve par POC, et toute impossibilité devient une exception de gouvernance avec plan B explicite.
§4
Rotation et cycle de vie : transparente par canal, jamais par décret
6.
La rotation automatique du matériau n’est pas disponible pour les clés d’un custom key store[15]. La procédure retenue est la rotation manuelle documentée par AWS[16] : création d’une nouvelle clé (v2) dans le même key store, puis UpdateAlias — opération atomique — pour repointer l’alias. La transparence de cette rotation dépend du consommateur. Sur le canal applicatif direct, elle est totale en écriture : l’alias ARN est résolu à chaque appel, tout nouveau GenerateDataKey produit des enveloppes scellées par v2 sans qu’aucune configuration de l’éditeur ne change. Pour tout consommateur configuré côté éditeur — service AWS managé, plateforme éditeur ou solution tierce intégrée[17] —, la rotation ne peut être considérée comme maîtrisée qu’après POC dédié. Ce POC doit établir si l’alias ARN est réévalué après repointage, si le key ARN est modifiable après configuration, ou si une procédure de migration, de recréation ou de recopie native permet de basculer vers v2. Branche explicite à acter : si le POC sur la plateforme analytique tierce ou S3 échoue sur la réévaluation de l’alias et sur la modification du key ARN, la rotation par alias n’est pas disponible pour ce périmètre ; le plan B devient alors migration, recréation, recopie native validée par POC, ou exception de gouvernance formellement acceptée. En l’absence de POC concluant, aucun engagement ne doit être pris sur la fréquence de rotation ; l’usage d’un key ARN figé doit être traité comme une dépendance durable à une génération de clé.
En pratique
L’alias fonctionne comme un panneau indicateur. Pour une application ou un composant qui relit ce panneau à chaque appel KMS, déplacer le panneau de v1 vers v2 suffit pour que les nouvelles écritures utilisent v2. Pour un consommateur qui a enregistré l’adresse exacte de v1 dans sa configuration, déplacer le panneau ne suffit pas. Et si ce consommateur ne permet pas de modifier cette adresse, la rotation passe nécessairement par une migration, une recréation ou une recopie native validée par POC, tout en conservant v1 active tant qu’une donnée, un volume, un CiphertextBlob ou une configuration en dépend encore.
7.
En lecture, la continuité repose sur le caractère auto-descriptif du blob (§2) : un blob scellé par v1 route vers v1, indépendamment de l’alias. Trois conséquences de gouvernance à acter : (1) v1 reste active tant qu’un blob applicatif ou une dépendance de consommateur v1 existe — la désactiver ou la supprimer rendrait l’historique illisible ; (2) il n’y a aucun re-chiffrement automatique — les enveloppes applicatives ou dépendances de consommateurs v1 restent jusqu’à re-chiffrement explicite par canal : kms:ReEncrypt sur les blobs applicatifs, ou mécanisme natif du service, de la plateforme ou de la solution intégrée ; le runbook de compromission précise les deux chemins ; (3) les droits Decrypt de l’éditeur doivent couvrir explicitement les ARN des générations successives — une policy conditionnée au seul alias perdrait l’accès à v1 au moment du repointage.
Point clé
Un ancien objet ne devient pas illisible parce que l’alias pointe vers v2 : son enveloppe sait qu’elle a été fermée par v1. Le risque apparaît seulement si v1 est désactivée ou supprimée trop tôt. La rotation doit donc être vue comme une période de coexistence organisée entre plusieurs générations de clés, jusqu’à extinction complète des dépendances anciennes.
§5
Garanties obtenues, risques assumés, coûts
8. Garanties.
Le matériau de clé est généré par KMS et stocké, non extractible, dans notre cluster dédié mono-locataire ; il y est détenu par l’utilisateur cryptographique kmsuser, que KMS pilote[18] : nous ne manipulons jamais les bits du matériau, mais nous contrôlons le contenant — cluster, HSM, sauvegardes, connectivité — et la révocation opérationnelle. Celle-ci a trois étages : retrait du rôle des key policies concernées, désactivation de la ou des clés concernées, ou déconnexion du key store, qui coupe physiquement KMS du cluster — l’éditeur conserve alors ses cartons, il ne peut plus les ouvrir. La révocation coupe tout nouveau déchiffrement ; les données déjà déchiffrées et les clés de données encore en cache relèvent des TTL, purges mémoire et contrôles applicatifs imposés contractuellement (cf. n° 9). Chaque opération inter-comptes est journalisée dans CloudTrail[19], avec rôle appelant, horodatage et contexte, dans notre compte comme dans le sien.
Ce que cela signifie
Nous ne possédons pas une copie exportable des bits de la clé : le matériau reste non extractible dans le HSM. Notre pouvoir porte sur le contenant, les chemins d’accès et la capacité de couper ces chemins. C’est précisément le besoin de gouvernance : laisser l’éditeur travailler tant qu’il est autorisé, puis lui retirer la capacité de demander de nouveaux déchiffrements.
9. Risques assumés et supervision.
Le kill switch est aussi notre risque opérationnel : key store déconnecté ou cluster indisponible = tous les Decrypt de l’éditeur échouent[20] — d’où l’exigence des deux HSM multi-AZ[21] et un socle de supervision à constituer dès la mise en service : état de connexion (ConnectionState) du key store, HSM actifs et sauvegardes du cluster, alertes CloudTrail sur DisableKey, DisconnectCustomKeyStore, ScheduleKeyDeletion, PutKeyPolicy et CreateGrant, test périodique de restauration, procédure break-glass à deux personnes. Côté performance, les clés d’un même key store partagent un quota non ajustable de 1 800 opérations/s, le throttling étant imputé au compte appelant ; AWS recommande le cache de clés de données (Encryption SDK)[22] — autorisé sur arbitrage performance/confinement uniquement : le cache élargit le rayon d’impact d’une fuite de clé (cf. annexe B, S1), donc TTL, volume maximal et nombre maximal d’objets par data key sont documentés et imposés contractuellement, la règle par défaut restant « une data key par objet » pour les données les plus sensibles.
Point d’attention
Le kill switch protège en cas d’incident, mais une coupure involontaire aurait le même effet qu’un incident majeur côté éditeur : plus aucun nouveau déchiffrement ne réussirait. C’est pourquoi la supervision, les tests de restauration et la procédure break-glass ne sont pas des détails d’exploitation ; ils font partie de la mesure de sécurité elle-même. La règle « une data key par objet » limite par défaut le rayon d’impact ; le cache n’est acceptable que si sa durée et son périmètre sont strictement bornés.
10. Coûts.
Le cluster minimal (2 HSM facturés à l’heure[23]) représente un ordre de grandeur de 2 100 à 2 900 $/mois selon le type de HSM, plus le tarif standard KMS. Ce surcout n’achète pas « plus de chiffrement » — la cryptographie est identique — mais la propriété du contenant, la révocabilité unilatérale et l’opposabilité de l’audit. C’est une prime d’assurance de gouvernance, à arbitrer en regard du risque traité.
Lecture budgétaire
Le coût doit donc être lu comme une prime de maîtrise : on ne paie pas un algorithme plus fort, on paie la séparation opérationnelle de la racine de confiance et la possibilité de reprendre la main sans dépendre du compte de l’éditeur.
En synthèse
11. Le chiffrement par enveloppe découple deux questions : où s’exécute la cryptographie de masse (côté éditeur ou consommateur intégré, jamais dans KMS ni CloudHSM) et qui détient la racine de confiance (la clé maître, seule à ouvrir les enveloppes). L’architecture proposée — cluster CloudHSM dédié dans notre compte en eu-west-x, Custom Key Store KMS, KMS keys et alias gouvernés par canal — ne déplace que la seconde réponse : la sous-traitance devient révocable, cloisonnée, auditable. L’alias ARN complet est la cible d’intégration parce que l’éditeur indique ne pas supporter le changement d’ARN après configuration ; il n’est pas une baguette magique, car sa validité dépend du comportement réel de chaque consommateur. Le POC par consommateur, la conservation des anciennes générations de clés jusqu’à extinction des dépendances et le plan B en cas de key ARN figé sont donc des conditions de l’architecture. KMS standard, AWS garde la clé pour nous ; CloudHSM, nous gardons la clé chez AWS. La différence n’est pas le cadenas — c’est la garde de la clé.
Formule de décision. Data key par objet, lot ou fenêtre contrôlée ; KMS key par canal de gouvernance lorsque les responsabilités, l’audit, la révocation ou la rotation diffèrent. Cette règle résume l’équilibre recherché : le chiffrement de masse reste local et éphémère, tandis que la racine de confiance reste gouvernée par nous.
Annexe A
Matrice des autorisations par usage
12.
Chaque ligne fixe, pour un consommateur de clé donné, l’identifiant cible, les permissions KMS à accorder aux rôles/principaux autorisés, les conditions de key policy applicables, le comportement de rotation attendu et la branche de repli en cas de key ARN figé. Cette matrice — et non une policy générique — doit servir de référence d’implémentation, de revue sécurité et de cadrage des POC.
Usage
Identifiant de clé
Permissions KMS
Conditions (key policy)
Rotation
Application éditeur (SDK KMS) — chiffrement par enveloppe
kms:ViaService du service ; kms:GrantIsForAWSResource = true
POC par service/composant ; v1 active pour lecture ; migration ou recopie native si nécessaire ; sinon exception
Re-chiffrement / compromission (runbook)
Key ARN v1 + v2 explicites
ReEncrypt*, Decrypt, Encrypt
Rôle break-glass interne (deux personnes), hors périmètre éditeur
Campagne sur les blobs uniquement, jamais sur les données métier
Règle transverse
POC obligatoire par consommateur de clé — application, service AWS managé, plateforme éditeur ou solution tierce intégrée. Le POC vérifie si l’alias ARN est réévalué après repointage, si le key ARN est modifiable après configuration, ou si une procédure de migration, recréation ou recopie native permet une rotation maîtrisée. Un POC non concluant ne vaut pas validation tacite : il ouvre soit une branche de migration documentée et testée, soit une exception de gouvernance formellement acceptée. L’EncryptionContext n’est imposé que là où l’appelant le maîtrise ; les services et plateformes qui génèrent leur propre contexte sont encadrés par kms:ViaService, kms:CallerAccount et les principaux documentés. Toute policy IAM des rôles/principaux autorisés référence les key ARN des générations actives en plus de l’alias ARN, faute de quoi le repointage d’alias couperait la lecture de l’historique.
Annexe B
Runbook de compromission
13.
Principe directeur : l’architecture sépare trois objets de valeur très inégale — les données, leurs clés de données, et la clé maître. Identifier ce qui est réellement compromis détermine l’action, et l’erreur classique consiste à re-chiffrer les enveloppes quand c’est le contenu qui a fui. Le matériau de la clé maître étant non extractible du HSM, sa « compromission » ne peut être qu’une compromission d’usage (identifiants, rôle, policy) — jamais des bits eux-mêmes.
S1Fuite de données en clair ou d’une clé de données chez l’éditeur
Ce qui est compromisLe contenu des objets chiffrés sous cette data key — rayon par défaut : un objet (règle « une data key par objet ») ; si data key caching, l’ensemble des objets de la fenêtre de cache
Action cryptographiqueRe-chiffrer les DONNÉES concernées : nouveau GenerateDataKey + re-chiffrement applicatif des objets. Re-chiffrer l’enveloppe (ReEncrypt) est inutile ici : la clé qu’elle contient est déjà connue de l’attaquant
Actions complémentairesInvalider les copies, qualifier le périmètre via les EncryptionContext journalisés dans CloudTrail, notifier selon le contrat
S2Suspicion sur la clé maître (v1)
Ce qui est compromisL’usage de v1 (jamais son matériau, non extractible du HSM)
Action cryptographiqueCréer v2, repointer l’alias, puis re-chiffrement PAR CANAL — applicatif : campagne kms:ReEncrypt des CiphertextBlobs v1 vers v2 (dans le HSM, données métier intactes) ; consommateurs configurés côté éditeur : mécanisme natif validé par POC (recopie d’objets S3 sous v2, procédure plateforme analytique, migration ou recréation de ressource). Si le POC échoue, escalade en exception de gouvernance ou maintien contrôlé de v1. Désactiver v1 quand zéro dépendance v1 ne subsiste
Actions complémentairesInventaire des blobs côté éditeur (exigence contractuelle), suivi d’avancement, audit CloudTrail de la fenêtre suspecte
S3Compromission du rôle IAM de l’éditeur
Ce qui est compromisLe droit d’appeler Decrypt — donc un canal d’exfiltration actif
Action cryptographiqueKill switch étage 1 : retrait immédiat du rôle des key policies concernées (effet quasi instantané, réversible). Aucune action sur les clés tant que S1/S2 ne sont pas caractérisés
Actions complémentairesAnalyse CloudTrail des Decrypt de la période (volumes, contextes), rotation des credentials, ré-autorisation d’un rôle neuf
S4Exfiltration massive de blobs + données chiffrées
Ce qui est compromisRien, cryptographiquement : sans la clé maître, les blobs sont des coffres sans serrure
Action cryptographiqueAucune action d’urgence sur les clés. Si l’exfiltration accompagne S3 : kill switch étage 1, voire étage 3 (déconnexion du key store) le temps de l’analyse — en assumant l’arrêt de service
Actions complémentairesSurveillance volumétrique des Decrypt (CloudWatch), throttling, qualification de l’incident avant toute rotation
Exigences contractuelles dérivéesCôté éditeur : tenir l’inventaire blobs, objets, volumes, configurations et générations de clé ; disposer d’un job de re-chiffrement applicatif documenté et testé (S1), d’un job ReEncrypt de masse (S2) et, pour chaque consommateur de clé qui ne suit pas l’alias ARN, d’une procédure de migration, recréation ou recopie native validée par POC ; s’engager sur un délai d’exécution.
Côté donneur d’ordre : déclenchement par le rôle break-glass à deux personnes, décision S2 réversible tant que v1 n’est pas désactivée, et revue formelle de toute exception de gouvernance. Un exercice annuel sur jeu de données de test valide la chaîne complète.