Compartir vía


Uso de Microsoft Entra ID para la autenticación en caché con Azure Managed Redis

Azure Managed Redis ofrece un mecanismo de autenticación sin contraseña mediante la integración con microsoft Entra ID. Las cachés de Redis administradas de Azure usan el identificador de Entra de Microsoft de forma predeterminada. Al crear una nueva memoria caché, la identidad administrada está habilitada.

Aunque la autenticación de clave de acceso sigue estando disponible, incluye un conjunto de desafíos relacionados con 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é.

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

  • La autenticación de Microsoft Entra solo se admite para las conexiones SSL.
  • No se admiten grupos de Microsoft Entra.
  • Algunos comandos de Redis están bloqueados. Para obtener una lista completa de los comandos bloqueados, consulte Comandos de Redis no admitidos en Azure Managed Redis.

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.

Configuración del cliente de Redis para usar Microsoft Entra

Si ha usado claves de acceso en el pasado para la autenticación, debe actualizar el flujo de trabajo de cliente para admitir la autenticación mediante el identificador de Microsoft Entra. En esta sección, aprenderá a conectarse a Azure Managed Redis mediante un identificador de Microsoft Entra.

Agregar usuarios o principal del sistema a la memoria caché

  1. Conéctate a la memoria caché en el portal de Azure.

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

  3. En la pestaña Autenticación de Microsoft Entra , seleccione Usuario o entidad de servicio y, a continuación, + Seleccionar miembro.

  4. Escriba el nombre del usuario que desea ejecutar el programa. Seleccione el usuario que desea agregar en la lista y Seleccione. El usuario se agrega a la lista de usuarios de Redis.

    Captura de pantalla de la pestaña autenticación en una caché de Redis en Azure Portal.

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 acca5fbb-b7e4-4009-81f1-37e38fd66d78/.default mediante la Biblioteca 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 de Redis AUTH 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

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.

Solución de problemas de Microsoft Entra ID y la memoria caché

Si la aplicación no puede acceder a la instancia de Azure Managed Redis a través de Microsoft Entra ID, use este script de PowerShell:

EntraTokenValidation

Use este script de PowerShell para validar los tokens de identificador de Entra de Microsoft para los recursos de Azure Managed Redis Cache. El script valida los tokens y comprueba las directivas de acceso para ayudarle a diagnosticar problemas de autenticación.

Si tiene problemas para usar el identificador de Entra de Microsoft para autenticar las conexiones de Redis, ejecute este script para analizar el token de Microsoft Entra e identificar los problemas.

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 de cliente Lenguaje Enlace a código de ejemplo
StackExchange.Redis .NET Ejemplo de código de StackExchange.Redis
redis-py Pitón Ejemplo de código de redis-py
Jedis Java Ejemplo de código Jedis
Lechuga Java Ejemplo de código de Lettuce
node-redis Node.js. Ejemplo de código de node-redis
go-redis Go ejemplo de código de go

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

Si tiene una memoria caché mediante claves de acceso, se recomienda cambiar a Microsoft Entra ID como forma segura de conectar la memoria caché y deshabilitar las claves de acceso.

Al deshabilitar las claves de acceso, el sistema finaliza todas las conexiones de cliente existentes, independientemente de si usan claves de acceso o autenticación de Id. de Microsoft Entra.

Antes de deshabilitar las claves de acceso en cachés con replicación geográfica, debe hacer lo siguiente:

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

Para 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. Seleccione el control Autenticación de claves de acceso para deshabilitar las claves de acceso.

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

    Importante

    Cuando se cambia la configuración autenticación de claves de acceso para una memoria caché, todas las conexiones de cliente existentes, mediante claves de acceso o Microsoft Entra, finalizan. 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.