Compartir vía


Uso de Microsoft Entra para la autenticación en caché con Azure Managed Redis (versión preliminar)

Azure Managed Redis (versión preliminar) ofrece dos métodos para autenticar en la instancia de caché: claves de acceso y Microsoft Entra.

Aunque la autenticación con una clave de acceso es sencilla, incluye un conjunto de desafíos en torno a la seguridad y la administración de contraseñas. Por el contrario, en este artículo aprenderá a usar un token de Microsoft Entra para la autenticación de la memoria caché.

Azure Managed Redis ofrece un mecanismo de autenticación sin contraseña mediante la integración con Microsoft Entra. El identificador entra configurado para conectarse con Azure Managed Redis tiene asignados los mismos permisos que con el uso de claves de acceso.

En este artículo, aprenderá a usar la entidad de servicio o la identidad administrada para conectarse a la instancia de Redis.

Requisitos previos y limitaciones

Importante

Una vez establecida una conexión mediante un token de Microsoft Entra, las aplicaciones cliente deben actualizar periódicamente el token de Microsoft Entra antes de la expiración. A continuación, las aplicaciones deben enviar un comando AUTH al servidor de Redis para evitar interrumpir las conexiones. Para más información, consulte Configuración del cliente de Redis para usar Microsoft Entra.

Habilitación de la autenticación de Microsoft Entra en la memoria caché

  1. En Azure Portal, seleccione la instancia de Azure Managed Redis en la que quiere configurar la autenticación basada en tokens de Microsoft Entra.

  2. En el menú Recurso, seleccione Autenticación.

  3. En el panel de trabajo, seleccione la pestaña Autenticación de Microsoft Entra.

  4. Seleccione Habilitar autenticación de Microsoft Entra y elija los botones "Usuario o entidad de servicio" o "Identidad administrada". El usuario que escriba tiene asignados automáticamente los mismos permisos que al usar claves de acceso al Seleccionar. También puede escribir una identidad administrada o una entidad de servicio para conectarse a la instancia de AMR.

    Recorte de pantalla que muestra la autenticación seleccionada en el menú de recursos y la casilla Habilitar autenticación de Microsoft Entra.

Para obtener información sobre cómo usar Microsoft Entra con la CLI de Azure, consulte las páginas de referencia para la identidad.

Deshabilitar la autenticación mediante claves de acceso en la memoria caché

Usar Microsoft Entra es la forma segura de conectarse a la memoria caché. Se recomienda usar Microsoft Entra y deshabilitar las claves de acceso.

Al deshabilitar la autenticación de clave de acceso para una instancia de Redis, finalizan todas las conexiones de cliente existentes, tanto si usan claves de acceso como la autenticación de Microsoft Entra. Siga los procedimientos recomendados del cliente de Redis para implementar mecanismos de reintento adecuados para volver a conectar conexiones basadas en Microsoft Entra, si existen.

Antes de deshabilitar claves de acceso:

  • La autenticación de Microsoft Entra debe estar habilitada.

  • Para las cachés con replicación geográfica, debe:

    1. Desvincular las memorias caché.
    2. Deshabilitar las claves de acceso.
    3. Volver a vincular las memorias caché.

Si tiene una memoria caché en la que se usan claves de acceso y quiere deshabilitar las claves de acceso, siga este procedimiento:

  1. En Azure Portal, seleccione la instancia de Azure Managed Redis en la que quiere deshabilitar las claves de acceso.

  2. En el menú Recurso, seleccione Autenticación.

  3. En el panel de trabajo, seleccione Claves de acceso.

  4. Configure autenticación de claves de acceso, que se deshabilitará.

    Recorte de pantalla que muestra las claves de acceso en el panel de trabajo con la casilla Deshabilitar autenticación de claves de acceso.

  5. Confirme que desea actualizar la configuración seleccionando .

Importante

Al cambiar el valor de Deshabilitar la autenticación mediante claves de acceso para una memoria caché, finalizan todas las conexiones de cliente existentes que usan claves de acceso o Microsoft Entra. Siga los procedimientos recomendados para implementar mecanismos de reintento adecuados para volver a conectar conexiones basadas en Microsoft Entra. Para más información, consulte Resistencia de la conexión.

Configuración del cliente de Redis para usar Microsoft Entra

Dado que la mayoría de los clientes de Azure Managed Redis asumen que se usan una clave de acceso y una contraseña para la autenticación, es probable que tenga que actualizar el flujo de trabajo del cliente para admitir la autenticación mediante Microsoft Entra. En esta sección, aprenderá a configurar las aplicaciones cliente para conectarse a Azure Managed Redis mediante un token de Microsoft Entra.

Flujo de trabajo de cliente de Microsoft Entra

  1. Configure la aplicación cliente para adquirir un token de Microsoft Entra para el ámbito https://redis.azure.com/.default o mediante la acca5fbb-b7e4-4009-81f1-37e38fd66d78/.defaultBiblioteca de autenticación de Microsoft (MSAL).

  2. Actualice la lógica de conexión de Redis para usar los siguientes User y Password:

    • User = Id. de objeto de la identidad administrada o de la entidad de servicio
    • Password = Token de Microsoft Entra que adquirió mediante la MSAL
  3. Asegúrese de que el cliente ejecuta automáticamente un comando AUTH de Redis antes de que expire el token de Microsoft Entra mediante:

    • User = Id. de objeto de la identidad administrada o de la entidad de servicio
    • Password = Token de Microsoft Entra actualizado periódicamente

Soporte de biblioteca cliente

La biblioteca Microsoft.Azure.StackExchangeRedis es una extensión de StackExchange.Redis que permite usar Microsoft Entra para autenticar conexiones desde una aplicación cliente de Redis a una instancia de Azure Managed Redis. La extensión administra el token de autenticación, incluida la actualización proactiva de los tokens antes de que expiren para mantener conexiones de Redis persistentes durante varios días.

En este ejemplo de código se muestra cómo usar el paquete NuGet Microsoft.Azure.StackExchangeRedis para conectarse a la instancia de Azure Managed Redis mediante Microsoft Entra.

En la siguiente tabla se incluyen vínculos a ejemplos de código. Muestran cómo conectarse a su instancia de Azure Managed Redis mediante un token de Microsoft Entra. Se incluyen varias bibliotecas cliente en varios idiomas.

Biblioteca cliente Lenguaje Enlace a código de ejemplo
StackExchange.Redis .NET Ejemplo de código de StackExchange.Redis
redis-py Python Ejemplo de código de redis-py
Jedis Java Ejemplo de código Jedis
Lettuce Java Ejemplo de código de Lettuce
Redisson Java Ejemplo de código Redisson
ioredis Node.js Ejemplo de código ioredis
node-redis Node.js Ejemplo de código de node-redis

Procedimientos recomendados para la autenticación con Microsoft Entra

  • Configure vínculos privados o reglas de firewall para proteger la memoria caché frente a un ataque por denegación de servicio.
  • Asegúrese de que la aplicación cliente envía un nuevo token de Microsoft Entra al menos tres minutos antes de que expire el token para evitar la interrupción de la conexión.
  • Al llamar al comando AUTH del servidor de Redis periódicamente, considere agregar una vibración para que los comandos AUTH se escalonen. De este modo, el servidor de Redis no recibe demasiados comandos AUTH al mismo tiempo.