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
/ /

Gestionar claves de cliente con Azure Key Vault

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 administrada por el cliente (CMK) de Azure Key Vault (AKV) para cifrar aún más tus datos en reposo en Atlas. También puedes configurar todo el tráfico hacia tu AKV para usar Azure Private Link.

Atlas usa su CMK de Azure Key Vault para cifrar y descifrar sus claves maestras de MongoDB. Estas claves maestras de MongoDB se usan para cifrar archivos de bases de datos del clúster e instantáneas de proveedores de nube. Para obtener más información sobre cómo Atlas usa las CMKpara el cifrado, consulte Acerca de las claves administradas por el cliente con Azure Key Vault.

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.

Importante

Azure limita la duración del secreto de cliente para llave maestra de clientea dos años. Atlas no puede acceder a una llave maestra de cliente una vez que expire el secreto de cliente. Por lo tanto, debe rotar sus secretos de cliente antes de su vencimiento para evitar la pérdida de disponibilidad del clúster. Para aprender sobre una opción sin secretos, consulta Gestionar claves de cliente con Azure Key Vault (Autenticación sin secretos).

Esta página explica cómo configurar la administración de claves de cliente mediante AKV en su proyecto Atlas. También puede usar la API de administración de Atlas para configurar automáticamente Azure Private Link en su AKV y garantizar que todo el tráfico entre Atlas y AKV se realice a través de las interfaces de red privada de Azure.

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 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 administradas por el cliente son llaves de cifrado que usted crea, posee y administra en Azure Key Vault. Creas la llave maestra de cliente en Azure Key Vault y la conectas 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 Key

Cada 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 Key

Cada 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á encriptada con la clave maestra de MongoDB.

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 del 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 el clúster se inicia, Atlas descifra la clave maestra de MongoDB utilizando la llave maestra de cliente del Azure Key Vault y la proporciona al MongoDB Server.

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 AKV y Atlas
haga clic para ampliar

Después de configurar Atlas para usar su AKV CMK, obtenga más información sobre cómo rotar su identificador de clave de Azure y sobre la conmutación por error de Azure Key Vault durante una interrupción.

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.

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.

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.

Puedes rotar llaves maestras de cliente almacenadas en Azure Key Vault por ti mismo o configurar tu Azure Key Vault para que rote automáticamente tus claves. Si configuras rotación automática en Azure Key Vault, 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 en Azure Key Vault y no desea recibir la alerta de Atlas para rotar su identificador de clave de Azure cada 90 días, puede modificar el período de alerta predeterminado para que sea mayor a 365 días.

Durante una interrupción regional, su región de AKV podría dejar de estar disponible. En ese caso, Azure enruta 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 y emparejamientos regionales de Azure Key Vault.

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, consulta la documentación de Azure.

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 otorgar a Atlas acceso a su AKV utilizando un Permission Model. Puedes conceder acceso usando una política de acceso de la Bóveda de claves (Key Vault Access Policy) o Azure RBAC.

Si se usan políticas de acceso, realiza lo siguiente en la interfaz de usuario de Azure para conceder acceso de Atlas a tu AKV.

  1. En la configuración Access Control (IAM), otorga el permiso Microsoft.KeyVault/vaults/read a tu aplicación.

  2. En la página Access Policies, cree una política de acceso con el siguiente Key Permissions:

    Concede este permiso...
    Para...

    Obtener

    Lea los metadatos acerca de la clave almacenada en su AKV.

    cifrado

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

  3. Agrega la misma aplicación como el principal y configura la política de acceso.

Si su AKV usa RBAC, debe hacer lo siguiente en la configuración de la interfaz de Access Control (IAM) usuario de Azure para otorgarle a Atlas acceso a su AKV.

  1. Concede los siguientes permisos de actions a la aplicación.

    Concede este permiso...
    Para...

    Microsoft.KeyVault/vaults/read

    Leer las propiedades de un Key Vault

    Microsoft.KeyVault/vaults/keys/read

    Lea los metadatos acerca de la clave almacenada en su AKV.

    {
    "permissions": [
    {
    "actions": [
    "Microsoft.KeyVault/vaults/read"
    "Microsoft.KeyVault/vaults/keys/read"
    ]
    }
    ...
    ]
    }
  2. Concede los siguientes permisos de dataActions a la aplicación.

    Concede este permiso...
    Para...

    Microsoft.KeyVault/vaults/keys/read

    Lea los metadatos acerca de la clave almacenada en su AKV.

    Microsoft.KeyVault/vaults/keys/encrypt/action

    Utiliza las claves en tu AKV para cifrar datos.

    Microsoft.KeyVault/vaults/keys/decrypt/action

    Utilice las claves de su AKV para descifrar datos que hayan sido previamente cifrados con esas claves.

    {
    "permissions": [
    ...
    {
    "dataActions": [
    "Microsoft.KeyVault/vaults/keys/read",
    "Microsoft.KeyVault/vaults/keys/encrypt/action",
    "Microsoft.KeyVault/vaults/keys/decrypt/action"
    ]
    }
    ]
    }

Puede usar una clave administrada por el cliente (CMK) de Azure Key Vault (AKV) en una red pública o en puntos de conexión privados de Azure. 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.

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.

Volver

Configurar el acceso a través de puntos finales privados

En esta página