AWS Key Management Service
Manuel du développeur

Rotation des clés principales client

Les bonnes pratiques de chiffrement décourage la réutilisation étendue des clés de chiffrement. Pour créer de nouveaux éléments de chiffrement pour vos clés principales client (clés CMK) AWS Key Management Service (AWS KMS), vous pouvez créer de nouvelles clés CMK, puis modifier vos applications ou alias pour utiliser les nouvelles clés CMK. Ou vous pouvez activer la rotation automatique des clés pour une clé CMK existante.

Lorsque vous activez la rotation automatique des clés pour une clé CMK gérée par le client, AWS KMS génère de nouveaux éléments de chiffrement pour la clé CMK chaque année. AWS KMS enregistre également les éléments de chiffrement plus anciens de la clé CMK afin qu'ils puissent être utilisés pour déchiffrer les données chiffrées.

La rotation des clés change uniquement la clé de stockage CMK, qui correspond aux éléments de chiffrement utilisés dans les opérations de chiffrement. La clé CMK est la même ressource logique, indépendamment du fait que sa clé de stockage change ou du nombre de fois où elle change. Les propriétés de la clé CMK ne changent pas, comme illustré dans l'image suivante.

La rotation automatique des clés offre les avantages suivants :

  • Les propriétés de la clé CMK, y compris son ID de clé, son ARN de clé, sa région, ses stratégies et ses autorisations, ne changent pas lorsque la clé est l'objet d'une rotation.

  • Vous n'avez pas besoin de modifier les applications ou les alias qui font référence à l'ID ou à l'ARN de la clé CMK.

  • Une fois que vous avez activé la rotation des clés, AWS KMS soumet la clé CMK à une rotation automatique chaque année. Vous n'avez pas besoin de vous souvenir de la mise à jour ou de la planifier.

Toutefois, la rotation automatique des clés n'a aucun effet sur les données protégées par la clé CMK. La rotation n'est pas appliquée aux clés de données générées par la clé CMK, les données protégées par la clé CMK ne sont pas rechiffrées et l'effet d'une clé de données compromise n'est pas d'atténué.

Vous pouvez décider de créer une nouvelle clé CMK et de l'utiliser à la place de la clé CMK d'origine. L'effet est le même que celui obtenu par la rotation des éléments de clé dans une clé CMK existante. Ainsi, on parle souvent à ce sujet de rotation manuelle de la clé. La rotation manuelle est un bon choix lorsque vous souhaitez contrôler la planification de la rotation des clés. Elle fournit également un moyen d'effectuer une rotation des clés CMK avec les éléments de clé importés.

Plus d'informations sur la rotation des clés

La rotation des clés CMK gérées par le client peut entraîner des frais mensuels supplémentaires. Pour plus d'informations, consultez Tarification AWS Key Management Service. Pour plus d'informations sur les clés de stockage et la rotation, consultez le livre blanc KMS Cryptographic Details.

Comment fonctionne la rotation automatique des clés

La rotation des clés dans AWS KMS est une bonne pratique de chiffrement qui est conçue pour être transparente et facile à utiliser.

  • Gestion des clés de stockage. AWS KMS conserve toutes les clés de stockage d'une clé CMK, même si la rotation des clés est désactivée. Les clés de stockage sont supprimées uniquement lorsque la clé CMK est supprimée. Lorsque vous utilisez une clé CMK pour chiffrer, AWS KMS utilise la clé de stockage actuelle. Lorsque vous utilisez la clé CMK pour déchiffrer, AWS KMS utilise la clé de stockage qui a été utilisée pour le chiffrement.

     

  • Activation et désactivation de la rotation des clés. La rotation automatique des clés est désactivée par défaut sur les clés CMK gérées par le client. Lorsque vous activez (ou réactivez) la rotation des clés, AWS KMS soumet la clé CMK à une rotation automatique 365 jours après la date d'activation, puis tous les 365 jours par la suite.

     

  • Clés CMK désactivées. Lorsqu'une clé CMK est désactivée, AWS KMS ne la soumet pas à une rotation. Toutefois, l'état de rotation de la clé sous-jacente ne change pas et vous ne pouvez pas le modifier tant que la clé CMK est désactivée. Lorsque la clé CMK est réactivée, si la clé de stockage a plus de 365 jours, AWS KMS la soumet immédiatement à une rotation, puis tous les 365 jours par la suite. Si la clé de stockage a moins de 365 jours, AWS KMS reprend la planification initiale de la rotation de la clé.

     

  • Clés CMK en attente de suppression. Tant qu'une clé CMK est en attente de suppression, AWS KMS ne la soumet pas à une rotation. L'état de rotation de la clé est défini sur false et vous ne pouvez pas le modifier tant que la suppression est en attente. Si la suppression est annulée, l'état précédent de rotation de la clé est restauré. Si la clé de stockage a plus de 365 jours, AWS KMS la soumet immédiatement à une rotation, puis tous les 365 jours par la suite. Si la clé de stockage a moins de 365 jours, AWS KMS reprend la planification initiale de la rotation de la clé.

     

  • Clés CMK dans un magasin de clés personnalisé La rotation automatique des clés n'est pas disponible pour les clés CMK dans les magasins de clés personnalisés (la valeur du champ Origin est AWS_CloudHSM), mais vous pouvez effectuer une rotation de ces clés CMK manuellement.

     

  • Clés CMK importées La rotation automatique des clés n'est pas disponible pour les clés CMK qui ont des éléments de clés importés (la valeur du champ Origine est Externe), mais vous pouvez effectuer une rotation de ces clés CMK manuellement.

     

  • Clés CMK gérées par AWS. Vous ne pouvez pas gérer la rotation des clés pour les clés CMK gérées par AWS. AWS KMS soumet les clés gérées par AWS à une rotation automatique tous les trois ans (1 095 jours).

     

  • Journalisation de la rotation des clés. Quand AWS KMS fait tourner une clé CMK, il écrit l'événement Rotation de clé CMK dans KMS dans Amazon CloudWatch Events. Vous pouvez utiliser cet événement pour vérifier que la clé CMK a fait l'objet d'une rotation.

Activation et désactivation de la rotation automatique des clés

Vous pouvez utiliser la console AWS KMS ou l'API AWS KMS pour activer et désactiver la rotation automatique des clés et afficher l'état de rotation de n'importe quelle clé CMK gérée par le client.

Lorsque vous activez la rotation automatique des clés, AWS KMS soumet la clé CMK à une rotation 365 jours après la date d'activation, puis tous les 365 jours par la suite.

Activation et désactivation de la rotation des clés (Console)

Note

AWS KMS a inauguré dernièrement une nouvelle console qui facilite l'organisation et la gestion de vos ressources KMS. Elle est disponible dans toutes les régions AWS prises en charge par AWS KMS, à l'exception de la région AWS GovCloud (US). Nous vous encourageons à essayer la nouvelle console AWS KMS à l'adresse https://console.aws.amazon.com/kms.

La console d'origine restera disponible pendant une brève période pour vous donner le temps de vous familiariser avec la nouvelle. Pour utiliser la console d'origine, choisissez Clés de chiffrement dans la console IAM ou accédez à https://console.aws.amazon.com/iam/home?#/encryptionKeys. N'hésitez pas à nous faire part de vos commentaires en choisissant Commentaire dans la console ou dans l'angle inférieur droit de cette page.

Activation et désactivation de la rotation des clés (nouvelle console)
  1. Connectez-vous à la AWS Management Console et ouvrez la console AWS Key Management Service (AWS KMS) à l'adresse https://console.aws.amazon.com/kms.

  2. Pour changer de région AWS, utilisez le sélecteur de région dans l’angle supérieur droit de la page.

  3. Dans le volet de navigation, choisissez Customer managed keys (Clés gérées par le client). (Vous ne pouvez pas activer ou désactiver la rotation des clés gérées par AWS. Elles sont automatiquement soumises à rotation tous les trois ans.)

  4. Choisissez l'alias ou l'ID d'une clé CMK.

  5. Sous Configuration générale, choisissez l'onglet Rotation de clé.

    Si la clé CMK a été créée sans éléments de clé (son Origine est Externe), il n'y a pas d'onglet Rotation de clé. Vous ne pouvez pas effectuer une rotation de ces clés CMK automatiquement, mais vous pouvez les soumettre à rotation manuellement.

  6. Activez ou désactivez la case Effectuer une rotation automatique de cette clé CMK chaque année.

    Note

    Si une clé CMK est désactivée ou en attente de suppression, la case Effectuer une rotation automatique de cette clé CMK chaque année est décochée et vous ne pouvez pas la modifier. L'état de rotation des clés est restauré lorsque vous réactivez la clé CMK ou annulez la suppression. Pour plus d'informations, consultez Comment fonctionne la rotation automatique des clés et Comment l'état de clé affecte l'utilisation d'une clé principale client.

  7. Choisissez Save.

Activation et désactivation de la rotation des clés (console d'origine)
  1. Connectez-vous à AWS Management Console et accédez à https://console.aws.amazon.com/iam/home?#/encryptionKeys.

  2. Pour Région, choisissez la région AWS appropriée. N'utilisez pas le sélecteur de région de la barre de navigation (en haut à droite).

  3. Choisissez l'alias de la clé CMK dont vous voulez consulter les détails.

    Note

    Vous ne pouvez pas modifier les clés CMK gérées par AWS marquées par l'icône orange AWS.

  4. Utilisez les contrôles de la section Key Rotation de la page.

    Note

    Si une clé CMK est désactivée ou en attente de suppression, la case Rotation des clés d'accès est décochée et vous ne pouvez pas la modifier. Cela vous rappelle que AWS KMS ne soumet pas les clés CMK à une rotation lorsqu'elles sont désactivées ou en attente de suppression. L'état de rotation des clés est restauré lorsque vous réactivez la clé CMK ou annulez la suppression. Pour plus d'informations, consultez Comment fonctionne la rotation automatique des clés et Comment l'état de clé affecte l'utilisation d'une clé principale client.

Activation et désactivation de la rotation des clés (KMS API)

Vous pouvez utiliser l'API AWS Key Management Service (AWS KMS) pour activer et désactiver la rotation automatique des clés et afficher le statut de rotation actuel de n'importe quelle clé CMK gérée par le client. Ces exemples utilisent l'AWS Command Line Interface (AWS CLI), mais vous pouvez utiliser n'importe quel langage de programmation pris en charge.

L'opération EnableKeyRotation permet la rotation automatique des clés pour la clé CMK spécifiée. L'opération DisableKeyRotation la désactive. Pour identifier la clé CMK, utilisez son ID de clé, son ARN de clé, son nom d'alias ou son ARN d'alias. Par défaut, la rotation des clés est désactivée pour clés CMK gérées par le client.

L'exemple suivant permet d'effectuer une rotation des clés sur la clé CKM spécifiée et utilise l'opération GetKeyRotationStatus pour voir le résultat. Ensuite, il désactive la rotation des clés et, à nouveau, utilise GetKeyRotationStatus pour afficher la modification.

$ aws kms enable-key-rotation --key-id 1234abcd-12ab-34cd-56ef-1234567890ab $ aws kms get-key-rotation-status --key-id 1234abcd-12ab-34cd-56ef-1234567890ab { "KeyRotationEnabled": true } $ aws kms disable-key-rotation --key-id 1234abcd-12ab-34cd-56ef-1234567890ab $ aws kms get-key-rotation-status --key-id 1234abcd-12ab-34cd-56ef-1234567890ab { "KeyRotationEnabled": false }

Rotation manuelle des clés

Vous pouvez vouloir créer une clé CMK et l'utiliser à la place d'une clé CMK actuelle au lieu d'activer la rotation automatique des clés. Lorsque la nouvelle clé CMK possède des éléments de chiffrement différents de ceux de la clé CMK courante, l'utilisation de la nouvelle clé CMK a le même effet que la modification de la clé de stockage d'une clé CMK existante. Le processus de remplacement d'une clé CMK par une autre est connu sous le nom de rotation manuelle de clés.

Si vous préférez, vous pouvez effectuer une rotation manuelle des clés afin de pouvoir contrôler la fréquence de rotation. Il s'agit également d'une bonne solution pour les clés CMK qui ne sont pas éligibles à la rotation automatique des clés, comme les clés CMK des magasins de clés personnalisés ou les clés CMK avec des éléments de clé importés.

Note

Lorsque vous commencez à utiliser la nouvelle clé CMK, assurez-vous de conserver la clé CMK originale activée de telle sorte que AWS KMS puisse déchiffrer les données que la clé CMK originale a chiffrées. Lors du déchiffrement des données, KMS identifie la clé CMK utilisée pour chiffrer les données et utilise la même clé CMK pour déchiffrer les données. Tant que vous conservez activées la clé CMK originale et la nouvelle clé CMK, AWS KMS peut déchiffrer toutes les données chiffrées à l'aide de l'une ou de l'autre clé CMK.

Dans la mesure où la nouvelle clé CMK est une ressource différente de la clé CMK courante, elle a un ID de clé et un ARN différents. Lorsque vous modifiez les clés CMK, vous devez mettre à jour les références à l'ID ou l'ARN de la clé CMK dans vos applications. Les alias, qui associent un nom convivial à une clé CMK, facilitent ce processus. Utilisez un alias pour faire référence à une clé CMK dans vos applications. Ensuite, lorsque vous souhaitez modifier la clé CMK que l'application utilise, modifiez la clé CMK cible de l'alias.

Pour mettre à jour la clé CMK cible d'un alias, utilisez l'opération UpdateAlias de l'API AWS KMS. Par exemple, cette commande met à jour l'alias TestCMK pour pointer vers une nouvelle clé CMK. Étant donné que l'opération ne renvoie aucune sortie, l'exemple utilise l'opération ListAliases pour montrer que l'alias est désormais associé à une autre clé CMK.

$ aws kms list-aliases { "Aliases": [ { "AliasArn": "arn:aws:kms:us-west-2:111122223333:alias/TestCMK", "AliasName": "alias/TestCMK", "TargetKeyId": "1234abcd-12ab-34cd-56ef-1234567890ab" }, ] } $ aws kms update-alias --alias-name alias/TestCMK --target-key-id 0987dcba-09fe-87dc-65ba-ab0987654321 $ aws kms list-aliases { "Aliases": [ { "AliasArn": "arn:aws:kms:us-west-2:111122223333:alias/TestCMK", "AliasName": "alias/TestCMK", "TargetKeyId": "0987dcba-09fe-87dc-65ba-ab0987654321" }, ] }