Docs Menu
Docs Home
/ /

Administrar claves de clientes con Google Cloud KMS

Nota

Esta característica no está disponible para ninguna de las siguientes implementaciones:

  • M0 Clústeres gratuitos

  • Clústeres Flex

Para obtener más información, consulte Límites.

Puede utilizar una clave administrada por el cliente (CMK) de Google Cloud KMS para cifrar aún más sus datos en reposo en Atlas.

Atlas utiliza tu CMK de Google Cloud KMS para cifrar y descifrar las claves maestras de MongoDB, que luego se utilizan para cifrar los archivos de bases de datos del clúster y las instantáneas de los proveedores de la 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.

Al usar el KMS de su propio proveedor de nube, Atlas rota automáticamente las claves maestras de MongoDB al menos cada 90 días. La rotación de claves comenzará durante una ventana de mantenimiento, si la tiene configurada. Aplazar el mantenimiento (manual o automáticamente) puede provocar que la clave se rote después de los 90días. Las claves se rotan de forma continua y el proceso no requiere reescribir los datos.

Debe configurar la administración de claves de cliente para el proyecto Atlas antes de habilitarla en los clústeres de ese proyecto.

La gestión de claves de cliente en Atlas sigue un proceso denominado cifrado de sobre. Este proceso crea múltiples capas de cifrado al cifrar una clave con otra. Para habilitar la gestión de claves de cliente, Atlas utiliza las siguientes claves de cifrado:

Customer-Managed Key (CMK)

Las claves administradas por el cliente son claves de cifrado que usted crea, posee y administra en Google Cloud KMS. La CMK se crea en Google Cloud KMS y se conecta a Atlas a nivel de proyecto. Para obtener más información sobre las CMKutilizadas en Google Cloud KMS, consulte la documentación de Google Cloud.

Atlas usa esta clave solo para cifrar las claves maestras de MongoDB.

MongoDB Master Key

Cada nodo de su clúster Atlas crea una clave maestra de MongoDB. Estas claves son claves de cifrado que un servidor MongoDB utiliza para cifrar las claves de cifrado de cada base de datos. Atlas guarda una copia cifrada de la clave localmente.

Esta clave está encriptada con la CMK y encripta las claves de encriptación por base de datos.

Per-Database Encryption Key

Cada nodo de su clúster Atlas también crea una clave de cifrado por cada base de datos del clúster. Atlas utiliza estas claves para leer y escribir datos mediante WiredTiger, que también las cifra y almacena.

Esta clave está encriptada con la clave maestra de MongoDB.

Considere la siguiente jerarquía de cifrado para un conjunto de réplicas de tres nodos. Atlas utiliza la CMK de Google Cloud KMS para cifrar una clave maestra de MongoDB única para cada nodo del clúster. Cada nodo también contiene tres bases de datos, cada una cifrada con una clave de cifrado única para cada base de datos. Al iniciar el clúster, Atlas descifra la clave maestra de MongoDB mediante la CMK de Google Cloud KMS y la envía al servidor MongoDB.

Nota

Si revoca el acceso de Atlas a la CMK, Atlas apaga los nodos de su clúster y no podrá acceder a sus datos hasta que restaure el acceso a la CMK.

Diagrama del flujo de trabajo de CMK con Google Cloud KMS y Atlas
haga clic para ampliar

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.

Para habilitar claves administradas por el cliente con Google Cloud KMS para un proyecto MongoDB, debe tener:

  • Utilice un clúster M10 o mayor.

  • La clave de su cuenta de servicio Google Cloud.

  • Su clave de cifrado simétrica en Google Cloud KMS.

  • El ID de recurso de la versión de clave asociado con su clave de cifrado de Google Cloud KMS.

  • Una cuenta de servicio de Google Cloud con credenciales especificadas en su clave de cuenta de servicio con permisos suficientes para:

    • Obtenga la versión de la clave de cifrado de Google Cloud KMS.

    • Cifre datos con la versión de clave de cifrado de Google Cloud KMS.

    • Descifrar datos con la clave de cifrado de Google Cloud KMS.

    Nota

    La clave, no la versión de la clave, es la que gestiona el descifrado.

  • Si la configuración de Google Cloud KMS lo requiere, cree niveles de acceso desde GCP para las direcciones IP de Atlas y las direcciones IP públicas o los nombres de host DNS de los nodos del clúster para que Atlas pueda comunicarse con su KMS. Si las direcciones IP de los nodos cambian, debe actualizar la configuración para evitar interrupciones de la conectividad.

Tip

Debe habilitar la administración de claves de cliente para un proyecto antes de poder habilitarla en un clúster de ese proyecto.

1
  1. 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.

  2. Si aún no se muestra, seleccione su proyecto en el menú Projects de la barra de navegación.

  3. En la barra lateral, haz clic en Database & Network Access en la sección Security.

  4. En la barra lateral, haga clic en Advanced.

    La página Avanzada se muestra.

2
3
4

Ingrese el ID del recurso de la versión de clave para la clave de Google Cloud KMS que desea usar para cifrar sus datos en reposo.

El ID de recurso de su versión de clave es el nombre de recurso completo para una CryptoKeyVersion.

Importante

Debe ingresar una identificación válida antes de poder configurar su método de autenticación.

5

Atlas admite dos métodos de autenticación para GCP KMS:

  • Cuenta de servicio (recomendado): utilice una cuenta de servicio administrada por Atlas específica para su proyecto para autenticarse en GCP.

  • Credenciales estáticas: proporcione una clave de cuenta de servicio administrada por el cliente.

6

Después de habilitar las claves administradas por el cliente para un proyecto, debe habilitar la administración de claves del cliente para cada clúster de Atlas que contenga datos que desee 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 clústeres nuevos, cambie la configuración Administrar sus propias claves de cifrado a Yes cuando cree el clúster.

Para los clústeres existentes:

1
  1. 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.

  2. Si aún no aparece, selecciona el proyecto deseado en el menú Projects de la barra de navegación.

  3. En la barra lateral, haz clic en Clusters en la sección Database.

La página de clústeres se muestra.

2

Para el clúster que contiene los datos que deseas cifrar, haz clic en la , y, a continuación, selecciona Edit Configuration.

3
  1. Expande el panel Additional Settings.

  2. Se debe cambiar el ajuste de Manage your own encryption keys a Yes.

  3. 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.

4
  1. Haga clic en Review Changes.

  2. Se deben revisar los cambios y luego se debe hacer clic en Apply Changes para actualizar el clúster.

Atlas crea automáticamente una encryption key rotation alert alerta al configurar la gestión de claves de cliente para un proyecto. Puede restablecer esta alerta en cualquier momento rotando el ID de recurso de la versión de clave de GCP.

Nota

Esta característica no está disponible para ninguna de las siguientes implementaciones:

  • M0 Clústeres gratuitos

  • Clústeres Flex

Para obtener más información, consulta Límites.

Al usar el KMS de su propio proveedor de nube, Atlas rota automáticamente las claves maestras de MongoDB al menos cada 90 días. La rotación de claves comenzará durante una ventana de mantenimiento, si la tiene configurada. Aplazar el mantenimiento (manual o automáticamente) puede provocar que la clave se rote después de los 90días. Las claves se rotan de forma continua y el proceso no requiere reescribir los datos.

Atlas no rota automáticamente el ID de recurso de versión de clave utilizado para la administración de claves de Google Cloud.

Como práctica recomendada, Atlas crea un para recordarle que alert debe rotar el ID de recurso de la versión de clave de GCP cada 90 días de forma predeterminada al habilitar el cifrado en reposo para el proyecto Atlas. Puede configurar la duración de esta alerta.

Puedes rotar tu CMK de Google Cloud tú mismo o configurar tu instancia de Google Cloud KMS para que rote automáticamente. Si configuras la rotación automática de CMK de Google Cloud, el periodo predeterminado de rotación es de aproximadamente 365 días.

Si ya ha configurado una rotación automática de CMK en Google Cloud y no desea recibir la alerta de Atlas para rotar su CMK cada 90 días, puede modificar el período de alerta predeterminado para que sea mayor a 365 días.

Debe crear una nueva clave de cuenta de servicio en la cuenta de Google Cloud asociada con su proyecto Atlas.

El siguiente procedimiento documenta cómo rotar el identificador de clave de su proyecto Atlas especificando un nuevo ID de recurso de versión de clave en Atlas.

1
  1. 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.

  2. Si aún no se muestra, seleccione su proyecto en el menú Projects de la barra de navegación.

  3. En la barra lateral, haz clic en Database & Network Access en la sección Security.

  4. En la barra lateral, haga clic en Advanced.

    La página Avanzada se muestra.

2
3
  1. Haga clic en Google Cloud KMS si la pestaña Google Cloud KMS aún no está activa.

  2. Expanda Encryption Key Credentials si el cuadro de diálogo Encryption Key Credentials aún no se muestra.

  3. Ingrese el ID del recurso de la versión de clave de GCP en la entrada Key Identifier.

    Incluya el nombre del recurso completo 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 Atlas. Haga clic en la Service Account Key sección para ver la clave de cuenta de servicio configurada actualmente para el proyecto.

  4. Haga clic en Update Credentials.

Atlas muestra un banner en la consola Atlas durante el proceso de rotación del identificador de clave.

Advertencia

No elimine ni deshabilite el ID de recurso de versión de clave original hasta que se hayan implementado los cambios.

Si el clúster usa Realizar copia de seguridad de su clúster,no elimine ni deshabilite el ID de recurso de versión de clave original hasta que se asegure de que ninguna instantánea haya usado esa clave para el cifrado.

Atlas reinicia el temporizador al finalizar este encryption key rotation alert procedimiento.

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 base de datos y los nodos de búsqueda utilizan diferentes métodos de cifrado con las mismas claves administradas por el cliente. Los nodos de base de datos utilizan el motor de almacenamiento cifrado WiredTiger, mientras que los nodos de búsqueda utilizan 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.

Volver

Configurar el acceso sin secretos