Come posso risolvere l'errore di decrittografia di AWS KMS "InvalidCiphertextException"?

2 minuti di lettura
0

Ho provato a decrittografare le variabili di ambiente utilizzando gli assistenti di crittografia AWS Lambda e ho ricevuto l'errore "InvalidCiphertextException". Tutte le autorizzazioni di AWS Identity and Access Management (IAM) e del Servizio di gestione delle chiavi AWS (AWS KMS) sono corrette.

Breve descrizione

L'errore di azione dell'API AWS KMS InvalidCiphertextException indica che la richiesta di decrittografia non è riuscita perché Lambda ha aggiornato la modalità di crittografia delle variabili di ambiente. Lambda fa passare il nome della funzione come contesto di crittografia effettuando la chiamata di crittografia ad AWS KMS. Per le funzioni di decrittografia create prima di questa modifica, è necessario aggiornare il codice per la decrittografia e far passare il nome della funzione Lambda come contesto di crittografia.

Soluzione

Per ottenere il codice con la chiamata di decrittografia ad AWS KMS per un SDK specifico con il contesto di crittografia, segui questi passaggi:

  1. Apri la console Lambda, quindi scegli Funzioni.
  2. In Nome funzione, scegli la funzione Lambda.
  3. In Variabile di ambiente, scegli Modifica, quindi seleziona Aggiungi variabile di ambiente.
  4. Inserisci una chiave e un valore, quindi espandi configurazione di crittografia.
  5. Scegli Abilita gli assistenti per la crittografia in transito, quindi scegli Crittografa.
  6. Espandi Decrittografa frammento segreto, copia e incolla il frammento in modo simile al seguente:
DECRYPTED = boto3.client('kms').decrypt(
    CiphertextBlob=b64decode(ENCRYPTED),
    EncryptionContext={'LambdaFunctionName': os.environ['AWS_LAMBDA_FUNCTION_NAME']}
)['Plaintext'].decode('utf-8')

Usa questo frammento di codice per decrittografare nuove variabili di ambiente crittografate con gli assistenti di crittografia.

Assicurati di crittografare nuovamente le vecchie variabili di ambiente in modo che funzionino con le nuove variabili di ambiente.

Per ulteriori informazioni, consulta Utilizzo delle variabili di ambiente AWS Lambda.


Informazioni correlate

Come posso verificare che venga utilizzata la crittografia autenticata con crittografia dei dati associata quando si richiamano le API AWS KMS?

AWS UFFICIALE
AWS UFFICIALEAggiornata 3 anni fa