¿Cómo puedo resolver el error de descifrado de AWS KMS «InvalidCiphertextException»?

2 minutos de lectura
0

He intentado descifrar las variables de entorno mediante los asistentes de cifrado de AWS Lambda y he recibido el error «InvalidCiphertextException». Todos los permisos de AWS Identity and Access Management (IAM) y AWS Key Management Service (AWS KMS) son correctos.

Breve descripción

El error de acción de la API de AWS KMS InvalidCiphertextException indica que la solicitud de descifrado ha fallado porque Lambda ha actualizado la forma de cifrar las variables de entorno. Lambda pasa el nombre de la función como contexto de cifrado, de manera que realiza la llamada de cifrado a AWS KMS. Para las funciones de descifrado creadas antes de este cambio, debe actualizar el código de descifrado y pasar el nombre de la función de Lambda como contexto de cifrado.

Resolución

Para obtener el código con la llamada de descifrado a AWS KMS para un SDK específico con el contexto de cifrado, siga estos pasos:

  1. Abra la consola de Lambda y, a continuación, seleccione Funciones.
  2. En Nombre de la función, seleccione la función de Lambda.
  3. En Variable de entorno, elija Editar y, a continuación, seleccione Agregar variable de entorno.
  4. Introduzca una Clave y un Valor y, a continuación, expanda la Configuración de cifrado.
  5. Elija Habilitar los asistentes para el cifrado en tránsito y, a continuación, seleccioneEncriptar.
  6. Expanda el Fragmento para descifrar información confidencial, copie y pegue el fragmento de forma similar a la siguiente:
DECRYPTED = boto3.client('kms').decrypt(
    CiphertextBlob=b64decode(ENCRYPTED),
    EncryptionContext={'LambdaFunctionName': os.environ['AWS_LAMBDA_FUNCTION_NAME']}
)['Plaintext'].decode('utf-8')

Utilice este fragmento de código para Descifrar nuevas variables de entorno cifradas con asistentes de cifrado.

Asegúrese de volver a cifrar las variables de entorno antiguas para que funcionen con las nuevas variables de entorno.

Para obtener más información, consulte Uso de variables de entorno de AWS Lambda.


Información relacionada

¿Cómo puedo comprobar que se utiliza el cifrado autenticado con el cifrado de datos asociado al llamar a las API de AWS KMS?

OFICIAL DE AWS
OFICIAL DE AWSActualizada hace 3 años