Alias en AWS KMS - AWS Key Management Service

Alias en AWS KMS

Un alias es un nombre fácil de recordar para una AWS KMS key. Por ejemplo, un alias le permite referirse a una clave KMS como test-key en lugar de 1234abcd-12ab-34cd-56ef-1234567890ab.

Puede utilizar un alias para identificar una clave KMS en la consola de AWS KMS, en la operación DescribeKey y en operaciones criptográficas, como Encrypt (Cifrar) y GenerateDataKey. Los alias también facilitan el reconocimiento de un Clave administrada de AWS. Los alias de estas claves KMS siempre tienen la forma aws/<service-name>. Por ejemplo, el alias para Clave administrada de AWS para Amazon DynamoDB es aws/dynamodb. Puede establecer estándares de alias similares para sus proyectos, como anteponer los alias con el nombre de un proyecto o categoría.

También puede permitir y denegar el acceso a claves KMS en función de sus alias sin editar políticas ni administrar concesiones. Esta característica forma parte de la compatibilidad de AWS KMS para el control de acceso basado en atributos (ABAC). Para obtener más información, consulte Uso de alias para controlar el acceso a las claves KMS.

Gran parte de la potencia de los alias proviene de su capacidad de cambiar la clave KMS asociada a un alias en cualquier momento. Los alias pueden hacer que su código sea más fácil de escribir y mantener. Por ejemplo, supongamos que utiliza un alias para hacer referencia a una clave KMS concreta y desea cambiar la clave KMS. En ese caso, simplemente asocie el alias con una clave KMS diferente. No es necesario realizar cambios en el código.

Los alias también facilitan la reutilización del mismo código en diferentes Regiones de AWS. Cree alias con el mismo nombre en varias regiones y asocie cada alias a una clave KMS en su región. Cuando el código se ejecuta en cada región, el alias hace referencia a la clave KMS asociada en esa región. Para ver un ejemplo, consulta Obtención de información sobre cómo utilizar alias en las aplicaciones.

Puede crear un alias para una clave KMS en la consola de AWS KMS mediante la API CreateAlias (CrearAlias) o mediante la plantilla de CloudFormation AWS::KMS::Alias.

La API de AWS KMS proporciona un control total de los alias en cada cuenta y región. La API incluye operaciones para crear un alias (CreateAlias), ver nombres de alias y ARN de alias (ListAliases), cambie la clave KMS asociada a un alias (UpdateAlias) y elimine un alias (DeleteAlias).

Funcionamiento de los alias

Obtenga información sobre cómo funcionan los alias en AWS KMS.

Un alias es un recurso AWS independiente.

Un alias no es propiedad de una clave KMS. Las acciones que realice en el alias no afectan a su clave KMS asociada. Puede crear un alias para una clave KMS y, a continuación, actualizar el alias para que esté asociado a una clave KMS diferente. Incluso puede eliminar el alias sin ningún efecto en la clave KMS asociada. Sin embargo, si elimina una clave KMS, se eliminan todos los alias asociados a esa clave KMS.

Si especifica un alias como recurso en una política de IAM, la política hace referencia al alias, no a la clave KMS asociada.

Cada alias tiene dos formatos

Cuando se crea un alias, hay que especificar el nombre del alias. AWS KMS crea el alias ARN por usted.

  • Un ARN de alias es un nombre de recurso de Amazon (ARN) que identifica de forma exclusiva el alias.

    # Alias ARN arn:aws:kms:us-west-2:111122223333:alias/<alias-name>
  • El nombre de alias debe ser único en la cuenta y la región. En API de AWS KMS, el nombre del alias siempre tiene el prefijo dealias/. Ese prefijo se omite en la consola AWS KMS.

    # Alias name alias/<alias-name>
Los alias no son secretos

Los alias pueden mostrarse en texto sin formato en los registros de CloudTrail y en otros resultados. No incluya información confidencial en el nombre del alias.

Cada alias está asociado a una clave KMS a la vez

El alias y la clave KMS deben estar en la misma cuenta y región.

Puede asociar un alias con cualquier clave administrada por el cliente en la misma Cuenta de AWS y región. Sin embargo, no tiene permiso para asociar un alias con una Clave administrada de AWS.

Por ejemplo, esta salida ListAliases muestra que el test-key está asociado con exactamente una clave KMS de destino, que está representada por la propiedad TargetKeyId.

{ "AliasName": "alias/test-key", "AliasArn": "arn:aws:kms:us-west-2:111122223333:alias/test-key", "TargetKeyId": "1234abcd-12ab-34cd-56ef-1234567890ab", "CreationDate": 1593622000.191, "LastUpdatedDate": 1593622000.191 }
Se pueden asociar varios alias con la misma clave KMS

Por ejemplo, puede asociar los alias test-key y project-key con la misma clave KMS.

{ "AliasName": "alias/test-key", "AliasArn": "arn:aws:kms:us-west-2:111122223333:alias/test-key", "TargetKeyId": "1234abcd-12ab-34cd-56ef-1234567890ab", "CreationDate": 1593622000.191, "LastUpdatedDate": 1593622000.191 }, { "AliasName": "alias/project-key", "AliasArn": "arn:aws:kms:us-west-2:111122223333:alias/project-key", "TargetKeyId": "1234abcd-12ab-34cd-56ef-1234567890ab", "CreationDate": 1516435200.399, "LastUpdatedDate": 1516435200.399 }
El alias debe ser único en la cuenta y región.

Por ejemplo, solo puede tener un alias test-key en cada cuenta y región. Los alias distinguen entre mayúsculas y minúsculas, pero los alias que solo difieren en sus mayúsculas son muy propensos a errores. No puede cambiar un nombre de alias. Sin embargo, puede eliminar el alias y crear un nuevo alias con el nombre deseado.

Puede crear alias con el mismo nombre en diferentes regiones

Por ejemplo, puede tener un alias finance-key en EE. UU. Este (Norte de Virginia) y un alias finance-key en Europa (Fráncfort). Cada alias se asociaría a una clave KMS en su región. Si su código se refiere a un nombre de alias como alias/finance-key, puede ejecutarlo en varias regiones. En cada región, utiliza una clave KMS diferente. Para obtener más información, consulte Obtención de información sobre cómo utilizar alias en las aplicaciones.

Puede cambiar la clave KMS asociada a un alias

Para asociar un alias con una clave KMS diferente, utilice la operación UpdateAlias. Por ejemplo, si el alias finance-key está asociado con la clave KMS 1234abcd-12ab-34cd-56ef-1234567890ab, puede actualizarla para que esté asociada con la clave KMS 0987dcba-09fe-87dc-65ba-ab0987654321.

Sin embargo, la clave de KMS actual y la nueva deben ser del mismo tipo (ambas simétricas o ambas asimétricas o ambas HMAC) y deben tener el mismo uso de clave (ENCRYPT_DECRYPT o SIGN_VERIFY o GENERATE_VERIFY_MAC). Esta restricción evita errores en el código que utiliza alias. Si debe asociar un alias a otro tipo de clave y ha mitigado los riesgos, puede eliminar el alias y volver a crearlo.

Algunas claves KMS no tienen alias

Cuando crea una clave KMS en la consola AWS KMS, debe darle un alias nuevo. Sin embargo, no se requiere un alias cuando se utiliza la operación CreateKey para crear una clave KMS. Además, puede usar la operación UpdateAlias para cambiar la clave de KMS asociada a un alias y la operación DeleteAlias para eliminar un alias. Como resultado, algunas claves KMS pueden tener varios alias, y algunas podrían tener ninguno.

AWS crea alias en tu cuenta

AWS crea alias en tu cuenta para Claves administradas por AWS. Estos alias tienen nombres del formulario alias/aws/<service-name>, como, por ejemplo, alias/aws/s3.

Alguno alias de AWS no tienen clave KMS. Estos alias predefinidos generalmente se asocian con una Clave administrada de AWScuando empieza a utilizar el servicio.

Usar alias para identificar claves KMS

Puede utilizar un nombre de alias o rARN de alias para identificar una clave KMS en operaciones criptográficas, DescribeKey, y GetPublicKey. (Si la clave KMS está en una Cuenta de AWS diferente, debe usar su ARN de clave o ARN de alias). Los alias no son identificadores válidos para las claves KMS en otras operaciones de AWS KMS. Para obtener información acerca de identificadores clave válidos para cada operación de la API de AWS KMS, consulte las descripciones de los parámetros KeyId en la Referencia de la API de AWS Key Management Service.

No puede utilizar un nombre de alias ni un ARN de alias para identificar una clave KMS en una política de IAM. Para controlar el acceso a una clave KMS en función de sus alias, utilice las claves de condición KMS:RequestAlias o kms:ResourceAliases. Para obtener más información, consulte ABAC para AWS KMS.