Make the MongoDB docs better! We value your opinion. Share your feedback for a chance to win $100.
MongoDB Branding Shape
Click here >
Docs Menu

Gestiona las claves de los clientes con Azure Key Vault: Red pública

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.

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

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.

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.

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

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

5

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.

6

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.

7

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:

https://{keyvault-name}.vault.azure.net/{object-type}/{object-name}

Puedes agregar /{object-version}. Sin embargo, recomendamos omitir la versión para permitir la resolución automática a la versión más reciente.

8

Para aprender más, consulta Habilitar y configurar conexiones de nodos privados para un Proyecto

9

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.

10

Atlas muestra un banner en la consola de Atlas durante el proceso de cifrado.

1

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:

  • keyVaultName

  • resourceGroupName

  • subscriptionID

2

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.

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:

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

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.

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.

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:

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.

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.

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. Haz clic en Azure Key Vault si el selector Azure Key Vault aún no está activo.

  2. Haz clic en Encryption Key si el selector Encryption Key aún no está activo.

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

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