Como posso resolver o erro de descriptografia do AWS KMS “InvalidCiphertextException”?

2 minuto de leitura
0

Tentei usar auxiliares de criptografia do AWS Lambda para descriptografar variáveis de ambiente para o AWS Key Management Service (AWS KMS) e recebi o erro "InvalidCiphertextException".

Breve descrição

O erro de ação da API do AWS KMS InvalidCiphertextException indica que a solicitação de descriptografia falhou porque o Lambda atualizou a forma de criptografar variáveis de ambiente. O Lambda passa o nome da função como o contexto de criptografia que fez a chamada de criptografia ao AWS KMS. Para funções de descriptografia que foram criadas antes dessa alteração, você deve atualizar o código para descriptografia e passar o nome da função do Lambda como contexto de criptografia.

Resolução

Para obter o código com a chamada de descriptografia ao AWS KMS para um SDK específico com o contexto de criptografia, conclua as seguintes etapas:

  1. Abra o console do Lambda e escolha Funções.
  2. Em Nome da função, escolha a função do Lambda e depois escolha a guia Configuração.
  3. Em Variáveis de ambiente, escolha Editar e depois Adicionar variável de ambiente.
  4. Insira uma chave e um valor e, em seguida, expanda Configuração de criptografia.
  5. Escolha Ativar auxiliares para criptografia em trânsito e, em seguida, escolha Criptografar.
  6. Expanda Snippet de descriptografia de segredos e insira um trecho de código semelhante ao seguinte:
DECRYPTED = boto3.client('kms').decrypt(    CiphertextBlob=b64decode(ENCRYPTED),
    EncryptionContext={'LambdaFunctionName': os.environ['AWS_LAMBDA_FUNCTION_NAME']}
)['Plaintext'].decode('utf-8')

Use o trecho de código anterior para descriptografar novas variáveis de ambiente que são criptografadas com auxiliares de criptografia.

Certifique-se de criptografar novamente as variáveis de ambiente antigas para que funcionem com as novas variáveis de ambiente.

Para obter mais informações, consulte Usar variáveis de ambiente no Lambda.

Informações relacionadas

Como posso verificar se a criptografia autenticada com criptografia de dados associada é usada ao chamar as APIs do AWS KMS?

AWS OFICIAL
AWS OFICIALAtualizada há um ano