⚛️DynamoDB Encryption

  • Encrypted in Transit (HTTPS)

  • Dynamo DB Encryption client es una libreria usada para client encryption en el client side.

  • Se encripta en ciphertext antes del transito.

  • Todas las tablas de DynamoDB son encriptadas at rest. (No hay opcion de unencrypted)

  • Se puede customizar como se realiza la encryptacion con tres opciones:

    • Default encryption, usa una Key kms owned por AWS, no puedes configurar nada.

    • Use managed KMS key, aws/dynamodb.

    • Customer managed kms key, se puede customizar, y monitorear el uso.

Facts adicionales

  • No puedes usar un customer managed key con Dynamo DB accelerator (DAX)

  • Any local o secundary indexes usa la misma key, los backups igual, la restauracion requiere el key.

  • Las tablas restauradas pueden usar encryption settings diferentes.

  • Customer Managed keys funcionan con transactions pero una copia temporal usa un AWS owned key.

  • Data in streams tienen un lifetime de 24horas incluso cuando se deshabilita el key.

  • Si un customer managed key es deshabilitado o inaccesible por 7 dias, se respalda una tabla y se archiva. Necesitaras el key para restore.

Dynamo DB Encryption

Last updated