Uso de Microsoft Entra ID (versión preliminar) para la autenticación de la memoria caché

Azure Cache for Redis ofrece dos métodos para autenticarse en la instancia de caché:

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 Cache for Redis ofrece un mecanismo de autenticación sin contraseña mediante la integración con Microsoft Entra ID (versión preliminar). Esta integración también incluye la funcionalidad de control de acceso basado en roles proporcionada a través de listas de control de acceso (ACL) admitidas en Redis de código abierto.

Para usar la integración de ACL, la aplicación cliente debe asumir la identidad de una entidad de Microsoft Entra, como una entidad de servicio o una identidad administrada, y conectarse a la memoria caché. En este artículo, aprenderá a usar la entidad de servicio o la identidad administrada para conectarse a la memoria caché y a conceder los permisos predefinidos de conexión en función del artefacto de Microsoft Entra que se usa para la conexión.

Ámbito de disponibilidad

Nivel Básico, Estándar, Premium Enterprise o Enterprise Flash
Disponibilidad Sí (versión preliminar) No

Requisitos previos y limitaciones

  • La autenticación basada en Microsoft Entra ID se admite para conexiones SSL y TLS 1.2 o posteriores.
  • La autenticación basada en Microsoft Entra ID no se admite en instancias de Azure Cache for Redis que dependen de servicios en la nube.
  • La autenticación basada en Microsoft Entra ID no se admite en los niveles Enterprise de Azure Cache for Redis Enterprise.
  • Algunos comandos de Redis están bloqueados. Para obtener una lista completa de los comandos bloqueados, consulte Comandos de Redis no admitidos en Azure Cache for Redis.

Importante

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

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

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

  2. Seleccione Autenticación en el menú Recurso.

  3. En el panel de trabajo, seleccione (VERSIÓN PRELIMINAR) Habilitar autenticación de Microsoft Entra.

  4. Seleccione Habilitar autenticación de Microsoft Entra y escriba el nombre de un usuario válido. Al usuario que escriba se le asigna automáticamente una directiva de acceso del propietario de datos de forma predeterminada al seleccionar Guardar. También puede escribir una identidad administrada o una entidad de servicio para conectarse a la instancia de caché.

    Captura de pantalla que muestra la autenticación seleccionada en el menú de recursos y la habilitación de la autenticación de Microsoft Entra activada.

  5. Se muestra un cuadro de diálogo emergente en el que se le pregunta si desea actualizar la configuración e informa de que tarda varios minutos. Seleccione .

    Importante

    Una vez completada la operación de habilitación, los nodos de la instancia de caché se reinician para cargar la nueva configuración. Se recomienda realizar esta operación durante la ventana de mantenimiento o fuera del horario comercial pico. Esta operación puede tardar hasta 30 minutos.

Para obtener información sobre el uso de Microsoft Entra ID con la CLI de Azure, consulte las páginas de referencias para la identidad.

Uso de la configuración de acceso a datos con la memoria caché

Si desea usar una directiva de acceso personalizada en lugar del propietario de datos de Redis, vaya a la configuración de acceso a datos en el menú Recurso. Para obtener más información, consulte Configuración de una directiva de acceso a datos personalizada para la aplicación.

  1. En Azure Portal, seleccione la instancia de Azure Cache for Redis en la que desea agregar la con de acceso a datos.

  2. Seleccione (VERSIÓN PRELIMINAR) Configuración de acceso a datos en el menú Recurso.

  3. Seleccione "Agregar" y elija Nuevo usuario de Redis.

  4. En la pestaña Directiva de acceso, seleccione una de las directivas disponibles en la tabla: Propietario de datos, Colaborador de datos o Lector de datos. A continuación, seleccione Siguiente: Usuarios de Redis.

    Captura de pantalla en la que se muestran las directivas de acceso disponibles.

  5. Elija el Usuario o la entidad de servicio o la Identidad administrada para determinar cómo asignar el acceso a la instancia de Azure Cache for Redis. Si selecciona usuario o entidad de servicio y quiere agregar un usuario, primero debe habilitar la autenticación de Microsoft Entra.

  6. A continuación, seleccione Seleccionar miembros y Seleccionar. Luego seleccione Siguiente: Revisar y asignar. Captura de pantalla que muestra los miembros que se van a agregar como Nuevos usuarios de Redis.

  7. Un cuadro de diálogo muestra un elemento emergente que le notifica que la actualización es permanente y puede provocar una breve interrupción de la conexión. Seleccione Sí.

    Importante

    Una vez completada la operación de habilitación, los nodos de la instancia de caché se reinician para cargar la nueva configuración. Se recomienda realizar esta operación durante la ventana de mantenimiento o fuera del horario comercial pico. Esta operación puede tardar hasta 30 minutos.

Configuración del cliente de Redis para usar Microsoft Entra ID

Dado que la mayoría de los clientes de Azure Cache for 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 ID. En esta sección, aprenderá a configurar las aplicaciones cliente para conectarse a Azure Cache for 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 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 ID para autenticar conexiones desde una aplicación cliente de Redis a una instancia de Azure Cache for 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 Cache for Redis mediante Microsoft Entra ID.

La siguiente tabla incluye enlaces a ejemplos de código, que demuestran cómo conectarse a su instancia de Azure Cache for Redis mediante un token de Microsoft Entra. Se incluye una amplia variedad de bibliotecas cliente en varios idiomas.

Biblioteca cliente Idioma 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 3 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 la posibilidad de agregar una vibración para que los comandos AUTH se escalonen y el servidor de Redis no reciba muchos comandos AUTH al mismo tiempo.