Solución de problemas en la aplicación DynamoDB Encryption Client - AWS SDK de cifrado de bases de datos

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

Solución de problemas en la aplicación DynamoDB Encryption Client

nota

Nuestra biblioteca de cifrado del cliente pasó a llamarse SDK de cifrado de bases de datos de AWS. En el siguiente tema, se presenta información sobre las versiones 1.x—2.x del cliente de cifrado de DynamoDB para Java y versiones 1.x—3.x del cliente de cifrado de DynamoDB para Python. Para obtener más información, consulte el SDK de cifrado de bases de datos de AWS para la compatibilidad de la versión de DynamoDB.

En esta sección se describen los problemas que podría encontrar al utilizar el y se ofrecen sugerencias para resolverlos.

Para enviar comentarios sobre el cliente de cifrado DynamoDB, registre un problema en el repositorio aws-dynamodb-encryption-java o aws-dynamodb-encryption-python de GitHub.

Para enviar comentarios sobre esta documentación, utilice el enlace de comentarios de cualquier página. También puede registrar un problema o contribuir a aws-dynamodb-encryption-docs, el repositorio de código abierto para esta documentación de GitHub.

Acceso denegado

Problema: su aplicación ha denegado el acceso a un recurso que la necesita.

Sugerencia: obtenga información acerca de los permisos requeridos y agréguelos al contexto de seguridad en el que se ejecuta su aplicación.

Detalles

Para ejecutar una aplicación que usa una biblioteca de , el intermediario debe tener permiso para utilizar sus componentes. De lo contrario, se les denegará el acceso a los elementos requeridos.

Errores de verificación de firma

Problema: un elemento no se puede descifrar porque la verificación de firma devuelve un error. El elemento podría no estar cifrado y firmado del modo previsto.

Sugerencia: asegúrese de que las acciones de atributos que proporcione cuenten para todos los atributos del elemento. Al descifrar un elemento, asegúrese de proporcionar acciones de atributo que coincidan con las acciones utilizadas para cifrar el elemento.

Detalles

Las acciones de atributo que proporciona indican qué atributos cifrar y firmar, qué atributos firmar (pero no cifrar) y cuáles ignorar.

Si las acciones de atributo que especifique no cuentan para todos los atributos del elemento, el elemento podría no cifrarse y firmarse del modo previsto. Si las acciones de atributo que proporciona al descifrar un elemento difieren de las acciones de atributo que proporcione al cifrar el elemento, la verificación de la firma podría fallar. Se trata de un problema particular para aplicaciones distribuidas en las que las nuevas acciones de atributos podrían no haberse propagado a todos los hosts.

Los errores de validación de firmas son difíciles de resolver. Para ayudar a prevenirlos, tome precauciones adicionales al cambiar el modelo de datos. Para obtener más información, consulte Cambiar el modelo de datos.

Problemas con las tablas globales de versiones anteriores

Problema: los elementos de una tabla global de Amazon DynamoDB de una versión anterior no se pueden descifrar porque no se puede comprobar la firma.

Sugerencia: defina las acciones de los atributos de forma que los campos de replicación reservados no estén cifrados ni firmados.

Detalles

Puede utilizar el cliente de cifrado de DynamoDB con las tablas globales de DynamoDB. Se recomienda utilizar tablas globales con una clave KMS de múltiples regiones y replicar la clave KMS en todos los Regiones de AWS lugares donde esté replicada la tabla global.

A partir de la versión 2019.11.21 de tablas globales, puede utilizarlas con el cliente de cifrado de DynamoDB sin ninguna configuración especial. Sin embargo, si utiliza tablas globales de la versión 2017.11.29, debe asegurarse de que los campos de replicación reservados no estén cifrados ni firmados.

Si utiliza las tablas globales de la versión 2017.11.29, debe configurar las acciones de atributo para los siguientes atributos DO_NOTHING en @DoNotTouchJava o Python.

  • aws:rep:deleting

  • aws:rep:updatetime

  • aws:rep:updateregion

Si utiliza cualquier otra versión de las tablas globales, no es necesario realizar ninguna acción.

Rendimiento deficiente del proveedor más reciente

Problema: la aplicación responde menos, especialmente después de actualizarse a una versión más reciente del cliente de cifrado de DynamoDB.

Sugerencia: ajuste el tiempo de vida útil y el tamaño de la memoria caché.

Detalles

El proveedor más reciente está diseñado para mejorar el rendimiento de las aplicaciones que utilizan el cliente de cifrado de DynamoDB al permitir una reutilización limitada del material criptográfico. Al configurar el proveedor más reciente para su aplicación, debe equilibrar la mejora del rendimiento con los problemas de seguridad que se derivan del almacenamiento en caché y la reutilización.

En las versiones más recientes del cliente de cifrado de DynamoDB, el valor del tiempo de vida (TTL) determina durante cuánto tiempo se pueden utilizar los proveedores de material criptográfico (CMP) en caché. El TTL también determina la frecuencia con la que el proveedor más reciente comprueba si hay una nueva versión del CMP.

Si su TTL es demasiado largo, su aplicación podría infringir sus normas empresariales o normas de seguridad. Si tu TTL es demasiado breve, las llamadas frecuentes a la tienda del proveedor pueden provocar que la tienda del proveedor limite las solicitudes de tu aplicación y de otras aplicaciones que comparten tu cuenta de servicio. Para resolver este problema, ajusta el TTL y el tamaño de la caché a un valor que cumpla tus objetivos de latencia y disponibilidad y que se ajuste a tus estándares de seguridad. Para obtener más información, consulte Establecer un valor de tiempo de vida.