Join us at MongoDB.local London on 7 May to unlock new possibilities for your data. Use WEB50 to save 50%.
Register now >
Docs Menu
Docs Home
/ /

Rota y reenvuelve llaves de cifrado

En esta guía puedes aprender cómo gestionar tus claves de cifrado con un Sistema de Gestión de Claves (KMS) en tu aplicación.

Este procedimiento le indica cómo rotar las claves de cifrado para Queryable Encryption usando mongosh. Rotar las DEK consiste en reenvolverlas con una nueva Clave maestra del cliente, por lo que los términos "rotar" y "reenvolver" a veces se utilizan indistintamente.

Después de completar esta guía, debería poder rotar su Clave maestra de cliente (CMK) en su Sistema de gestión de claves, y luego volver a envolver los DEKs existentes en su Colección de Bóvedas de Llaves con la nueva CMK.

Advertencia

Cuando rote las claves, confirme que no se utilicen para cifrar ninguna clave ni ningún dato antes de borrarlas. Si eliminas un DEK, todos los campos cifrados con ese DEK se volverán permanentemente ilegibles. Si elimina una llave maestra de cliente, todos los campos cifrados con una DEK usando esa llave maestra de cliente se vuelven permanentemente ilegibles.

Para una explicación detallada de los conceptos incluidos en este procedimiento, consulta los temas a continuación.

Para obtener más información sobre las claves y los almacenes de claves, consulte Claves de cifrado y bóvedas de claves. Para ver una lista de proveedores de KMS admitidos, consulta la página Proveedores de KMS.

Para obtener tutoriales que detallan cómo configurar una aplicación habilitada para Queryable Encryption con cada uno de los KMS proveedores admitidos, consulte Visión general: habilitación de cifrado consultable.

1

El proceso para rotar la llave maestra de cliente depende del proveedor de KMS. Para más detalles, consulte la documentación de su proveedor de claves:

Una vez que se rota la llave maestra de cliente, MongoDB la utiliza para proteger todas las nuevas DEK. Para volver a envolver las DEK existentes, continúa con los siguientes pasos.

2

El método KeyVault.rewrapManyDataKey() descifra automáticamente varias claves de cifrado de datos y las vuelve a cifrar utilizando la llave maestra de cliente especificada. Luego, actualiza las claves en la Colección de Bóvedas de Llaves.

El método tiene la siguiente sintaxis:

let keyVault = db.getMongo().getKeyVault()
keyVault.rewrapManyDataKey(
{
"<Query filter document>"
},
{
provider: "<KMS provider>",
masterKey: {
"<dataKeyOpts Key>" : "<dataKeyOpts Value>"
}
}
)
  1. Especifica un documento de filtro de query para seleccionar las claves a rotar, u omite el argumento para rotar todas las claves en la Colección de Bóvedas de Llaves

    Si especificas un documento de filtro de query, pero ninguna clave coincide, entonces no se rotan claves.

  2. Especifica el proveedor de KMS

  3. Especifica el masterKey utilizando la nueva llave maestra de cliente, u omite el argumento para rotar las claves utilizando su actual llave maestra de cliente

Sus DEK se dejan sin cambios después de volver a envolverlos con la nueva llave maestra de cliente. El proceso de rotación de claves es sin interrupciones y no interrumpe tu aplicación.

Volver

cifrado explícito

En esta página