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 llave maestra de cliente (CMK) de Azure Key Vault (AKV) para cifrar aún más tus datos en reposo en Atlas. Esta página describe cómo configurar la gestión de claves de cliente utilizando AKV en su Proyecto Atlas y en los clústeres de ese Proyecto.
Requisitos previos
Para habilitar llaves gestionadas por el cliente con AKV para un proyecto de MongoDB, debes:
- Utilice un clúster M10 o mayor.
Tenga la cuenta de Azure y las credenciales de Key Vault, y el identificador de clave para la clave de cifrado en su AKV.
Para la cuenta, debes tener el ID de cliente, ID de inquilino y secreto. Para obtener información sobre una opción sin secretos, consulta Gestiona las claves de los clientes con Azure Key Vault (Autenticación sin secretos).
Para el almacén de claves, se debe disponer del ID de suscripción, el nombre del grupo de recursos y el nombre del almacén de claves.
Para aprender cómo configurar estos componentes de Azure, consulta la Documentación de Azure.
Atlas utiliza estos recursos al habilitar el cifrado en reposo para un clúster en el proyecto Atlas.
Para ayudar a los usuarios a crear o cambiar un clúster fácilmente, puede permitir el acceso público a la clave. Para reducir el alcance de la clave y mitigar riesgos, utiliza controles como TLS y autenticación.
Para acceso restringido a rangos de IP definidos, permitir acceso desde direcciones IP de Atlas y las direcciones IP públicas de los nodos de tu clúster.
Asegura que Atlas pueda comunicarse con el AKV. Para evitar interrupciones en la conectividad, actualiza su configuración cada vez que las direcciones IP de los nodos cambien. Por ejemplo, es posible que deba actualizar sus reglas de acceso entrante.
Si restringes el acceso al AKV, aumentas la complejidad cuando cambian las direcciones IP. Por ejemplo, cuando creas o actualizas un clúster, debes conceder acceso en la AKV a todas las direcciones IP nuevas.
Agrega las direcciones IP salientes del plano de control de Atlas. Para aprender a recuperar tus direcciones IP salientes utilizando la API de Administración de Atlas, consulta Obtener direcciones IP del plano de control de Atlas o utiliza la operación de API Listar direcciones IP del plano de control.
Si su App registrations utiliza políticas de acceso condicional, lo cual es poco común, debe permitir solicitudes desde las direcciones IP del plano de control de Atlas y las direcciones IP públicas de los nodos de su clúster para el registro de la aplicación. Esto es solo para el registro de la aplicación y no se utiliza para el acceso al key vault.
Advertencia
Cuando restringes el acceso de AKV a rangos de IP específicos, Atlas no conoce la dirección IP de salida de un nodo hasta después del provisionamineto. Los nodos añadidos recientemente no tienen inicialmente conectividad AKV, y las operaciones KMS fallan hasta que añadas manualmente las direcciones IP de los nodos al firewall. Esta brecha de conectividad puede provocar que el inicio del nodo y las simulaciones de recuperación ante desastres se detengan o fallen.
Para las cargas de trabajo que realizan simulaciones de interrupciones del servicio regionales, escalado, cambios de topología o conmutación por error de multiregión, en su lugar, debes configurar Azure Key Vault sobre un punto de conexión privado. Nodos privados eliminan la dependencia de la dirección IP y garantizan un acceso ininterrumpido a KMS.
Habilita claves gestionadas por el cliente para un proyecto
Debes habilitar llave maestra de cliente para un proyecto antes de poder habilitarlo en un clúster dentro de ese proyecto. Puedes habilitar llave maestra de cliente para un proyecto desde la Interfaz de Usuario de Atlas y la API de Administración de 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.
Configura tu método de autenticación.
Atlas admite dos métodos de autenticación para AKV:
Principal de servicio (recomendado): utiliza un principal de servicio gestionado por Atlas específico para tu proyecto para autenticarse en AKV (autenticación sin secretos). Para obtener más información, consulte Administrar Claves de cliente con Azure Key Vault (autenticación sin secretos).
Credenciales Estáticas: Proporcionar credenciales gestionadas por el cliente (cubiertas aquí).
Ingrese Account Credentials su.
ID de cliente | Introduce el Client ID (o Application ID) de la aplicación de Azure. Asegúrese de que ha asignado al Active Directory Application el acceso necesario. Para obtener más información, consulta Acceso Requerido. |
ID de arrendatario | Introduce el Tenant ID (o Directory ID) del directorio de Active Directory. |
Secreto | Introduce uno de los secretos de cliente no vencidos de la aplicación asociados con el tenant de Active Directory. |
Entorno de Azure | Selecciona la nube de Azure donde residen tus inquilinos de Active Directory. |
Introduce el Key Vault Credentials.
ID de suscripción | Introduce el Subscription ID del Key Vault. |
Nombre del grupo de recursos | Ingrese el Resource Group nombre de un Azure Resource Group que contenga el Key Vault. |
Nombre del Key Vault | Introduzca el nombre de Key Vault. Asegúrese de que el Key Vault tenga las políticas de acceso necesarias. Para obtener más información, consulta Acceso requerido. |
Nota
No puedes modificar las credenciales de AKV aquí después de habilitar y configurar las conexiones de nodos privados a tu AKV.
Introduce el Encryption Key.
Identificador clave | Introduce la dirección URL completa para la clave creada en Key Vault. IMPORTANTE: El identificador de clave debe proporcionarse en el Azure general formato completo: Puedes agregar |
(Opcional) Configure conexiones de nodos privados a su AKV.
Para aprender más, consulta Habilitar y configurar conexiones de nodos privados para un Proyecto
Verifica la configuración de red.
Si configuró Atlas usando la API de administración de Atlas para comunicarse con AKV usando Azure Private Link para garantizar que todo el tráfico entre Atlas y Key Vault se realice a través de las interfaces de red privadas de Azure, Atlas establece el estado de Require Private Networking en Active. Si el estado es Inactive, puedes, opcionalmente, completar los pasos para Habilitar y configurar conexiones de nodos privados para un Proyecto si deseas que Atlas use conexiones de nodos privados para tu AKV.
Haz clic Saveen.
Atlas muestra un banner en la consola de Atlas durante el proceso de cifrado.
Envía una solicitud PATCH al endpoint encryptionAtRest.
Nota
Este comando curl utiliza un token de acceso de cuenta de servicio (OAuth 2.0) para autenticar en lugar de claves API. Para obtener más información, consulte Introducción a la API de administración de Atlas.
Ejemplo
curl --header "Authorization: Bearer {ACCESS-TOKEN}" \ --header "Accept: application/vnd.atlas.2024-05-30+json" \ --header "Content-Type: application/vnd.atlas.2024-05-30+json" \ --request PATCH "https://cloud.mongodb.com/api/atlas/v2/groups/66c9e8f1dd6c9960802420e9/encryptionAtRest" \ --data ' { "azureKeyVault": { "azureEnvironment": "AZURE", "clientID": "b054a9ff-b60a-4cb6-8df6-20726eaefce6", "enabled": true, "keyIdentifier": "https://test-tf-export.vault.azure.net/keys/test/78b9134f9bc94fda8027a32b4715bf3f", "keyVaultName": "test-tf-export", "resourceGroupName": "test-tf-export", "secret": "", "subscriptionID": "009774e0-124f-4a69-83e0-ca8cd8acb4e2", "tenantID": "1f6ef922-9303-402a-bae2-cc68810b023c" } }'
Nota
No puede modificar la siguiente configuración después de que habilite y configure conexiones de nodos privados para su AKV:
keyVaultNameresourceGroupNamesubscriptionID
Verifica la configuración para el cifrado en reposo usando llave maestra de cliente para tu proyecto.
Para verificar tu solicitud de habilitar y configurar el cifrado en reposo utilizando las claves que gestionas con AKV, envía una solicitud GET al encryptionAtRest endpoint.
Ejemplo
curl --header "Authorization: Bearer {ACCESS-TOKEN}" \ --header "Accept: application/vnd.atlas.2024-05-30+json" \ --header "Content-Type: application/vnd.atlas.2024-05-30+json" \ --include \ --request GET "https://cloud.mongodb.com/api/atlas/v2/groups/{groupId}/encryptionAtRest"
{ "azureKeyVault": { "azureEnvironment": "AZURE", "clientID": "632ff709-32a8-48a3-8224-30d2386fadaf", "enabled": true, "keyIdentifier": "https://EXAMPLEKeyVault.vault.azure.net/keys/EXAMPLEKey/d891821e3d364e9eb88fbd3d11807b86", "keyVaultName": "string", "requirePrivateNetworking": false, "resourceGroupName": "string", "subscriptionID": "a39012fb-d604-4cd1-8841-77f705f3e6d5", "tenantID": "ee46317d-36a3-4472-a3dd-6549e901da0b", "valid": true } }
En la respuesta, enabled es true si tu proyecto se habilita correctamente para el cifrado en reposo usando la llave maestra de cliente. Puedes configurar la red privada para asegurarte de que todo el tráfico entre Atlas y Key Vault se realice a través de las interfaces de red privadas de Azure. Para obtener más información, consulta Habilitar y configurar conexiones de nodos privados para un Proyecto.
Activar la gestión de claves de cliente para un clúster de Atlas
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 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 se configuró el cifrado en reposo mediante la 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.
Deshabilitar claves administradas por el cliente para un proyecto
Debe deshabilitar la gestión de claves de clientes en cada clúster de un proyecto antes de poder deshabilitar la funcionalidad para ese proyecto.
Advertencia
No desactive ni borre ninguna clave AKV que utilice cualquier clúster de su Proyecto de Atlas antes de haber desactivado la gestión de claves de cliente dentro del Proyecto de Atlas. Si Atlas no puede acceder a una clave AKV, cualquier dato cifrado con esa clave se vuelve inaccesible.
Revocar acceso a una llave de cifrado
Puedes revocar el acceso de Atlas a una llave de cifrado desde AKV. Atlas pausa automáticamente tus clústeres cuando revocas el acceso a la clave de cifrado, a menos que tu AKV lista de acceso IP restrinja el plano de control de Atlas.
Para permitir la pausa automática de tu clúster, debes:
Desactiva la lista de acceso IP para tu AKV
Permite acceso a tu AKV desde el plano de control de Atlas.
Nota
MongoDB añade nuevas direcciones IP del plano de control de Atlas con el tiempo. Debe mantener la lista de acceso IP actualizada para permitir la pausa automática del clúster mientras utiliza una lista de acceso IP para su AKV.
Si la lista de acceso IP para tu AKV restringe el acceso desde el plano de control Atlas cuando revocas el acceso a una llave de cifrado, debes pausar manualmente tus clústeres para revocar el acceso de Atlas.
Rota tu 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.
Antes de comenzar, aprenda Sobre la rotación de su identificador de clave de Azure.
Debe crear una nueva clave en AKV asociada al proyecto Atlas. El procedimiento siguiente documenta cómo rotar el identificador clave de tu proyecto Atlas especificando un nuevo identificador 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.
Actualice las credenciales de Azure.
Haz clic en Azure Key Vault si el selector Azure Key Vault aún no está activo.
Haz clic en Encryption Key si el selector Encryption Key aún no está activo.
Introduzca el Identificador de clave de Azure en el campo Key Identifier.
Incluye la URL completa del nuevo identificador de clave de cifrado. Por ejemplo:
https://mykeyvault.vault.azure.net/keys/AtlasKMSKey/a241124e3d364e9eb99fbd3e11124b23 Importante
La clave de cifrado debe pertenecer a Key Vault configurada para el proyecto. Haz clic en la sección Key Vault para ver el Key Vault actualmente configurado para el proyecto.
Haga clic en Update Credentials.
Atlas muestra un cartel en la interfaz de usuario de Atlas durante el proceso de rotación del Identificador de clave. No debe borrar ni deshabilitar el Identificador de clave original hasta que se hayan implementado los cambios.
Si el clúster usa Respaldar tu Clúster, no borres ni inhabilites el Identificador de Clave original hasta que valides que ninguna snapshot usó esa clave para cifrar.
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.
Para habilitar la Gestión de clave del cliente para Search Nodes, consulte Habilitar cifrado de datos en Search Nodes.