Creación de una clave KMS en un almacén de claves de AWS CloudHSM
Después de crear un almacén de claves de AWS CloudHSM, puede crear AWS KMS keys en su almacén de claves. Deben ser claves KMS de cifrado simétricas con el material de claves que AWS KMS genera. No puede crear claves KMS asimétricas, claves KMS HMAC ni claves KMS con material clave importado en un almacén de claves personalizado. Además, no puede utilizar claves KMS de cifrado simétricas en un almacén de claves personalizado para generar pares de claves de datos asimétricos. El KMS no puede comunicarse a través de IPv6 con los almacenes de claves de AWS CloudHSM.
Para crear una clave de KMS en un almacén de claves de AWS CloudHSM, dicho almacén de AWS CloudHSM debe estar conectado a su clúster de AWS CloudHSM asociado y el clúster debe contener al menos dos HSM activos en zonas de disponibilidad distintas. Para buscar el estado de conexión y el número de HSM, consulte la página de almacenes de claves de AWS CloudHSM en la Consola de administración de AWS. Al utilizar operaciones de API, use la operación DescribeCustomKeyStores para verificar que el almacén de claves de AWS CloudHSM esté conectado. Para verificar el número de HSM activos en el clúster y sus zonas de disponibilidad, utilice la operación DescribeClusters de AWS CloudHSM.
Al crear una clave de KMS en su almacén de claves de AWS CloudHSM, AWS KMS crea la clave de KMS en AWS KMS. Pero crea el material de claves para la clave KMS en el clúster de AWS CloudHSM asociado. En concreto, AWS KMS inicia sesión en el clúster con el kmsuser CU que creó. A continuación crea una clave simétrica Advanced Encryption Standard (AES) de 256 bits, no extraíble y persistente en el clúster. AWS KMS establece el valor del atributo de la etiqueta de claves, que solo es visible en el clúster, en el Nombre de recurso de Amazon (ARN) de la clave KMS.
Cuando el comando se ejecuta correctamente, el estado de clave de la nueva clave KMS es Enabled y su origen es AWS_CLOUDHSM. No se puede cambiar el origen de ninguna clave KMS después de crearla. Al ver una clave de KMS en un almacén de claves de AWS CloudHSM en la consola de AWS KMS o mediante la operación DescribeKey, puede ver las propiedades habituales, como el ID de clave, el estado de clave y la fecha de creación. Pero también puede ver el ID del almacén de claves personalizado y (de forma opcional) el ID del clúster de AWS CloudHSM.
Si intenta crear una clave de KMS en su almacén de claves de AWS CloudHSM sin éxito, utilice el mensaje de error para ayudar a determinar la causa. Puede indicar que el almacén de claves de AWS CloudHSM no esté conectado (CustomKeyStoreInvalidStateException) o que el clúster de AWS CloudHSM asociado no tiene los dos HSM activos necesarios para esta operación (CloudHsmClusterInvalidConfigurationException). Para obtener ayuda, consulte Resolver problemas de un almacén de claves personalizado.
Para ver un ejemplo del registro de AWS CloudTrail de la operación que crea una clave de KMS en un almacén de claves de AWS CloudHSM, consulte CreateKey.
Creación de una nueva clave KMS en su almacén de claves de CloudHSM
Puede crear una clave KMS de cifrado simétrico en el almacén de claves de AWS CloudHSM de la consola de AWS KMS o mediante la operación CreateKey.
Utilice el siguiente procedimiento para crear una clave de KMS de cifrado simétrica en un almacén de claves de AWS CloudHSM.
nota
No incluya información confidencial en el alias, la descripción ni las etiquetas. Estos campos pueden aparecer en texto sin formato en los registros de CloudTrail y en otros resultados.
-
Inicie sesión en la Consola de administración de AWS y abra la consola AWS Key Management Service (AWS KMS) en https://console.aws.amazon.com/kms
. -
Para cambiar la Región de AWS, utilice el Selector de regiones ubicado en la esquina superior derecha de la página.
-
En el panel de navegación, elija Claves administradas por el cliente.
-
Elija Crear clave.
-
Seleccione Symmetric (Simétrica).
-
En Key usage (Uso de claves), se selecciona la opción Encrypt and decrypt (Cifrar y descifrar) para usted. No la cambie.
-
Elija Advanced options (Opciones avanzadas).
-
En Origen del material de claves, elija Almacén de claves de AWS CloudHSM.
No puede crear claves de varias regiones en un almacén de claves de AWS CloudHSM.
-
Elija Siguiente.
-
Seleccione un almacén de claves de AWS CloudHSM para su nueva clave de KMS. Para crear un almacén de claves de AWS CloudHSM, seleccione Create custom key store (Crear almacén de claves personalizado).
El almacén de claves de AWS CloudHSM que seleccione debe tener el estado Connected (Conectado). El clúster de AWS CloudHSM que tiene asociado debe estar activo y tener al menos dos HSM activos en distintas zonas de disponibilidad.
Para obtener ayuda para conectarse a un almacén de claves de AWS CloudHSM, consulte Desconexión de un almacén de claves de AWS CloudHSM. Para obtener ayuda para agregar HSM, consulte Agregar un HSM en la Guía del usuario de AWS CloudHSM.
-
Elija Siguiente.
-
Escriba un alias y, si lo desea, una descripción para la clave KMS.
-
(Opcional). En la página agregar etiquetas, añada etiquetas que identifiquen o categoricen la clave KMS.
Cuando se agregan etiquetas a los recursos de AWS, AWS genera un informe de asignación de costos con el uso y los costos agregados por etiquetas. Las etiquetas también pueden utilizarse para controlar el acceso a una clave KMS. Para obtener información acerca del etiquetado de claves KMS, consulte Etiquetas en AWS KMS y ABAC para AWS KMS.
-
Elija Siguiente.
-
En la sección administradores de claves, seleccione los usuarios y roles de IAM que pueden administrar la clave KMS. Para obtener más información, consulte Permite que los administradores de claves administren la clave de KMS.
Notas
Las políticas de IAM pueden otorgar permisos para usar la clave KMS a otros usuarios y roles de IAM.
Las prácticas recomendadas de IAM desalientan el uso de usuarios de IAM con credenciales a largo plazo. Siempre que sea posible, utilice los roles de IAM, que proporcionan credenciales temporales. Para obtener más información, consulte la sección Prácticas recomendadas de seguridad de IAM en la Guía del usuario de IAM;.
La consola de AWS KMS agrega administradores de claves a la política de claves bajo el identificador de la declaración
"Allow access for Key Administrators". La modificación de este identificador de declaración puede afectar a la forma en que la consola muestra las actualizaciones que realice en la declaración. -
(Opcional) Para evitar que estos administradores de claves eliminen esta clave KMS, desactive la casilla Allow key administrators to delete this key (Permitir que los administradores de claves eliminen esta clave) situada en la parte inferior de la página.
-
Elija Siguiente.
-
En la sección This account (Esta cuenta), seleccione los usuarios y roles de IAM de esta Cuenta de AWS que pueden usar la clave KMS en operaciones criptográficas. Para obtener más información, consulte Permite a los usuarios de claves utilizar la clave de KMS.
Notas
Las prácticas recomendadas de IAM desalientan el uso de usuarios de IAM con credenciales a largo plazo. Siempre que sea posible, utilice los roles de IAM, que proporcionan credenciales temporales. Para obtener más información, consulte la sección Prácticas recomendadas de seguridad de IAM en la Guía del usuario de IAM;.
La consola de AWS KMS agrega administradores de claves a la política de claves bajo los identificadores de la declaración
"Allow attachment of persistent resources"y"Allow use of the key". La modificación de estos identificadores de declaración puede afectar a la forma en que la consola muestra las actualizaciones que realice en la declaración. -
(Opcional) Puede permitir que otras cuentas de Cuentas de AWS usen esta clave KMS en operaciones criptográficas. Para ello, en la parte inferior de la página de la sección Otras Cuentas de AWS elija Agregar otra Cuenta de AWS e ingrese el ID de Cuenta de AWS de una cuenta externa. Para agregar varias cuentas externas, repita este paso.
nota
Los administradores de las otras cuentas de Cuentas de AWS también deben permitir el acceso a la clave KMS mediante la creación de políticas de IAM para sus usuarios. Para obtener más información, consulte Permitir a los usuarios de otras cuentas utilizar una clave KMS.
-
Elija Siguiente.
-
Revise las declaraciones de política de claves para ver la clave. Seleccione Editar para realizar cambios en la política de claves.
-
Elija Siguiente.
-
Revise los ajustes de clave que ha elegido. Aún puede volver atrás y cambiar todos los ajustes.
-
Cuando haya acabado, elija Finish (Finalizar) para crear la clave.
Si el procedimiento se realiza correctamente, la pantalla mostrará la nueva clave de KMS en el almacén de claves de AWS CloudHSM de su elección. Al elegir el nombre o alias de la nueva clave de KMS, la pestaña Cryptographic configuration (Configuración criptográfica) en su pantalla de detalle mostrará el origen de la clave de KMS (AWS CloudHSM), el nombre, el ID y el tipo del almacén de claves personalizado, y el ID del clúster de AWS CloudHSM. Si el procedimiento falla, aparecerá un mensaje de error que describe el motivo del error.
sugerencia
Para facilitar la identificación de las claves KMS en un almacén de claves personalizado, en la página Customer managed keys (Claves administradas por el cliente) agregue la columna Custom key store ID (ID del almacén de claves personalizado). Haga clic en el icono de engranaje en la esquina superior derecha y, a continuación, seleccione Custom key store ID (ID del almacén de claves personalizado). Para obtener más información, consulte Personalización de la vista de la consola.
Para crear una nueva AWS KMS key (clave de KMS) en su almacén de claves de AWS CloudHSM, utilice la operación CreateKey. Use el parámetro CustomKeyStoreId para identificar su almacén de claves personalizado y en el valor Origin especifique AWS_CLOUDHSM.
Es posible que también desee utilizar el parámetro Policy para especificar una política de claves. Puede cambiar la política de claves (PutKeyPolicy) y agregar elementos opcionales como, por ejemplo, una descripción y etiquetas en cualquier momento.
En estos ejemplos, se utiliza la AWS Command Line Interface (AWS CLI)
El siguiente ejemplo empieza con una llamada a la operación DescribeCustomKeyStores para verificar que el almacén de claves de AWS CloudHSM está conectado al clúster de AWS CloudHSM que tiene asociado. De forma predeterminada, esta operación devuelve los almacenes de claves personalizados de su cuenta y región. Para describir únicamente un almacén de claves de AWS CloudHSM determinado, utilice el parámetro CustomKeyStoreId o CustomKeyStoreName (pero no ambos).
Antes de ejecutar este comando, reemplace el ID del almacén de claves personalizado de ejemplo por un ID válido.
nota
No incluya información confidencial en los campos Description o Tags. Estos campos pueden aparecer en texto sin formato en los registros de CloudTrail y en otros resultados.
$aws kms describe-custom-key-stores --custom-key-store-idcks-1234567890abcdef0{ "CustomKeyStores": [ "CustomKeyStoreId": "cks-1234567890abcdef0", "CustomKeyStoreName": "ExampleKeyStore", "CustomKeyStoreType": "AWS CloudHSM key store", "CloudHsmClusterId": "cluster-1a23b4cdefg", "TrustAnchorCertificate": "<certificate string appears here>", "CreationDate": "1.499288695918E9", "ConnectionState": "CONNECTED" ], }
El siguiente comando de ejemplo utiliza la operación DescribeClusters para verificar que el clúster de AWS CloudHSM asociado a ExampleKeyStore (cluster-1a23b4cdefg) tiene al menos dos HSM activos. Si el clúster tiene menos de dos HSM, la operación CreateKey dará error.
$aws cloudhsmv2 describe-clusters{ "Clusters": [ { "SubnetMapping": { ... }, "CreateTimestamp": 1507133412.351, "ClusterId": "cluster-1a23b4cdefg", "SecurityGroup": "sg-865af2fb", "HsmType": "hsm1.medium", "VpcId": "vpc-1a2b3c4d", "BackupPolicy": "DEFAULT", "Certificates": { "ClusterCertificate": "-----BEGIN CERTIFICATE-----\...\n-----END CERTIFICATE-----\n" }, "Hsms": [ { "AvailabilityZone": "us-west-2a", "EniIp": "10.0.1.11", "ClusterId": "cluster-1a23b4cdefg", "EniId": "eni-ea8647e1", "StateMessage": "HSM created.", "SubnetId": "subnet-a6b10bd1", "HsmId": "hsm-abcdefghijk", "State": "ACTIVE" }, { "AvailabilityZone": "us-west-2b", "EniIp": "10.0.0.2", "ClusterId": "cluster-1a23b4cdefg", "EniId": "eni-ea8647e1", "StateMessage": "HSM created.", "SubnetId": "subnet-b6b10bd2", "HsmId": "hsm-zyxwvutsrqp", "State": "ACTIVE" }, ], "State": "ACTIVE" } ] }
Este comando de ejemplo usa la operación CreateKey para crear una clave de KMS en un almacén de claves de AWS CloudHSM. Para crear una clave de KMS en un almacén de claves de AWS CloudHSM, debe proporcionar el ID del nombre del almacén de claves de AWS CloudHSM y especificar un valor Origin de AWS_CLOUDHSM.
La respuesta contiene los ID del almacén de claves personalizado y el clúster de AWS CloudHSM.
Antes de ejecutar este comando, reemplace el ID del almacén de claves personalizado de ejemplo por un ID válido.
$aws kms create-key --origin AWS_CLOUDHSM --custom-key-store-idcks-1234567890abcdef0{ "KeyMetadata": { "AWSAccountId": "111122223333", "Arn": "arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab", "CreationDate": 1.499288695918E9, "Description": "Example key", "Enabled": true, "MultiRegion": false, "KeyId": "1234abcd-12ab-34cd-56ef-1234567890ab", "KeyManager": "CUSTOMER", "KeyState": "Enabled", "KeyUsage": "ENCRYPT_DECRYPT", "Origin": "AWS_CLOUDHSM" "CloudHsmClusterId": "cluster-1a23b4cdefg", "CustomKeyStoreId": "cks-1234567890abcdef0" "KeySpec": "SYMMETRIC_DEFAULT", "CustomerMasterKeySpec": "SYMMETRIC_DEFAULT", "EncryptionAlgorithms": [ "SYMMETRIC_DEFAULT" ] } }