Nota
Esta característica no está disponible para ninguna de las siguientes implementaciones:
Clústeres gratuitos
Clústeres Flex
Para obtener más información, consulta Límites.
Puedes usar una clave administrada por el cliente (CMK) de Azure Key Vault (AKV) para cifrar aún más tus datos en reposo en Atlas. También puede configurar que todo el tráfico hacia su AKV utilice Azure Private Link.
Nota
El Modelo de Responsabilidad Compartida de MongoDB Atlas define los deberes complementarios de MongoDB y sus clientes en el mantenimiento de un entorno de datos seguro y resiliente. Bajo este marco, MongoDB gestiona la seguridad y la integridad operativa de la plataforma subyacente, mientras que los clientes son responsables de la configuración, gestión y políticas de datos de sus implementaciones específicas. Para obtener un desglose detallado de la propiedad en materia de seguridad y excelencia operativa, consulta el Modelo de Responsabilidad Compartida.
Atlas utiliza su llave maestra de cliente de Azure Key Vault para encriptar y desencriptar las claves maestras de MongoDB. Estas Claves Maestras de MongoDB se utilizan para cifrar archivos de bases de datos del clúster y snapshots de proveedores de nube. Para obtener más información sobre cómo Atlas utiliza llaves maestras de clientepara el cifrado, consulte Sobre las claves gestionadas por el cliente con Azure Key Vault.
Cuando uses tu propio KMS de proveedor de nube, Atlas rotará automáticamente las Claves Maestras de MongoDB al menos cada 90 días. Tu rotación de claves comenzará durante un periodo de mantenimiento, si tienes una configurada. Posponer el mantenimiento (ya sea de forma manual o automática) puede hacer que la clave rote más allá del límite de 90días. Las claves se rotan de forma continua y el proceso no requiere que los datos se reescriban.
Importante
Azure limita la vida útil del secreto del cliente para las CMK (llave maestra de cliente)a dos años. Atlas no puede acceder a una llave maestra de cliente una vez que caduca el secreto del cliente. Por lo tanto, rote los secretos del cliente antes de su vencimiento para evitar la pérdida de disponibilidad del clúster. Para aprender sobre una opción sin secretos, consulte Autenticación sin secretos de Azure Key Vault.
Esta página cubre la configuración de la gestión de claves del cliente utilizando AKV en su proyecto Atlas. También puedes usar la API de administración de Atlas para configurar automáticamente Azure Private Link en tu AKV y garantizar que todo el tráfico entre Atlas y AKV se produzca a través de las interfaces de red privadas de Azure.
Debes configurar la gestión de claves de cliente para el Proyecto Atlas antes de activarla en los clústeres de ese Proyecto.
Sobre claves gestionadas por el cliente con Azure Key Vault
La gestión de claves de clientes en Atlas sigue un proceso denominado cifrado de sobre. Este proceso crea múltiples capas de cifrado al cifrar una clave con otra clave. Para habilitar la gestión de claves de los clientes, Atlas utiliza las siguientes claves de cifrado:
Customer-Managed Key (CMK)Las llaves administradas por el cliente son llaves de cifrado que creas, posees y gestionas en Azure Key Vault. Se crea la llave maestra de cliente en Azure Key Vault y se conecta a Atlas a nivel de Proyecto. Para obtener más información sobre las llaves maestras de clienteutilizadas en Azure Key Vault, consulte la documentación de Azure.
Atlas utiliza esta llave solo para cifrar las claves principales de MongoDB.
MongoDB Master KeyCada nodo en tu clúster de Atlas crea una Clave Maestra de MongoDB. Las claves maestras de MongoDB son claves de cifrado que un MongoDB Server utiliza para cifrar las claves de cifrado por base de datos. Atlas guarda una copia cifrada de la clave localmente.
Esta clave se encuentra cifrada con la llave maestra de cliente y cifra las claves de cifrado específicas de cada base de datos.
Per-Database Encryption KeyCada nodo en su clúster de Atlas también crea una clave de cifrado por base de datos en su clúster. Atlas utiliza estas claves para leer y guardar datos a través de WiredTiger, que también cifra y almacena estas claves.
Esta clave está cifrada con la clave maestra de MongoDB.
Ejemplo
Considere la siguiente jerarquía de cifrado para un set de réplicas de tres nodos. Atlas utiliza la llave maestra de cliente de Azure Key Vault para cifrar una Clave Maestra de MongoDB única para cada nodo en el clúster. Cada nodo también contiene tres bases de datos, cada una de las cuales está cifrada con una clave de cifrado única por base de datos. Cuando se inicia el clúster, Atlas descifra la clave maestra de MongoDB usando la llave maestra de cliente del Azure Key Vault y la suministra al MongoDB Server.
Nota
Si se revoca el acceso de Atlas a la llave maestra de cliente, Atlas cierra los nodos del clúster y no se podrá acceder a los datos hasta que se restaure el acceso a la llave maestra de cliente.

Qué necesitas saber
Tras configurar Atlas para usar tu AKV llave maestra de cliente, aprende más acerca de la rotación de tu identificador de clave de Azure y acerca de la conmutación por error de Azure Key Vault durante una interrupción.
Acerca de la rotación de su identificador de clave de Azure
Nota
Esta característica no está disponible para ninguna de las siguientes implementaciones:
Clústeres gratuitos
Clústeres Flex
Para obtener más información, consulta Límites.
MongoDB Master Key - Responsabilidad de MongoDB
Cuando uses tu propio KMS de proveedor de nube, Atlas rotará automáticamente las Claves Maestras de MongoDB al menos cada 90 días. Tu rotación de claves comenzará durante un periodo de mantenimiento, si tienes una configurada. Posponer el mantenimiento (ya sea de forma manual o automática) puede hacer que la clave rote más allá del límite de 90días. Las claves se rotan de forma continua y el proceso no requiere que los datos se reescriban.
Rote tu Azure Key ID. Su Responsabilidad
Atlas no rota automáticamente el Identificador Clave utilizado para Azure Key Vault.
Atlas crea automáticamente un encryption key rotation alert para recordarte que debes rotar tu Identificador de clave de Azure cada 90 días por defecto cuando habilitas el cifrado en reposo para un Proyecto Atlas.
Puede rotar llave maestra de cliente almacenada en Azure Key Vault usted mismo o configurar su Azure Key Vault para rotar automáticamente sus claves. Si se configura la rotación automática en Azure Key Vault, el período de tiempo por defecto para la rotación es aproximadamente de 365 días.
Si ya configuraste una rotación automática en Azure Key Vault y no deseas recibir la alerta de Atlas para rotar tu identificador de clave de Azure cada 90 días, puedes modificar el periodo de alerta por defecto para que sea superior a 365 días.
Acerca de la conmutación por error de Azure Key Vault durante una Interrupción del servicio
Durante una interrupción del servicio, tu región AKV podría no estar disponible. Si esto ocurre, Azure reenvía automáticamente las solicitudes entrantes de Key Vault a una región secundaria preasignada. Para obtener más información, consulte Conmutación por error de Azure Key Vault y Emparejamientos Regionales.
Si ambas regiones están caídas, puedes migrar manualmente tu clave a una región fuera del emparejamiento regional. Para obtener más información, consulte Mover un Key Vault entre regiones.
Nota
Si has activado el Cifrado en reposo usando la gestión de claves del cliente, puedes realizar operaciones de cifrado y descifrado mientras al menos un nodo siga disponible durante la Interrupción del servicio. Atlas no apagara tus clústeres.
Para ciertas regiones, Azure no admite la conmutación por error automática. Para obtener más información, consulte la documentación de Azure.
Acceso requerido
Para configurar la gestión de claves de cliente, debes tener acceso de Project Owner al proyecto.
Los usuarios con acceso Organization Owner deben añadirse al proyecto como Project Owner.
Debe conceder a Atlas acceso a su AKV usando un(a) Permission Model. Puedes conceder acceso mediante una política de acceso a Key Vault o Azure RBAC.
Antes de conceder permisos de plano de datos, primero debe asignar el rol de lector a su entidad de servicio. Esto es necesario para ambos modelos de permisos (RBAC y directiva de acceso):
PowerShell
New-AzRoleAssignment ` -ObjectId "<SERVICE_PRINCIPAL_ID>" ` -RoleDefinitionName "Reader" ` -Scope "/subscriptions/<SUBSCRIPTION_ID>/resourceGroups/<RESOURCE_GROUP>/providers/Microsoft.KeyVault/vaults/<KEY_VAULT_NAME>"
CLI de Azure
az role assignment create \ --assignee-object-id "<SERVICE_PRINCIPAL_ID>" \ --assignee-principal-type ServicePrincipal \ --role "Reader" \ --scope "/subscriptions/<SUBSCRIPTION_ID>/resourceGroups/<RESOURCE_GROUP>/providers/Microsoft.KeyVault/vaults/<KEY_VAULT_NAME>"
Después de asignar el rol de lector, otorgue permisos de plano de datos mediante uno de los siguientes modelos de permisos:
Si usas políticas de acceso, realiza las siguientes acciones en la interfaz de usuario de Azure para conceder a Atlas el acceso a tu AKV.
En la configuración Access Control (IAM), otorga el permiso
Microsoft.KeyVault/vaults/reada tu aplicación.En la página Access Policies, cree una política de acceso con el siguiente Key Permissions:
Conceder este permiso...Para...Obtener
Lee los metadatos sobre la clave almacenada en tu AKV.
cifrado
Usa las claves en tu AKV para cifrar datos.
Descifrar
Utiliza las claves en tu AKV para descifrar datos que hayan sido cifrados previamente con esas claves.
Agrega la misma aplicación como el principal y configura la política de acceso.
Sigue la documentación de Azure para crear una nueva clave RSA. Abre los detalles de la versión clave y copia la Key Identifier URI, que necesitas para configurar Atlas en los siguientes pasos.
Si tu AKV utiliza RBAC, debes realizar lo siguiente en la configuración de la Azure Interfaz de Usuario Access Control (IAM) para otorgar acceso Atlas a tu AKV.
Concede los siguientes permisos de
actionsa la aplicación.Conceder este permiso...Para...Microsoft.KeyVault/vaults/readLeer las propiedades de un Key Vault
Microsoft.KeyVault/vaults/keys/readLee los metadatos sobre la clave almacenada en tu AKV.
{ "permissions": [ { "actions": [ "Microsoft.KeyVault/vaults/read" "Microsoft.KeyVault/vaults/keys/read" ] } ... ] } Concede los siguientes permisos de
dataActionsa la aplicación.Conceder este permiso...Para...Microsoft.KeyVault/vaults/keys/readLee los metadatos sobre la clave almacenada en tu AKV.
Microsoft.KeyVault/vaults/keys/encrypt/actionUsa las claves en tu AKV para cifrar datos.
Microsoft.KeyVault/vaults/keys/decrypt/actionUtilice las claves de su AKV para descifrar datos cifrados previamente con esas claves.
{ "permissions": [ ... { "dataActions": [ "Microsoft.KeyVault/vaults/keys/read", "Microsoft.KeyVault/vaults/keys/encrypt/action", "Microsoft.KeyVault/vaults/keys/decrypt/action" ] } ] }
Próximos pasos
Puedes utilizar una clave administrada por el cliente (CMK) de Azure Key Vault (AKV) a través de una red pública o de Azure nodos privados. Para obtener más información, consulte lo siguiente:
Nota
Si habilitas cifrado en reposo utilizando la gestión de claves del cliente, puedes realizar operaciones de cifrado y descifrado mientras al menos un nodo permanezca disponible durante la Interrupción del servicio.
Active las claves administradas por el Cliente para los nodos de búsqueda
Por defecto, MongoDB y los procesos de búsqueda se ejecutan en los mismos nodos. Con esta arquitectura, el cifrado gestionado por el cliente se aplica a los datos de tu base de datos, pero no se aplica a los índices de búsqueda.
Cuando habilitas nodos de búsqueda dedicados, los procesos de búsqueda se ejecutan en nodos independientes. Esto te permite activar Cifrado de datos del nodo de búsqueda, para que puedas cifrar tanto los datos de la base de datos como los índices de búsqueda con el mismo cifrado administrado por el cliente, lo que proporciona una cobertura completa de cifrado.
Nota
Los nodos de la base de datos y los nodos de búsqueda utilizan diferentes métodos de cifrado con las mismas claves gestionadas por el cliente. Los nodos de la base de datos usan el motor de almacenamiento cifrado WiredTiger, mientras que los nodos de búsqueda usan cifrado a nivel de disco.
Importante
Esta función está disponible en todos los proveedores de servicios de gestión del conocimiento (KMS).