Partager via


Utiliser Microsoft Entra pour l’authentification du cache avec Azure Managed Redis (en préversion)

Azure Managed Redis (en préversion) offre deux méthodes pour vous authentifier auprès de votre instance de cache : clés d’accès et Microsoft Entra.

Bien que l’authentification par clé d’accès soit simple, elle présente un ensemble de défis liés à la sécurité et à la gestion des mots de passe. À titre de comparaison, dans cet article, vous allez apprendre à utiliser un jeton Microsoft Entra pour l’authentification sur le cache.

Azure Managed Redis propose un mécanisme d’authentification sans mot de passe en intégrant Microsoft Entra. L’ID Entra configuré pour se connecter à Azure Managed Redis est affecté aux mêmes autorisations qu’avec l’utilisation des clés d’accès.

Dans cet article, vous allez apprendre à utiliser votre principal de service ou votre identité managée pour vous connecter à votre instance Redis.

Conditions préalables et limitations

Important

Une fois qu’une connexion est établie à l’aide d’un jeton Microsoft Entra, les applications clientes doivent régulièrement actualiser le jeton Microsoft Entra avant son expiration. Ensuite, les applications doivent envoyer une commande AUTH au serveur Redis pour éviter de perturber les connexions. Pour plus d’informations, consultez Configurer votre client Redis pour utiliser Microsoft Entra.

Activer l’authentification Microsoft Entra sur votre cache

  1. Dans le portail Azure, sélectionnez l’instance Azure Managed Redis sur laquelle vous souhaitez configurer l’authentification basée sur les jetons Microsoft Entra.

  2. Dans le menu Ressource, sélectionnez Authentification.

  3. Dans le volet actif, sélectionnez l’onglet Authentification Microsoft Entra.

  4. Sélectionnez Activer l’authentification Microsoft Entra et choisissez les boutons « Utilisateur ou principal de service » ou « Identité managée ». L’utilisateur que vous entrez reçoit automatiquement les mêmes autorisations que lors de l’utilisation des clés d’accès lorsque vous sélectionnez. Vous pouvez également entrer une identité managée ou un principal de service pour vous connecter à votre instance AMR.

    Capture d’écran illustrant l’authentification sélectionnée dans le menu Ressources et la case Activer l’authentification Microsoft Entra.

Pour plus d’informations sur l’utilisation de Microsoft Entra avec Azure CLI, consultez les pages de référence pour l’identité.

Désactiver l’authentification par clé d’accès dans votre cache

L’utilisation de Microsoft Entra est la méthode de connexion sécurisée pour votre cache. Nous vous recommandons d’utiliser Microsoft Entra et de désactiver les clés d’accès.

Lorsque vous désactivez l’authentification par clé d’accès pour une instance Redis, toutes les connexions client existantes sont interrompues, qu’elles utilisent des clés d’accès ou l’authentification Microsoft Entra. Suivez les meilleures pratiques recommandées pour le client Redis afin d’implémenter des mécanismes de nouvelle tentative appropriés pour reconnecter les connexions basées sur Microsoft Entra, le cas échéant.

Avant de désactiver les clés d’accès :

  • L’authentification Microsoft Entra doit être activée.

  • Pour les caches géorépliqués, vous devez :

    1. Dissocier les caches.
    2. Désactiver les clés d’accès.
    3. Réassocier les caches.

Si vous disposez d’un cache où des clés d’accès sont utilisées et que vous souhaitez désactiver les clés d’accès, suivez cette procédure :

  1. Dans le Portail Azure, sélectionnez l’instance Azure Managed Redis dans laquelle vous souhaitez désactiver les clés d’accès.

  2. Dans le menu Ressource, sélectionnez Authentification.

  3. Dans le volet de travail, sélectionnez Clés d’accès.

  4. Configurez l’authentification des clés d’accès à désactiver.

    Capture d’écran montrant les clés d’accès dans le volet de travail avec la case Désactiver l’authentification par clé d’accès.

  5. Confirmez que vous souhaitez mettre à jour votre configuration en sélectionnant Oui.

Important

Lorsque le paramètre Désactiver l’authentification par clé d’accès est modifié pour un cache, toutes les connexions client existantes utilisant des clés d’accès ou Microsoft Entra, sont interrompues. Suivez les meilleures pratiques pour implémenter des mécanismes de nouvelle tentative appropriés afin de reconnecter les connexions basées sur Microsoft Entra. Pour plus d’informations, consultez Résilience des connexions.

Configurer votre client Redis pour utiliser Microsoft Entra

Étant donné que la plupart des clients Azure Managed Redis supposent qu’un mot de passe et une clé d’accès sont utilisés pour l’authentification, vous devrez probablement mettre à jour votre workflow client pour autoriser l’authentification avec Microsoft Entra. Dans cette section, vous allez apprendre à configurer vos applications clientes pour qu’elles se connectent à Azure Managed Redis à l’aide d’un jeton Microsoft Entra.

Workflow client Microsoft Entra

  1. Configurez votre application cliente afin qu’elle acquière un jeton Microsoft Entra pour l’étendue, https://redis.azure.com/.default ou acca5fbb-b7e4-4009-81f1-37e38fd66d78/.default, en utilisant la bibliothèque d’authentification Microsoft (MSAL).

  2. Mettez à jour votre logique de connexion Redis pour utiliser les éléments User et Password suivants :

    • User = ID d’objet de votre identité managée ou de votre principal de service
    • Password = Jeton Microsoft Entra que vous avez acquis à l’aide de MSAL
  3. Assurez-vous que votre client exécute automatiquement une commande AUTH Redis avant l’expiration de votre jeton Microsoft Entra à l’aide de :

    • User = ID d’objet de votre identité managée ou de votre principal de service
    • Password = Jeton Microsoft Entra actualisé périodiquement

Prise en charge de la bibliothèque de client

La bibliothèque Microsoft.Azure.StackExchangeRedis est une extension de StackExchange.Redis qui vous permet d’utiliser Microsoft Entra pour authentifier les connexions d’une application cliente Redis à Azure Managed Redis. L’extension gère le jeton d’authentification, y compris l’actualisation proactive des jetons avant leur expiration pour maintenir des connexions Redis persistantes sur plusieurs jours.

Cet exemple de code montre comment utiliser le package NuGet Microsoft.Azure.StackExchangeRedis pour se connecter à votre instance Azure Managed Redis à l’aide de Microsoft Entra.

Le tableau suivant contient des liens vers des exemples de code. Ils montrent comment se connecter à votre instance Azure Managed Redis à l’aide d’un jeton Microsoft Entra. De nombreuses bibliothèques clientes sont incluses dans plusieurs langages.

Bibliothèque cliente Langage Lien vers l’exemple de code
StackExchange.Redis .NET Exemple de code StackExchange.Redis
redis-py Python Exemple de code redis-py
Jedis Java Exemple de code Jedis
Lettuce Java Exemple de code lettuce
Redisson Java Exemple de code Redisson
ioredis Node.js Exemple de code ioredis
nœud-redis Node.js exemple de code nœud-redis

Meilleures pratiques pour l’authentification Microsoft Entra

  • Configurez des liaisons privées ou des règles de pare-feu pour protéger votre cache contre une attaque par déni de service.
  • Assurez-vous que votre application cliente envoie un nouveau jeton Microsoft Entra au moins trois minutes avant l’expiration du jeton pour éviter toute interruption de la connexion.
  • Lorsque vous appelez régulièrement la commande AUTH du serveur Redis, envisagez d’ajouter une gigue afin que les commandes AUTH soient décalées. De cette façon, votre serveur Redis ne reçoit pas trop de commandes AUTH en même temps.