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.
Cifrado con capacidad de búsqueda para bases de datos multitenencia
Nuestra biblioteca de cifrado del lado del cliente pasó a llamarse AWS Database Encryption. SDK En esta guía para desarrolladores, se sigue proporcionando información sobre el cliente de cifrado de DynamoDB. |
Para implementar un cifrado con capacidad de búsqueda en su base de datos, debe utilizar un conjunto de claves de AWS KMS jerárquico. El conjunto de claves AWS KMS jerárquico genera, cifra y descifra las claves de datos utilizadas para proteger sus registros. También crea la clave de baliza que se utiliza para generar balizas. Cuando se utiliza el conjunto de claves AWS KMS jerárquico con bases de datos multiusuario, hay una clave de rama y una clave de baliza distintas para cada inquilino. Para consultar datos cifrados en una base de datos de multitenencia, debe identificar los materiales clave de baliza utilizados para generar la baliza que está consultando. Para obtener más información, consulte Uso del conjunto de claves jerárquico para el cifrado para búsquedas.
Al definir la versión de baliza para una base de datos de multitenencia, especifique una lista de todas las balizas estándar que configuró, una lista de todas las balizas compuestas que configuró, una versión de baliza y una keySource
. Debe definir la fuente de claves de baliza como una MultiKeyStore
, e incluir unakeyFieldName
, el tiempo de vida de la caché de claves de baliza local y el tamaño máximo de la caché de claves de baliza local.
Si configuró alguna baliza firmada, debe incluirla en su compoundBeaconList
. Las balizas firmadas son un tipo de baliza compuesta que indexan y realizan consultas complejas en los campos y campos. SIGN_ONLY
SIGN_AND_INCLUDE_IN_ENCRYPTION_CONTEXT
- keyFieldName
-
El keyFieldName define el nombre del campo que almacena la
branch-key-id
asociada a la baliza utilizada para generar las balizas para un inquilino determinado.Cuando se escriben nuevos registros en la base de datos, en este campo se almacena la
branch-key-id
de baliza utilizada para generar las balizas de ese registro.De forma predeterminada, el
keyField
es un campo conceptual que no se almacena de forma explícita en la base de datos. El cifrado de la AWS basebranch-key-id
de datos SDK identifica la clave de los datos cifrados en la descripción del material y almacena el valor en el conceptokeyField
para que pueda consultarlo en las balizas compuestas y balizas firmadas. Como la descripción del material está firmada, lo conceptualkeyField
se considera una parte firmada.También puede incluirlo
keyField
en sus acciones criptográficas como unSIGN_AND_INCLUDE_IN_ENCRYPTION_CONTEXT
campoSIGN_ONLY
o para almacenar explícitamente el campo en la base de datos. Si lo hace, debe incluir manualmente elbranch-key-id
en lakeyField
cada vez que escriba un registro en la base de datos.
Consulta de balizas en una base de datos de multitenencia
Para consultar una baliza, debe incluir la keyField
en la consulta los materiales clave necesarios para volver a calcular la baliza. Debe especificar la branch-key-id
asociada a la baliza utilizada para generar las balizas para un registro. No puede especificar el nombre amigable que identifica al branch-key-id
del inquilino en el proveedor de ID de clave de rama. Puede incluir el keyField
en sus consultas de las siguientes maneras.
- Balizas compuestas
-
Ya sea que las almacene de forma explícita
keyField
en sus registros o no, puede incluir laskeyField
directamente en sus balizas compuestas como una parte firmada. La partekeyField
firmada debe ser obligatoria.Por ejemplo, si desea construir una baliza compuesta,
compoundBeacon
, a partir de dos campos,encryptedField
ysignedField
, también debe incluir la balizakeyField
como parte firmada. Esto permite realizar la siguiente consulta encompoundBeacon
.compoundBeacon = E_encryptedFieldValue.S_signedFieldValue.K_
branch-key-id
- Balizas firmadas
-
El cifrado AWS de bases de datos SDK utiliza balizas estándar y compuestas para proporcionar soluciones de cifrado con capacidad de búsqueda. Estas balizas deben incluir al menos un campo cifrado. Sin embargo, el cifrado AWS de bases de datos SDK también admite balizas firmadas que se pueden configurar completamente a partir de texto
SIGN_ONLY
y campos sin formato.SIGN_AND_INCLUDE_IN_ENCRYPTION_CONTEXT
Las balizas firmadas se pueden construir a partir de una sola pieza. Ya sea que las almacene de forma explícita
keyField
en sus registros o no, puede crear una baliza firmada a partir de ellakeyField
y utilizarla para crear consultas compuestas que combinen una consulta en la balizakeyField
firmada con una consulta en una de las otras balizas. Por ejemplo, puede realizar la siguiente consulta.keyField = K_
branch-key-id
AND compoundBeacon = E_encryptedFieldValue.S_signedFieldValueSi necesita ayuda para configurar las balizas firmadas, consulte Crear balizas firmadas
- Realice consultas directamente en el
keyField
-
Si lo especificó
keyField
en sus acciones criptográficas y almacenó el campo de forma explícita en su registro, puede crear una consulta compuesta que combine una consulta de su baliza con una consulta dekeyField
. Puede optar por realizar una consulta directamente en elkeyField
si desea consultar una baliza estándar. Por ejemplo, puede realizar la siguiente consulta.keyField =
branch-key-id
AND standardBeacon = S_standardBeaconValue