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
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
Temas
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.
-
El cliente de cifrado de DynamoDB no requiere una cuenta de Amazon Web Services (AWS) ni depende de ningún servicio. AWS No obstante, si su aplicación utiliza AWS, necesita un Cuenta de AWS
y usuarios que tengan permiso para utilizar la cuenta. -
El cliente de cifrado de DynamoDB no requiere Amazon DynamoDB. Sin embargo, si la aplicación que utiliza el cliente crea tablas de DynamoDB, coloca elementos en una tabla u obtiene elementos de una tabla, el intermediario debe tener permiso para utilizar las operaciones de DynamoDB requeridas en su Cuenta de AWS. Para obtener más información, consulte los temas de control de acceso en la Guía para desarrolladores de Amazon DynamoDB.
-
Si la aplicación utiliza una clase auxiliar de cliente en el cliente de cifrado de DynamoDB para Python, la persona que llama debe tener permiso para llamar a la operación DescribeTable de DynamoDB.
-
El cliente de cifrado de DynamoDB no AWS Key Management Service requiere (). AWS KMS Sin embargo, si la aplicación utiliza un proveedor de materiales de Direct KMS o utiliza un proveedormás reciente con un almacén de proveedores que lo utiliceAWS KMS, la persona que llama debe tener permiso para utilizar las operaciones AWS KMSGenerateDataKey y Decrypt.
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.
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.