Partager via


Utiliser l’ID Microsoft Entra pour l’authentification du cache avec Azure Managed Redis

Azure Managed Redis offre un mécanisme d’authentification sans mot de passe en intégrant l’ID Microsoft Entra. Les caches Redis managés Azure utilisent par défaut l’ID Microsoft Entra. Lorsque vous créez un cache, l’identité managée est activée.

Bien que l’authentification par clé d’accès soit toujours disponible, 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.

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

  • L’authentification basée sur Microsoft Entra est uniquement prise en charge pour les connexions SSL.
  • Les Microsoft Entra groupes ne sont pas pris en charge.
  • Certaines commandes Redis sont bloquées. Pour obtenir la liste complète des commandes bloquées, consultez Commandes Redis non prises en charge dans Azure Managd Redis.

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.

Configurer votre client Redis pour utiliser Microsoft Entra

Si vous avez utilisé des clés d’accès par le passé pour l’authentification, vous devez mettre à jour votre flux de travail client pour prendre en charge l’authentification à l’aide de l’ID Microsoft Entra. Dans cette section, vous allez apprendre à vous connecter à Azure Managed Redis à l’aide d’un ID Microsoft Entra.

Ajouter des utilisateurs ou des principaux du système à votre cache

  1. Connectez-vous à votre cache dans le portail Azure.

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

  3. Sous l’onglet Authentification Microsoft Entra , sélectionnez Utilisateur ou principal de service , puis + Sélectionner un membre.

  4. Tapez le nom de l’utilisateur que vous souhaitez exécuter le programme. Sélectionnez l’utilisateur à ajouter dans la liste et sélectionnez. L’utilisateur est ajouté à la liste des utilisateurs Redis.

    Capture d’écran de l’onglet Authentification dans un cache Redis sur le portail Azure.

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. Vérifiez que votre client exécute automatiquement une commande Redis AUTH 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

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.

Résolution des problèmes liés à l’ID Microsoft Entra et à votre cache

Si votre application ne parvient pas à accéder à l’instance Azure Managed Redis via l’ID Microsoft Entra, utilisez ce script PowerShell :

EntraTokenValidation

Utilisez ce script PowerShell pour valider les jetons d’ID Microsoft Entra pour les ressources du cache Redis managé Azure. Le script valide les jetons et vérifie les stratégies d’accès pour vous aider à diagnostiquer les problèmes d’authentification.

Si vous rencontrez des difficultés à utiliser l’ID Microsoft Entra pour authentifier les connexions Redis, exécutez ce script pour analyser votre jeton Microsoft Entra et identifier les problèmes.

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 de client Language 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
node-redis Node.js exemple de code nœud-redis
go-redis Go exemple de code go

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

Si vous disposez d’un cache à l’aide de clés d’accès, nous vous recommandons de passer à Microsoft Entra ID comme moyen sécurisé de connecter votre cache et de désactiver les clés d’accès.

Lorsque vous désactivez les clés d’accès, le système met fin à toutes les connexions clientes existantes, qu’elles utilisent des clés d’accès ou l’authentification Microsoft Entra ID.

Avant de désactiver les clés d’accès sur 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.

Pour désactiver les clés d’accès, procédez comme suit :

  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. Sélectionnez le contrôle d’authentification des clés d’accès pour désactiver les clés d’accès.

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

    Important

    Lorsque le paramètre d’authentification des clés d’accès est modifié pour un cache, toutes les connexions clientes existantes, à l’aide de clés d’accès ou de Microsoft Entra, sont arrêtées. 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.