Usar alias en las aplicaciones - AWS Key Management Service

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

Usar alias en las aplicaciones

Puede utilizar un alias para representar una clave KMS en el código de la aplicación. El KeyId parámetro en las operaciones AWS KMS criptográficas y GetPublicKeyacepta un nombre de alias o un ARN de alias. DescribeKey

Por ejemplo, el siguiente comando GenerateDataKey utiliza un nombre de alias (alias/finance) para identificar una clave KMS. El nombre del alias es el valor del parámetro KeyId.

$ aws kms generate-data-key --key-id alias/finance --key-spec AES_256

Si la clave KMS está en una Cuenta de AWS diferente, en estas operaciones, debe usar un ARN de clave o ARN de alias. Cuando utilice un alias ARN, recuerde que el alias de una clave KMS se define en la cuenta que posee la clave KMS y puede diferir en cada región. Para obtener ayuda para encontrar el ARN de alias, consulte Buscar el nombre del alias y el ARN de alias.

Por ejemplo, el siguiente comando GenerateDataKey utiliza una clave KMS que no está en la cuenta de la persona que llama. El alias ExampleAlias está asociado a la clave KMS en la cuenta y región especificadas.

$ aws kms generate-data-key --key-id arn:aws:kms:us-west-2:444455556666:alias/ExampleAlias --key-spec AES_256

Uno de los usos más potentes de los alias es en aplicaciones que se ejecutan en múltiples Regiones de AWS. Por ejemplo, puede tener una aplicación global que utiliza un RSA clave KMS asimétrica para la firma y la verificación.

  • En EE.UU. Oeste (Oregón) (us-west-2), desea usar arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab.

  • En Europa (Fráncfort) (eu-central-1), desea usar arn:aws:kms:eu-central-1:111122223333:key/0987dcba-09fe-87dc-65ba-ab0987654321

  • En Asia Pacífico (Singapur) (ap-southeast-1), desea usar arn:aws:kms:ap-southeast-1:111122223333:key/1a2b3c4d-5e6f-1a2b-3c4d-5e6f1a2b3c4d.

Puede crear una versión diferente de su aplicación en cada región o utilizar un diccionario o una declaración switch para seleccionar la clave KMS correcta para cada región. Pero es mucho más fácil crear un alias con el mismo nombre de alias en cada región. El nombre del alias distingue entre mayúsculas y minúsculas.

aws --region us-west-2 kms create-alias \ --alias-name alias/new-app \ --key-id arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab aws --region eu-central-1 kms create-alias \ --alias-name alias/new-app \ --key-id arn:aws:kms:eu-central-1:111122223333:key/0987dcba-09fe-87dc-65ba-ab0987654321 aws --region ap-southeast-1 kms create-alias \ --alias-name alias/new-app \ --key-id arn:aws:kms:ap-southeast-1:111122223333:key/1a2b3c4d-5e6f-1a2b-3c4d-5e6f1a2b3c4d

A continuación, usa el alias en tu código. Cuando el código se ejecuta en cada región, el alias hará referencia a su clave KMS asociada en esa región. Por ejemplo, este código llama a la operación Sign (Firmar) con un nombre de alias.

aws kms sign --key-id alias/new-app \ --message $message \ --message-type RAW \ --signing-algorithm RSASSA_PSS_SHA_384

Sin embargo, existe el riesgo de que el alias se elimine o actualice para que se asocie a una clave KMS diferente. En ese caso, los intentos de la aplicación de verificar firmas utilizando el nombre de alias fallarán y es posible que deba volver a crearlo o actualizarlo.

Para mitigar este riesgo, tenga cuidado al conceder permiso a las entidades principales para administrar los alias que utiliza en la aplicación. Para obtener más detalles, consulte Control del acceso a alias.

Hay varias otras soluciones para aplicaciones que cifran datos en múltiples Regiones de AWS, incluido el AWS Encryption SDK.