Este tutorial muestra cómo compilar una aplicación que implemente la funcionalidad de Queryable Encryption de MongoDB para cifrar y descifrar automáticamente los campos de documento.
El tutorial incluye las siguientes secciones:
Configurar su proyecto: Instale el driver y las dependencias de cifrado, configure sus variables de entorno y cree sus archivos de proyecto con las variables de aplicación requeridas.
Configurar cifrado: cree una clave maestra de cliente (CMK), configure su proveedor de KMS y la configuración de cifrado automático, y cree un cliente y una colección habilitados para cifrado.
Realizar operación cifrado: inserta un documento con campo cifrado, realiza una query en un campo cifrado y ejecutar la aplicación para ver los resultados descifrados.
Selecciona el lenguaje del driver en el menú desplegable para aprender cómo crear una aplicación que encripta y desencripta automáticamente los campos de documento.
Importante
No uses esta aplicación de muestra en producción
Debido a que las instrucciones de este tutorial incluyen almacenar una clave de cifrado en un entorno inseguro, no debe usar una versión no modificada de esta aplicación en producción. El uso de esta aplicación en producción acarrea el riesgo de acceso no autorizado a la llave de cifrado o la pérdida de la clave necesaria para descifrar tus datos. El propósito de este tutorial es demostrar cómo usar Queryable Encryption sin necesidad de configurar un sistema de gestión de clave.
Se puede utilizar un Sistema de Gestión de Claves para almacenar de forma segura la clave de cifrado en un entorno de producción. Un KMS es un servicio remoto que almacena y gestiona de forma segura tus llaves de cifrado. Para aprender a configurar una aplicación habilitada para Queryable Encryption que utiliza un KMS, consulta los Tutoriales de Queryable Encryption.
Antes de comenzar
Antes de comenzar este tutorial, completa los siguientes pasos previos:
Descarga la librería compartida de cifrado automático desde el MongoDB Download Center. Navega a la sección MongoDB Enterprise Server Download y selecciona las siguientes opciones:
En el menú desplegable Version, selecciona la versión marcada como
"current".En el menú desplegable Platform, seleccione su plataforma.
En el menú desplegable Package, selecciona
crypt_shared.
Extraiga el fichero y guarde la ruta al archivo de la librería compartida para usarla en el futuro.
Nota
Componente de análisis de query
La librería compartida de cifrado automático es una alternativa preferida a
mongocryptdy no requiere la creación de un nuevo proceso para realizar el cifrado automático. Este tutorial utiliza la librería compartida de cifrado automático.Configure un clúster de MongoDB Atlas o una implementación local de set de réplicas y guarde su cadena de conexión para usarla en el futuro. Para aprender más información, consulte el tutorial Comenzar.
Nota
MongoDB Community Edition no es compatible con Queryable Encryption con cifrado automático.
Asegúrate de que tu usuario de base de datos tenga permisos de
dbAdminen los siguientes namespaces:encryption.__keyVaultmedicalRecordsdatabase
Código completo de la aplicación
Procedimiento
En este tutorial, creó una aplicación que cifra y descifra automáticamente los campos ssn y billing de su colección patients. Dado que su aplicación utiliza un cliente cifrado, la query devuelve los valores de campo descifrados. Un cliente que no esté configurado con sus llaves de cifrado vería los valores cifrados de esos campos en su lugar.
Obtén más información
Para consultar un tutorial sobre Queryable Encryption listo para producción con un KMS remoto, consulta Tutoriales de Queryable Encryption.
Para aprender cómo funciona Queryable Encryption, consulta Fundamentos de Queryable Encryption.
Para obtener más información sobre los temas mencionados en esta guía, consulta los siguientes enlaces:
Aprende más sobre los componentes de Queryable Encryption en la página de Referencia.
Aprenda cómo funcionan las llaves maestras de cliente y las claves de cifrado de datos en la página Claves de cifrado y claves secretas.
Mira cómo los Proveedores de KMS gestionan tus claves de Encriptación Consultable en la página Proveedores de KMS.