Mongo Client-Side Field Level Encryption Project Sample - Christopher Duran
Christopher Duran
Posted on January 18, 2023
Introducción:
Client-Side Field Level Encryption (CSFLE) es una característica que te permite cifrar datos en tu aplicación antes de enviarlos a través de la red MONGO.
Con CSFLE habilitado ningún producto de MONGODB tiene acceso a sus datos sin cifrar. Documentación
Proyecto PRE Requesítos:
Ejecuta el proyecto:
Activa el servicio de la base de datos con el comando:
> mongod
Si MONGO Shell está correctamente configurado verás un resultado como el siguiente:
Ubícate el la raíz del proyecto y ejecuta el comando:
> python3 app.py
Si Flask está corriendo perfectamente verás un resultado como el siguiente:
Abre MONGO Compass, normalmente no verás ninguna base de datos creada:
Abre Postman, usaremos una solicitud POST para guardar un nuevo usuario:
Realizada la solicitud anterior podremos visualizar en la base de datos que se ha guardado un nuevo usuario con los campos encriptados:
Si deseamos consultar el usuario por id podemos realizar la siguiente solicitud en postman:
- Línea amarilla: enviamos como solicitud de cuerpo JSON la llave con la cual se decidió encriptar los campos del usuario.
- Línea azul: Se solicita al usuario por id, este será el ObjectId que se ha guardado en la base de datos.
- Zona roja: Si no se utiliza el código de desencriptación FLE, la base de datos mostrará al usuario encriptado.
- Zona verde: Utilizando el proceso de desencriptado de FLE, podremos visualizar de manera legible los datos del usuario.
Descarga el proyecto aquí.
El código de este ejemplo se encuentra en la rama chris/devfledemo.
El commit se llama: feat(app.py): fle demo
En caso de tener problemas con Python, y Windows no reconoce python3 en la terminal, se recomienda descargar Python desde el Microsoft Store el cual contiene python3.
Artículo disponible también en: Hashnode
Posted on January 18, 2023
Join Our Newsletter. No Spam, Only the good stuff.
Sign up to receive the latest update from our blog.
Related
January 18, 2023