Nota
Esta característica no está disponible para ninguna de las siguientes implementaciones:
Clústeres gratuitos
Clústeres Flex
Para aprender más, Límites.
Puedes usar una clave gestionada por el cliente (CMK) de Google Cloud KMS para cifrar aún más tus datos en reposo en Atlas.
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 Modelo de responsabilidad compartida.
Atlas utiliza su llave maestra de cliente de Google Cloud KMS para cifrar y descifrar Claves Maestras de MongoDB, que luego se utilizan para cifrar los archivos de la base de datos del clúster y snapshots de los proveedores de nube. Para obtener más información sobre cómo Atlas utiliza las CMKpara el cifrado, consulte Habilite claves administradas por el cliente con Google Cloud KMS.
Cuando usas tu propio proveedor de nube KMS, Atlas rota automáticamente las claves maestras de MongoDB al menos cada 90 días. La rotación de tu clave comenzará durante un periodo de mantenimiento, si tienes una configurada. Aplazar el mantenimiento (ya sea manual o automáticamente) puede hacer que la clave se rote más allá del límite de 90días. Las claves se rotan de forma progresiva y el proceso no requiere que los datos se vuelvan a escribir.
Debes configurar la gestión de claves de cliente para el Proyecto Atlas antes de activarla en los clústeres de ese Proyecto.
Habilite las claves gestionadas por el cliente con Google Cloud KMS
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 claves gestionadas por el cliente son llaves de cifrado que creas, posees y gestionas en Google Cloud KMS. Crea la llave maestra de cliente en Google Cloud KMS y la conectas a Atlas a nivel de Proyecto. Para obtener más información sobre las llaves maestras de clienteutilizadas en Google Cloud KMS, consulta la Documentación de Google Cloud.
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 está cifrada con la llave maestra de cliente y cifra las llaves de cifrado por 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 Google Cloud KMS 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 se cifra con una clave de cifrado exclusiva por base de datos. Cuando se inicia el clúster, Atlas descifra la Clave Maestra de MongoDB utilizando la llave maestra de cliente de Google Cloud KMS y la suministra al MongoDB Server.
Nota
Si revocas el acceso de Atlas a la llave maestra de cliente, Atlas apaga los nodos en tu clúster y no puedes acceder a tus datos hasta que restaures el acceso a la llave maestra de cliente.

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.
Requisitos previos
Para habilitar claves administradas por el cliente con Google Cloud KMS para un proyecto de MongoDB, debe tener:
Utilice un clúster M10 o mayor.
Tu clave de cuenta de servicio de Google Cloud.
Tu llave de cifrado simétrica en Google Cloud KMS.
El ID de recurso de versión de clave asociado con tu clave de cifrado de Google Cloud KMS.
Una cuenta de servicio de Google Cloud con credenciales especificadas en tu Clave de cuenta de servicio con permisos suficientes para:
Obtener la versión de la llave de cifrado de Google Cloud KMS.
Cifre los datos con la versión de la clave de cifrado de Google Cloud KMS.
Descifra datos con la llave de cifrado de Google Cloud KMS.
Nota
La clave, no la versión de la clave, se encarga del descifrado.
Si la configuración de tu KMS de Google Cloud lo requiere, crea Niveles de acceso desde GCP para las direcciones IP de Atlas y las direcciones IP públicas o nombres de host DNS de los nodos de tu clúster para que Atlas pueda comunicarse con tu KMS. Si las direcciones IP del nodo cambian, debes actualizar tu configuración para evitar interrupciones de conectividad.
Tip
Consulta la documentación de Google Cloud para aprender a:
Habilita claves gestionadas por el cliente para un proyecto
Debe habilitar la gestión de claves de cliente para un proyecto antes de poder habilitarla en un clúster de ese proyecto.
En Atlas, ve a Advanced página para tu proyecto.
Si aún no aparece, se debe seleccionar la organización que contiene el proyecto en el menú Organizations de la barra de navegación.
Si aún no se muestra, seleccione su proyecto en el menú Projects de la barra de navegación.
En la barra lateral, haz clic en Database & Network Access en la sección Security.
En la barra lateral, haga clic en Advanced.
La página Avanzada se muestra.
Introduce el Key Version Resource ID.
Introduce el ID de recurso de la versión de clave para la clave de Google Cloud KMS que quieres usar para cifrar tus datos en reposo.
El ID del recurso de versión de tu clave es el nombre de recurso completamente calificado para una CryptoKeyVersion.
Importante
Se debe ingresar una ID válida antes de poder configurar un método de autenticación.
Configura tu método de autenticación.
Atlas admite dos métodos de autenticación para GCP KMS:
Cuenta de servicio (recomendado): Utilice una cuenta de servicio gestionada por Atlas específica para tu proyecto para autenticarte en GCP.
Credenciales estáticas: Proporciona una clave de cuenta de servicio administrada por el cliente.
Para conceder acceso de forma segura, Atlas utiliza una cuenta de servicio específica de su proyecto de Atlas para autenticarse en GCP. A continuación, puedes asignar políticas a la cuenta de servicio para controlar el acceso a los recursos de tu proyecto.
Nota
Si anteriormente configuraste el cifrado en reposo con credenciales estáticas y ahora estás migrando a autenticación basada en cuentas de servicio, ten en cuenta que esta migración es estrictamente unidireccional. Atlas no admite revertir al método de autenticación de credenciales estáticas.
Si tienes una cuenta de servicio Atlas GCP existente con los permisos requeridos ya configurados, selecciónala en el menú desplegable Connect Service Account. De lo contrario, completa los siguientes pasos:
Si aún no se ha creado una cuenta de servicio para el proyecto Atlas:
Haz clic en Authorize a new service account. Aparece el cuadro de diálogo Encrypt Data with GCP KMS.
Haz clic en el botón Set Up para crear tus recursos GCP. Atlas aprovisiona la carpeta de GCP y crea la cuenta de servicio. La carpeta es necesaria para crear cuentas de servicio.
Selecciona la cuenta de servicio de Atlas en el menú desplegable o crea una nueva
Ejecute los comandos gcloud que aparecen para otorgar a la cuenta de servicio los siguientes permisos requeridos:
Enable Encrypt/Decrypt operations
gcloud kms keys add-iam-policy-binding \ <key-name> \ --location <location> \ --keyring <keyring-name> \ --member <ATLAS_OWNED_SERVICE_ACCOUNT_EMAIL> \ --role="roles/cloudkms.cryptoKeyEncrypterDecrypter" Enable GetPublicKey operations
gcloud kms keys add-iam-policy-binding \ <key-name> \ --location <location> \ --keyring <keyring-name> \ --member <ATLAS_OWNED_SERVICE_ACCOUNT_EMAIL> \ --role="roles/cloudkms.viewer"
Haz clic en Validate & Finish para confirmar.
Si tienes una cuenta de servicio existente para tu proyecto de Atlas:
Haz clic en Authorize a new service account. Aparece el cuadro de diálogo Encrypt Data with GCP KMS.
Selecciona tu cuenta de servicio de Atlas existente en el menú desplegable o crea una nueva.
Ejecute los comandos gcloud que aparecen para otorgar a la cuenta de servicio los siguientes permisos requeridos:
Enable Encrypt/Decrypt operations
gcloud kms keys add-iam-policy-binding \ <key-name> \ --location <location> \ --keyring <keyring-name> \ --member <ATLAS_OWNED_SERVICE_ACCOUNT_EMAIL> \ --role="roles/cloudkms.cryptoKeyEncrypterDecrypter" Enable GetPublicKey operations
gcloud kms keys add-iam-policy-binding \ <key-name> \ --location <location> \ --keyring <keyring-name> \ --member <ATLAS_OWNED_SERVICE_ACCOUNT_EMAIL> \ --role="roles/cloudkms.viewer"
Haz clic en Validate & Finish para confirmar.
Puedes especificar manualmente la clave de una cuenta de servicio cambiando Authorize with static credentials a On. A continuación, introduce tu clave formateada como un objeto JSON con las credenciales de cifrado de tu cuenta de servicio GCP en el cuadro de texto.
Importante
Las credenciales estáticas quedarán obsoletas en una versión futura. Utilice la autenticación de cuentas de servicio para nuevos proyectos cuando sea posible. Los proyectos existentes que utilizan credenciales estáticas pueden seguir utilizándolas, pero no pueden volver atrás una vez que hayan migrado a la autenticación de cuenta de servicio.
Activar la gestión de claves de cliente para un clúster de Atlas
Después de Habilitar las claves gestionadas por el cliente para un Proyecto, se debe habilitar la gestión de claves por parte del cliente para cada clúster Atlas que contenga datos que se desea cifrar.
Nota
Debes tener el rol de Project Owner para permitir la gestión de claves de cliente para el clúster en ese proyecto.
Para los nuevos clústeres, activa la configuración Gestiona tus propias claves de cifrado en Yes al crear el clúster.
Para los clústeres existentes:
En Atlas, ve a la página Clusters de tu proyecto.
Si aún no se muestra, seleccione la organización que contiene su proyecto deseado en el menú Organizations de la barra de navegación.
Si aún no aparece, selecciona el proyecto deseado en el menú Projects de la barra de navegación.
En la barra lateral, haz clic en Clusters en la sección Database.
La página de clústeres se muestra.
Active el cifrado del clúster.
Expande el panel Additional Settings.
Se debe cambiar el ajuste de Manage your own encryption keys a Yes.
Se debe verificar el estado de la configuración de Require Private Networking para el clúster.
Si configuraste el cifrado en reposo mediante clave maestra del cliente CMK (a través de redes privadas) para Atlas a nivel de proyecto, el estado es Active. Si no se configuró ninguna conexión de nodos privados para el proyecto, el estado es Inactive.
Alertas
Atlas crea automáticamente un encryption key rotation alert una vez que se configura la gestión de claves de cliente (CKM) para un proyecto. Puede restablecer esta alerta en cualquier momento rotando la ID del recurso de la versión de GCP Key.
Rotar tu ID de recurso de versión clave de GCP
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 usas tu propio proveedor de nube KMS, Atlas rota automáticamente las claves maestras de MongoDB al menos cada 90 días. La rotación de tu clave comenzará durante un periodo de mantenimiento, si tienes una configurada. Aplazar el mantenimiento (ya sea manual o automáticamente) puede hacer que la clave se rote más allá del límite de 90días. Las claves se rotan de forma progresiva y el proceso no requiere que los datos se vuelvan a escribir.
Tu Google Cloud llave maestra de cliente: La responsabilidad es tuya.
Atlas no rota automáticamente el ID del recurso de la versión clave utilizado para la gestión de claves de Google Cloud.
Como mejores prácticas, Atlas crea un alert para recordarte que debes rotar tu ID de recurso de versión de clave de GCP cada 90 días por defecto, cuando habilitas el cifrado en reposo para el Proyecto Atlas. Puedes configurar el período de tiempo de esta alerta.
Puedes rotar tu llave maestra de cliente de Google Cloud tú mismo o configurar tu instancia de KMS de Google Cloud para que rote automáticamente tu llave maestra de cliente. Si configuraste la rotación automática de llave maestra de cliente de Google Cloud, el periodo de tiempo por defecto para la rotación es de aproximadamente 365 días.
Si ya ha configurado una rotación automática llave maestra de cliente en Google Cloud y no desea recibir la alerta de Atlas para rotar su llave maestra de cliente cada 90 días, puede modificar el periodo de alerta por defecto para que sea superior a 365 días.
Requisitos previos
Debes crear una nueva clave de cuenta de servicio en la cuenta de Google Cloud asociada a tu proyecto de Atlas.
Procedimiento
El siguiente procedimiento documenta cómo rotar el Identificador clave del proyecto Atlas especificando un nuevo ID de recurso de versión de clave en Atlas.
En Atlas, ve a la página Advanced de tu proyecto.
Si aún no aparece, se debe seleccionar la organización que contiene el proyecto en el menú Organizations de la barra de navegación.
Si aún no se muestra, seleccione su proyecto en el menú Projects de la barra de navegación.
En la barra lateral, haz clic en Database & Network Access en la sección Security.
En la barra lateral, haga clic en Advanced.
La página Avanzada se muestra.
Actualiza los detalles de la clave de GCP.
Haz clic en Google Cloud KMS si la pestaña Google Cloud KMS no está ya activa.
Expande Encryption Key Credentials si el cuadro de diálogo de Encryption Key Credentials no está ya mostrado.
Introduce la ID de Recurso de Versión de Clave de GCP en la entrada Key Identifier.
Incluye el nombre del recurso totalmente calificado para una CryptoKeyVersion.
Ejemplo
projects/my-project-0/locations/us-east4/keyRings/my-key-ring-0/cryptoKeys/my-key-0/cryptoKeyVersions/1 La clave de cifrado debe pertenecer a la Clave de Cuenta de Servicio de Google Cloud configurada para su proyecto de Atlas. Haz clic en la sección Service Account Key para ver la Clave de cuenta de servicio configurada actualmente para el proyecto.
Haga clic en Update Credentials.
Atlas muestra un banner en la consola de Atlas durante el proceso de rotación del Identificador de clave.
Advertencia
No se debe eliminar ni desactivar el ID de recurso de la versión de clave original hasta que se hayan implementado sus cambios.
Si el clúster utiliza respaldar tu clúster, no elimines ni desactives el ID de recurso de versión de clave original hasta que te asegures de que ninguna snapshot haya usado esa clave para cifrado.
Alertas
Atlas reinicia el temporizador encryption key rotation alert al completar este procedimiento.
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 su base de datos, pero no se aplica a los índices de búsqueda.
Cuando activas nodos de búsqueda dedicados, los procesos de búsqueda se ejecutan en nodos separados. Esto permite activar el 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 las mismas claves administradas por el cliente para una cobertura de cifrado integral.
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 característica está disponible en todos los proveedores de KMS, pero los Nodos de búsqueda deben estar en AWS.
Temas relacionados
Para habilitar el cifrado en reposo utilizando la gestión de claves al implementar un clúster de Atlas, consulta Administra tus propias llaves de cifrado.
Para activar el cifrado en reposo usando la gestión de claves para un clúster de Atlas existente, consulta Activar el cifrado en reposo.
Para obtener más información sobre el cifrado en reposo utilizando la gestión de claves en Atlas, consulta Cifrado en reposo utilizando la gestión de claves del cliente.
Para obtener más información sobre el cifrado en reposo de MongoDB, consulta Cifrado en reposo en la documentación del servidor de MongoDB.
Para obtener más información sobre el cifrado en reposo con copias de seguridad en la nube, consulta Motor de almacenamiento y cifrado de copias de seguridad en la nube.