Come faccio a importare le mie chiavi su AWS Key Management Service?

3 minuti di lettura
0

Voglio importare il materiale delle chiavi su AWS Key Management Service (AWS KMS) per utilizzare delle chiavi simmetriche a 256 bit con i servizi AWS.

Risoluzione

AWS KMS consente di importare il materiale delle chiavi in una chiave AWS KMS da utilizzare con i servizi AWS supportati da AWS KMS.
Segui questi passaggi per importare il materiale delle chiavi su AWS KMS.
Nota: se ricevi messaggi di errore durante l'esecuzione dei comandi dell'interfaccia della linea di comando AWS (AWS CLI), consulta la pagina Risolvi gli errori AWS CLI. Inoltre, assicurati che la versione di AWS CLI che stai utilizzando sia la più recente.

  1. Crea una chiave AWS KMS senza materiale delle chiavi e prendi nota del relativo ID.
    Nota: in Definisci le autorizzazioni per gestire la chiave e Definisci le autorizzazioni per utilizzare la chiave è consigliabile separare l'amministratore della chiave dai ruoli. Questo consentirà di limitare l'impatto in caso di esposizione di una delle credenziali.

  2. Apri un terminale sulla tua macchina locale o su un'istanza Amazon Elastic Compute Cloud (Amazon EC2) con OpenSSL installato.

  3. Per generare una chiave simmetrica a 256 bit, esegui questo comando:

    openssl rand -out PlaintextKeyMaterial.bin 32
  4. Per descrivere la chiave e ottenere i parametri per l'importazione, esegui questi comandi AWS CLI:
    Nota: i comandi memorizzano la chiave pubblica e importano i parametri del token in una variabile.

    export KEY=`aws kms --region eu-west-2 get-parameters-for-import --key-id example1-2345-67ab-9123-456789abcdef --wrapping-algorithm RSAES_OAEP_SHA_256 --wrapping-key-spec RSA_2048 --query '{Key:PublicKey,Token:ImportToken}' --output text`
  5. Per inserire la chiave pubblica e importare il token in file separati con codifica base64, esegui questo comando:

    echo $KEY | awk '{print $1}' > PublicKey.b64echo $KEY | awk '{print $2}' > ImportToken.b64
  6. Per convertire il file con codifica base64 in file binari da importare, esegui questi comandi:

    openssl enc -d -base64 -A -in PublicKey.b64 -out PublicKey.binopenssl enc -d -base64 -A -in ImportToken.b64 -out ImportToken.bin
  7. Per crittografare il materiale delle chiavi con la chiave pubblica convertita in un file binario, esegui questo comando:

    openssl pkeyutl -in PlaintextKeyMaterial.bin -out EncryptedKeyMaterial.bin -inkey PublicKey.bin -keyform DER -pubin -encrypt -pkeyopt rsa_padding_mode:oaep -pkeyopt rsa_oaep_md:sha256
  8. Per importare il materiale delle chiavi crittografate su AWS KMS, esegui questo comando:
    Nota: questo esempio specifica che il materiale delle chiavi non ha scadenza, ma che è possibile impostarne una. Per ulteriori informazioni, consulta la sezione ExpirationModel.

    aws kms --region eu-west-2 import-key-material --key-id example1-2345-67ab-9123-456789abcdef --encrypted-key-material fileb://EncryptedKeyMaterial.bin --import-token fileb://ImportToken.bin --expiration-model KEY_MATERIAL_DOES_NOT_EXPIRE
  9. Verifica che la chiave importata risulti Abilitata. A tale scopo, controlla la chiave presente nella console AWS KMS o esegui l'operazione API DescribeKey.

Se non riesci a importare la chiave, segui questi passaggi in base al tuo caso d'uso:

  • Hai aspettato più di 24 ore e il token di importazione è scaduto. Per risolvere il problema, scarica la chiave di wrapping e reimporta il token per crittografare nuovamente il materiale delle chiavi.
  • Il materiale delle chiavi non è una chiave simmetrica a 256 bit. Per risolvere il problema, verifica che la dimensione del file del materiale delle chiavi crittografate sia di 32 byte. Per controllare la dimensione del file, esegui uno di questi comandi:

Linux

wc -c <filename>.bin

Windows

Per ulteriori informazioni, consulta la sezione Importazione di materiale chiave per le chiavi AWS KMS.

dir <filename>.bin

Informazioni correlate

Sto usando OpenSSL per importare la mia chiave in AWS KMS, ma ricevo il messaggio di errore "InvalidCiphertext". Come faccio a risolvere questo problema?

AWS UFFICIALE
AWS UFFICIALEAggiornata 4 mesi fa