En esta guía, puede aprender a administrar sus claves de cifrado con un sistema de administración de claves (KMS) en su aplicación habilitada para cifrado consultable.
Componentes de cifrado
MongoDB utiliza los siguientes componentes para realizar el cifrado consultable:
Claves de cifrado de datos (DEK)
Llaves maestras del cliente (CMK)
Colecciones de Bóvedas de Llaves
Sistemade gestión de claves (KMS)
Para obtener más información sobre claves y bóvedas de claves, consulte Llaves y bóvedas de llaves.
Rotar claves de cifrado con mongosh
Puede rotar las claves de cifrado utilizando el
KeyVault.rewrapManyDataKey()Método. El rewrapManyDataKey método descifra automáticamente varias claves de datos y las vuelve a cifrar utilizando una clave maestra de cliente especificada. A continuación, actualiza las claves rotadas en la colección del almacén de claves. Este método permite rotar las claves de cifrado según dos argumentos opcionales:
Un documento de filtro de consulta que se utiliza para especificar las claves que se rotarán. Si ninguna clave de datos coincide con el filtro especificado, no se rota ninguna clave. Omita el filtro para rotar todas las claves de su colección de almacén de claves.
Un objeto que representa una nueva CMK. Omítalo para rotar las claves de datos usando sus CMK actuales.
El método rewrapManyDataKey tiene la siguiente sintaxis:
let keyVault = db.getMongo().getKeyVault() keyVault.rewrapManyDataKey( { "<Your custom filter>" }, { provider: "<KMS provider>", masterKey: { "<dataKeyOpts Key>" : "<dataKeyOpts Value>" } } )
Servicios de gestión de claves compatibles
El cifrado consultable admite los siguientes proveedores de sistemas de gestión de claves:
Amazon Web Services KMS
Azure Key Vault
Google Cloud KMS
Cualquier sistema de gestión de claves compatible con KMIP
Proveedor de claves local (solo para pruebas)
Para obtener más información sobre estos proveedores, incluidos diagramas que muestran cómo su aplicación los utiliza para realizar el cifrado consultable, consulte Proveedores de KMS.
Razones para utilizar un KMS remoto
El uso de un sistema de administración de claves remoto para administrar su clave maestra de cliente tiene las siguientes ventajas sobre el uso de su sistema de archivos local para alojar la CMK:
Almacenamiento seguro de la clave con auditoría de acceso
Reducción del riesgo de problemas de permisos de acceso
Disponibilidad y distribución de la clave a clientes remotos
Copia de seguridad y recuperación de claves automatizadas
Gestión centralizada del ciclo de vida de las claves de cifrado
Además, para los siguientes proveedores de KMS, su KMS encripta y desencripta de forma remota su clave de encriptación de datos, lo que garantiza que su clave maestra de cliente nunca quede expuesta a su aplicación habilitada para encriptación consultable:
Amazon Web Services KMS
Azure Key Vault
Google Cloud KMS
Obtén más información
Para obtener tutoriales que detallan cómo configurar una aplicación habilitada para cifrado consultable con cada uno de los proveedores de KMS compatibles, consulte las siguientes páginas: