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.
Actualización de su modelo de datos
Nuestra biblioteca de cifrado del lado del cliente pasó a llamarse Cifrado de bases de datos. AWS SDK En esta guía para desarrolladores, se sigue proporcionando información sobre el cliente de cifrado de DynamoDB. |
Al configurar el cifrado de AWS bases de datos SDK para DynamoDB, proporciona acciones de atributos. Al cifrar, el cifrado de AWS bases de datos SDK utiliza las acciones de atributos para identificar qué atributos cifrar y firmar, qué atributos firmar (pero no cifrar) y cuáles ignorar. También se definen los atributos no firmados permitidos para indicar explícitamente al cliente qué atributos están excluidos de las firmas. Al descifrar, el cifrado de la AWS base de datos SDK utiliza los atributos no firmados permitidos que usted definió para identificar qué atributos no están incluidos en las firmas. Las acciones de los atributos no se guardan en el elemento cifrado y el cifrado de la AWS base de datos SDK no actualiza las acciones de los atributos automáticamente.
Elija cuidadosamente sus acciones de atributo. En caso de duda, use Encrypt and sign. Una vez que haya utilizado el cifrado de la AWS base de datos SDK para proteger sus elementos, no podrá cambiar un SIGN_AND_INCLUDE_IN_ENCRYPTION_CONTEXT
atributo existente ENCRYPT_AND_SIGN
o uno aDO_NOTHING
. SIGN_ONLY
Puede hacer los siguientes cambios.
-
Agregue SIGN_AND_INCLUDE_IN_ENCRYPTION_CONTEXT atributos nuevos ENCRYPT_AND_SIGN y SIGN_ONLY
-
Cambie un ENCRYPT_AND_SIGN atributo existente a SIGN_ONLY o SIGN_AND_INCLUDE_IN_ENCRYPTION_CONTEXT
-
Cambie un SIGN_AND_INCLUDE_IN_ENCRYPTION_CONTEXT atributo SIGN_ONLY o existente a ENCRYPT_AND_SIGN
-
Cambio de un atributo SIGN_ONLY existente a SIGN_AND_INCLUDE_IN_ENCRYPTION_CONTEXT
-
Cambio de un atributo SIGN_AND_INCLUDE_IN_ENCRYPTION_CONTEXT existente a SIGN_ONLY
Consideraciones sobre el cifrado con capacidad de búsqueda
Antes de actualizar el modelo de datos, considere detenidamente cómo podrían afectar las actualizaciones a las balizas que haya creado a partir de los atributos. Una vez que haya escrito nuevos registros con una baliza, no puede actualizar la configuración de la baliza. No puede actualizar las acciones de los atributos asociadas a los atributos que utilizó para construir balizas. Si elimina un atributo existente y su baliza asociada, no podrá consultar los registros existentes con esa baliza. Puede crear balizas nuevas para los campos nuevos que añada a su registro, pero no puede actualizar las balizas existentes para incluir el nuevo campo.
Consideraciones sobre los SIGN_AND_INCLUDE_IN_ENCRYPTION_CONTEXT
atributos
De forma predeterminada, la partición y las claves de clasificación son el único atributo incluido en el contexto de cifrado. Podría considerar la posibilidad de definir campos adicionales para SIGN_AND_INCLUDE_IN_ENCRYPTION_CONTEXT
que el proveedor del identificador de clave de rama de su conjunto de claves AWS KMS jerárquicas pueda identificar qué clave de rama es necesaria para el descifrado a partir del contexto de cifrado. Para obtener más información, consulte el proveedor de ID de clave de sucursal. Si especifica algún SIGN_AND_INCLUDE_IN_ENCRYPTION_CONTEXT
atributo, los atributos de partición y ordenación también deben serloSIGN_AND_INCLUDE_IN_ENCRYPTION_CONTEXT
.
nota
Para utilizar la acción SIGN_AND_INCLUDE_IN_ENCRYPTION_CONTEXT
criptográfica, debe utilizar la versión 3.3 o posterior del cifrado SDK de AWS bases de datos. Implemente la nueva versión en todos los lectores antes de actualizar su modelo de datos para SIGN_AND_INCLUDE_IN_ENCRYPTION_CONTEXT
incluirla.
Agregue SIGN_AND_INCLUDE_IN_ENCRYPTION_CONTEXT
atributos nuevos ENCRYPT_AND_SIGN
y SIGN_ONLY
Para añadir un SIGN_AND_INCLUDE_IN_ENCRYPTION_CONTEXT
atributo o un nuevo ENCRYPT_AND_SIGN
atributo, defina el nuevo atributo en las acciones de sus atributos. SIGN_ONLY
No puede eliminar un DO_NOTHING
atributo existente y volver a añadirlo como SIGN_AND_INCLUDE_IN_ENCRYPTION_CONTEXT
atributo ENCRYPT_AND_SIGN
SIGN_ONLY
, o.
Uso de una clase de datos anotada
Si ha definido las acciones de los atributos con unaTableSchema
, añada el nuevo atributo a la clase de datos anotada. Si no especificas una anotación de acción de atributo para el nuevo atributo, el cliente cifrará y firmará el nuevo atributo de forma predeterminada (a menos que el atributo forme parte de la clave principal). Si solo quiere firmar el nuevo atributo, debe añadirlo con la @DynamoDBEncryptionSignAndIncludeInEncryptionContext
anotación @DynamoDBEncryptionSignOnly
o.
Uso de un objeto de modelo
Si ha definido manualmente las acciones de los atributos, añada el nuevo atributo a las acciones de los atributos del modelo de objetos y especifique ENCRYPT_AND_SIGN
SIGN_ONLY
, o SIGN_AND_INCLUDE_IN_ENCRYPTION_CONTEXT
como acción de atributo.
Elimine los atributos existentes
Si decide que ya no necesita un atributo, puede dejar de escribir datos en ese atributo o puede eliminarlo formalmente de las acciones de sus atributos. Cuando dejas de escribir nuevos datos en un atributo, el atributo sigue apareciendo en las acciones de tus atributos. Esto puede resultar útil si necesita volver a utilizar el atributo en el futuro. Si eliminas formalmente el atributo de tus acciones de atributos, no lo eliminas de tu conjunto de datos. Su conjunto de datos seguirá conteniendo elementos que incluyan ese atributo.
Para eliminar formalmente un atributo ENCRYPT_AND_SIGN
SIGN_ONLY
, o un DO_NOTHING
atributo existenteSIGN_AND_INCLUDE_IN_ENCRYPTION_CONTEXT
, actualice las acciones de sus atributos.
Si elimina un atributo DO_NOTHING
, no debe eliminarlo de los atributos no firmados permitidos. Aunque ya no escriba valores nuevos en ese atributo, el cliente necesitará saber que el atributo no está firmado para poder leer los elementos existentes que lo contienen.
Uso de una clase de datos anotada
Si ha definido las acciones de los atributos con una TableSchema
, elimine el atributo de la clase de datos anotada.
Uso de un objeto de modelo
Si definió manualmente las acciones de los atributos, elimine el atributo de las acciones de los atributos del modelo de objetos.
Cambie un ENCRYPT_AND_SIGN
atributo existente a SIGN_ONLY
o SIGN_AND_INCLUDE_IN_ENCRYPTION_CONTEXT
Para cambiar un ENCRYPT_AND_SIGN
atributo existente a SIGN_ONLY
oSIGN_AND_INCLUDE_IN_ENCRYPTION_CONTEXT
, debe actualizar las acciones de sus atributos. Tras implementar la actualización, el cliente podrá verificar y descifrar los valores existentes escritos en el atributo, pero solo firmará los nuevos valores escritos en el atributo.
nota
Tenga en cuenta detenidamente sus requisitos de seguridad antes de cambiar un ENCRYPT_AND_SIGN
atributo existente a SIGN_ONLY
oSIGN_AND_INCLUDE_IN_ENCRYPTION_CONTEXT
. Cualquier atributo que pueda almacenar datos confidenciales debe estar cifrado.
Uso de una clase de datos anotada
Si ha definido las acciones de los atributos con unaTableSchema
, actualice el atributo existente para incluir la @DynamoDBEncryptionSignAndIncludeInEncryptionContext
anotación @DynamoDBEncryptionSignOnly
o en la clase de datos anotada.
Uso de un objeto de modelo
Si ha definido manualmente las acciones de atributo, actualice la acción de atributo asociada al atributo existente desde ENCRYPT_AND_SIGN
SIGN_ONLY
o SIGN_AND_INCLUDE_IN_ENCRYPTION_CONTEXT
en su modelo de objetos.
Cambie un SIGN_AND_INCLUDE_IN_ENCRYPTION_CONTEXT
atributo SIGN_ONLY
o existente a ENCRYPT_AND_SIGN
Para cambiar un SIGN_AND_INCLUDE_IN_ENCRYPTION_CONTEXT
atributo SIGN_ONLY
o un atributo existente aENCRYPT_AND_SIGN
, debe actualizar las acciones de sus atributos. Tras implementar la actualización, el cliente podrá comprobar los valores existentes escritos en el atributo y cifrará y firmará los nuevos valores escritos en el atributo.
Uso de una clase de datos anotada
Si ha definido las acciones de sus atributos con unaTableSchema
, elimine la @DynamoDBEncryptionSignAndIncludeInEncryptionContext
anotación @DynamoDBEncryptionSignOnly
o del atributo existente.
Uso de un objeto de modelo
Si ha definido manualmente las acciones de atributo, actualice la acción de atributo asociada al atributo desde SIGN_ONLY
o SIGN_AND_INCLUDE_IN_ENCRYPTION_CONTEXT
hacia ENCRYPT_AND_SIGN
en su modelo de objetos.
Añada un atributo DO_NOTHING
nuevo
Para reducir el riesgo de errores al añadir un atributo DO_NOTHING
nuevo, le recomendamos que especifique un prefijo distinto al asignar un nombre a los atributos DO_NOTHING
y, a continuación, utilizar ese prefijo para definir los atributos no firmados permitidos.
No puede eliminar un SIGN_AND_INCLUDE_IN_ENCRYPTION_CONTEXT
atributo o atributo existente ENCRYPT_AND_SIGN
de la clase de datos anotada ySIGN_ONLY
, a continuación, volver a añadir el atributo como DO_NOTHING
atributo. Solo puede agregar atributos DO_NOTHING
completamente nuevos.
Los pasos que siga para añadir un atributo DO_NOTHING
nuevo dependerán de si ha definido los atributos no firmados permitidos de forma explícita en una lista o con un prefijo.
Utilizar un prefijo de atributos no firmados permitido
Si ha definido las acciones de los atributos con un TableSchema
, añada el atributo DO_NOTHING
nuevo a la clase de datos anotada con la anotación @DynamoDBEncryptionDoNothing
. Si ha definido manualmente las acciones de los atributos, actualice las acciones de los atributos para incluir el nuevo atributo. Asegúrese de configurar explícitamente el nuevo atributo con la acción de atributo DO_NOTHING
. Debe incluir el mismo prefijo distinto en el nombre del nuevo atributo.
Utilizar una lista de atributos no firmados permitidos
-
Añada el atributo
DO_NOTHING
nuevo a la lista de atributos no firmados permitidos e implemente la lista actualizada. -
Implemente el cambio desde el paso 1.
No puede continuar con el paso 3 hasta que el cambio se haya propagado a todos los hosts que necesiten leer estos datos.
-
Añada el atributo
DO_NOTHING
nuevo a las acciones de sus atributos.-
Si ha definido las acciones de los atributos con un
TableSchema
, añada el atributoDO_NOTHING
nuevo a la clase de datos anotada con la anotación@DynamoDBEncryptionDoNothing
. -
Si ha definido manualmente las acciones de los atributos, actualice las acciones de los atributos para incluir el nuevo atributo. Asegúrese de configurar explícitamente el nuevo atributo con la acción de atributo
DO_NOTHING
.
-
-
Implemente el cambio desde el paso 3.
Cambio de un atributo SIGN_ONLY
existente a SIGN_AND_INCLUDE_IN_ENCRYPTION_CONTEXT
Para cambiar un atributo existente SIGN_ONLY
a SIGN_AND_INCLUDE_IN_ENCRYPTION_CONTEXT
, debe actualizar las acciones del atributo. Tras implementar la actualización, el cliente podrá comprobar los valores existentes escritos en el atributo y seguirá firmando los nuevos valores escritos en el atributo. Los nuevos valores escritos en el atributo se incluirán en el contexto de cifrado.
Si especifica algún SIGN_AND_INCLUDE_IN_ENCRYPTION_CONTEXT
atributo, los atributos de partición y ordenación también deben serloSIGN_AND_INCLUDE_IN_ENCRYPTION_CONTEXT
.
Uso de una clase de datos anotada
Si ha definido sus acciones de atributo con unaTableSchema
, actualice la acción de atributo asociada al atributo de @DynamoDBEncryptionSignOnly
a@DynamoDBEncryptionSignAndIncludeInEncryptionContext
.
Uso de un objeto de modelo
Si ha definido manualmente las acciones de atributo, actualice la acción de atributo asociada al atributo de SIGN_ONLY
a SIGN_AND_INCLUDE_IN_ENCRYPTION_CONTEXT
en su modelo de objetos.
Cambio de un atributo SIGN_AND_INCLUDE_IN_ENCRYPTION_CONTEXT
existente a SIGN_ONLY
Para cambiar un atributo existente SIGN_AND_INCLUDE_IN_ENCRYPTION_CONTEXT
a SIGN_ONLY
, debe actualizar las acciones del atributo. Tras implementar la actualización, el cliente podrá comprobar los valores existentes escritos en el atributo y seguirá firmando los nuevos valores escritos en el atributo. Los nuevos valores escritos en el atributo no se incluirán en el contexto de cifrado.
Antes de cambiar un SIGN_AND_INCLUDE_IN_ENCRYPTION_CONTEXT
atributo existente aSIGN_ONLY
, considere detenidamente cómo sus actualizaciones podrían afectar a la funcionalidad de su proveedor de ID de clave de sucursal.
Uso de una clase de datos anotada
Si ha definido sus acciones de atributo con unaTableSchema
, actualice la acción de atributo asociada al atributo de @DynamoDBEncryptionSignAndIncludeInEncryptionContext
a@DynamoDBEncryptionSignOnly
.
Uso de un objeto de modelo
Si ha definido manualmente las acciones de atributo, actualice la acción de atributo asociada al atributo de SIGN_AND_INCLUDE_IN_ENCRYPTION_CONTEXT
a SIGN_ONLY
en su modelo de objetos.