Rotación manual de claves
Es posible que le interese crear una nueva clave de KMS y utilizarla en sustitución de una clave de KMS actual en lugar de activar la rotación automática de claves. Cuando la nueva clave KMS tiene diferente material criptográfico que la clave KMS actual, el uso de la nueva clave KMS tiene el mismo efecto que cambiar el material de claves de una clave KMS existente. El proceso de sustitución de una clave KMS por otra se denomina rotación manual de claves.
La rotación manual es una buena opción si quiere rotar las claves de KMS que no cumplen los requisitos para la rotación automática de claves, como las claves de KMS asimétricas, las claves de KMS HMAC, las claves de KMS en almacenes de claves personalizados y las claves de KMS con material de claves importado.
nota
Cuando empiece a utilizar la nueva clave KMS, asegúrese de mantener la clave KMS original habilitada para que AWS KMS pueda descifrar los datos que cifró la clave KMS original.
Cuando rota las claves KMS de forma manual, también debe actualizar las referencias al ID de la clave KMS o al ARN de la clave en sus aplicaciones. Los alias, que asocian un nombre descriptivo a una clave KMS, pueden facilitar este proceso. Utilice un alias para hacer referencia a una clave KMS en sus aplicaciones. Después, cuando desee cambiar la clave KMS que utiliza la aplicación, en lugar editar su código de aplicación, cambie la clave KMS de destino del alias. Para obtener más información, consulte Obtención de información sobre cómo utilizar alias en las aplicaciones.
nota
Los alias que apuntan a la última versión de una clave de KMS con rotación manual son una buena solución para DescribeKey, GetPublicKey y operaciones criptográficas como DeriveSharedSecret, Encrypt, GenerateDataKey, GenerateDataKeyPair, GenerateMac, VerifyMac, Sign y Verify. Los alias no están permitidos en las operaciones que administran claves de KMS, como DisableKey o ScheduleKeyDeletion.
Al llamar al la operación Decrypt en claves KMS de cifrado giradas de forma manual, omita el parámetro KeyId del comando. AWS KMS usa automáticamente la clave de KMS que cifró el texto cifrado.
El parámetro KeyId es obligatorio cuando se llama a Decrypt o Verify con una clave KMS asimétrica o al llamar a VerifyMac con una clave KMS HMAC. Estas solicitudes fallan cuando el valor del parámetro KeyId es un alias que ya no apunta a la clave de KMS que realizó la operación criptográfica, por ejemplo, cuando se rota una clave de forma manual. Para evitar este error, debe realizar un seguimiento y especificar la clave de KMS correcta para cada operación.
Para cambiar la clave KMS de destino de un alias, utilice la operación UpdateAlias en la API de AWS KMS. Por ejemplo, este comando actualiza el alias alias/TestKey para apuntar hacia una nueva clave KMS. Como la operación no devuelve ningún resultado, en el ejemplo se utiliza la operación ListAliases para comprobar que el alias está asociado ahora a otra clave KMS y el campo LastUpdatedDate se actualiza. El siguiente comando utiliza el parámetro query en la AWS CLI para obtener solo el alias de alias/TestKey.
$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 }, ] }