Faites pivoter les touches manuellement - AWS Key Management Service

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

Faites pivoter les touches manuellement

Vous souhaiterez peut-être créer une nouvelle KMS clé et l'utiliser à la place d'une KMS clé actuelle au lieu d'activer la rotation automatique des touches. Lorsque le matériel cryptographique de la nouvelle KMS clé est différent de celui de la KMS clé actuelle, l'utilisation de la nouvelle KMS clé a le même effet que la modification du contenu d'une KMS clé existante. Le processus de remplacement d'une KMS clé par une autre est connu sous le nom de rotation manuelle des touches.

Diagram showing manual key rotation process with application, old key, and new key.

La rotation manuelle est un bon choix lorsque vous souhaitez faire pivoter des KMS touches qui ne sont pas éligibles à la rotation automatique des touches, telles que les touches asymétriques, KMS les HMAC KMS touches, les KMS clés stockées dans des magasins de clés personnalisés et les KMS clés dont le matériau clé est importé.

Note

Lorsque vous commencez à utiliser la nouvelle KMS clé, veillez à ce que la KMS clé d'origine reste activée afin de AWS KMS pouvoir déchiffrer les données chiffrées par la KMS clé d'origine.

Lorsque vous faites pivoter KMS les clés manuellement, vous devez également mettre à jour les références à l'ID de KMS clé ou à la clé ARN dans vos applications. Les alias, qui associent un nom convivial à une KMS clé, peuvent faciliter ce processus. Utilisez un alias pour faire référence à une KMS clé dans vos applications. Ensuite, lorsque vous souhaitez modifier la KMS clé utilisée par l'application, au lieu de modifier le code de votre application, modifiez la KMS clé cible de l'alias. Pour plus de détails, consultez Apprenez à utiliser des alias dans vos applications.

Note

Les alias qui pointent vers la dernière version d'une KMS clé pivotée manuellement constituent une bonne solution pour les opérations Chiffrer DescribeKey,, GenerateDataKeyGenerateDataKeyPairGenerateMac, et Signer. Les alias ne sont pas autorisés dans les opérations de gestion KMS des clés, telles que DisableKeyou ScheduleKeyDeletion.

Lorsque vous appelez l'opération Decrypt sur des KMS clés de chiffrement symétriques pivotées manuellement, omettez le KeyId paramètre dans la commande. AWS KMS utilise automatiquement la KMS clé qui a chiffré le texte chiffré.

Le KeyId paramètre est obligatoire lors d'un appel Decrypt ou d'une vérification avec une KMS clé asymétrique, ou lors d'un appel VerifyMacavec une HMAC KMS clé. Ces demandes échouent lorsque la valeur du KeyId paramètre est un alias qui ne pointe plus vers la KMS clé qui a effectué l'opération cryptographique, par exemple lorsqu'une clé est pivotée manuellement. Pour éviter cette erreur, vous devez suivre et spécifier la KMS clé appropriée pour chaque opération.

Pour modifier la KMS clé cible d'un alias, utilisez l'UpdateAliasopération dans le AWS KMS API. Par exemple, cette commande met à jour l'alias/TestKeyalias pour qu'il pointe vers une nouvelle KMS clé. Comme l'opération ne renvoie aucune sortie, l'exemple utilise l'ListAliasesopération pour montrer que l'alias est désormais associé à une autre KMS clé et que le LastUpdatedDate champ est mis à jour. Les ListAliases commandes utilisent le queryparamètre du AWS CLI pour obtenir uniquement l'alias/TestKeyalias.

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