Docs Menu
Docs Home
/ /

Administrar claves de clientes con Azure Key Vault

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

Atlas uses your Azure Key Vault CMK to encrypt and decrypt your MongoDB Master Keys. These MongoDB Master Keys are used to encrypt cluster database files and cloud providers snapshots. To learn more about how Atlas uses CMKs for encryption, see About Customer-Managed Keys with Azure Key Vault.

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.

Importante

Azure limits Client Secret lifetime for CMKs to two years. Atlas can't access a CMK once the Client Secret expires. Therefore, rotate your Client Secrets before its expiration to prevent loss of cluster availability. To learn about a secretless option, see Manage Customer Keys with Azure Key Vault (Secretless Authentication).

This page covers configuring customer key management using AKV on your Atlas project. You can also use the Atlas Administration API to automatically set up Azure Private Link in your AKV to ensure that all traffic between Atlas and AKV take place over Azures private network interfaces.

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)

Customer-managed keys are encryption keys that you create, own, and manage in Azure Key Vault. You create the CMK in Azure Key Vault and connect it to Atlas at the Project level. To learn more about the CMKs used in Azure Key Vault, see the Azure Documentation.

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.

Consider the following encryption hierarchy for a three-node replica set. Atlas uses the CMK from Azure Key Vault to encrypt a unique MongoDB Master Key for each node in the cluster. Each node also contains three databases, each of which is encrypted with a unique per-database encryption key. When the cluster starts up, Atlas decrypts the MongoDB Master Key by using the CMK from Azure Key Vault and supplies this to the 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.

Diagram of CMK workflow with AKV and Atlas
haga clic para ampliar

After configuring Atlas to use your AKV CMK, learn more About Rotating Your Azure Key Identifier and About Azure Key Vault Failover During an Outage.

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 Identificador Clave utilizado para Azure Key Vault.

Atlas crea automáticamente un para recordarle que debe rotar su identificador de clave de Azure encryption key rotation alert cada 90 días de manera predeterminada cuando habilita el cifrado en reposo para un proyecto de Atlas.

You can rotate CMK stored in Azure Key Vault yourself or configure your Azure Key Vault to automatically rotate your keys. If you configure automatic rotation in Azure Key Vault, the default time period for rotation is approximately 365 days.

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.

During a regional outage, your AKV region might become unavailable. If this happens, Azure automatically routes incoming Key Vault requests to a pre-assigned secondary region. To learn more, see Azure Key Vault Failover and Regional Pairings.

Si ambas regiones están inactivas, puede migrar manualmente su clave a una región fuera del emparejamiento regional. Para obtener más información, consulte Mover un almacén de claves entre regiones.

Nota

Si ha habilitado el cifrado en reposo mediante la administración de claves del cliente, puede realizar operaciones de cifrado y descifrado mientras al menos un nodo esté disponible durante la interrupción. Atlas no apagará sus 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.

You must grant Atlas access to your AKV using a Permission Model. You can grant access by using a Key Vault Access Policy or 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), otorgue el permiso Microsoft.KeyVault/vaults/read a su aplicación.

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

    Concede este permiso...
    A...

    Conseguir

    Read the metadata about the key stored in your AKV.

    Encriptar

    Use the keys in your AKV to encrypt data.

    Descifrar

    Use the keys in your AKV to decrypt data that has been previously encrypted with those keys.

  3. Agregue la misma aplicación que la principal y configure la política de acceso.

If your AKV uses RBAC, you must do the following in the Azure UI Access Control (IAM) settings to grant Atlas access to your AKV.

  1. Otorgue los siguientes actions permisos a la aplicación.

    Concede este permiso...
    A...

    Microsoft.KeyVault/vaults/read

    Leer las propiedades de un Key Vault

    Microsoft.KeyVault/vaults/keys/read

    Read the metadata about the key stored in your AKV.

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

    Concede este permiso...
    A...

    Microsoft.KeyVault/vaults/keys/read

    Read the metadata about the key stored in your AKV.

    Microsoft.KeyVault/vaults/keys/encrypt/action

    Use the keys in your AKV to encrypt data.

    Microsoft.KeyVault/vaults/keys/decrypt/action

    Use the keys in your AKV to decrypt data previously encrypted with those keys.

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

You can use a customer-managed key (CMK) from Azure Key Vault (AKV) over a public network or over Azure Private Endpoints. To learn more, see the following:

Nota

Si ha habilitado el cifrado en reposo mediante la administración de claves del cliente, puede realizar operaciones de cifrado y descifrado mientras al menos un nodo aún esté disponible durante la interrupción.

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 a través de puntos finales privados

En esta página