Partager via


Utiliser Microsoft Entra pour l’authentification du cache

Azure Cache pour Redis 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 Cache pour Redis propose un mécanisme d’authentification sans mot de passe en intégrant Microsoft Entra. Cette intégration inclut également la fonctionnalité de contrôle d’accès en fonction du rôle fournie par le biais de listes de contrôle d’accès (ACL) prises en charge dans Redis open source.

Pour utiliser l’intégration de la liste de contrôle d’accès, votre application cliente doit prendre l’identité d’une entité Microsoft Entra, comme le principal de service ou l’identité managée, et se connecter à votre cache. Dans cet article, vous allez apprendre à utiliser votre principal de service ou votre identité managée pour vous connecter à votre cache. Vous allez également apprendre à accorder à votre connexion des autorisations prédéfinies en fonction de l’artefact Microsoft Entra utilisé pour la connexion.

Étendue de la disponibilité

Niveau De base, Standard, Premium Enterprise, Enterprise Flash
Disponibilité Oui Non

Conditions préalables et limitations

  • L’authentification basée sur Microsoft Entra est prise en charge pour les connexions SSL et TLS 1.2 ou versions ultérieures.
  • L’authentification basée sur Microsoft Entra n’est pas prise en charge dans les niveaux Enterprise d’Azure Cache pour Redis Enterprise.
  • 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 Cache pour 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.

Activer l’authentification Microsoft Entra sur votre cache

  1. Dans le portail Azure, sélectionnez l’instance Azure Cache pour Redis dans 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, puis entrez le nom d’un utilisateur valide. L’utilisateur que vous spécifiez est automatiquement associé à la stratégie d’accès Propriétaire des données par défaut lorsque vous sélectionnez Enregistrer. Vous pouvez également entrer une identité managée ou un principal de service pour vous connecter à votre instance de cache.

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

  5. Une boîte de dialogue contextuelle vous demande si vous souhaitez mettre à jour votre configuration et vous informe qu’elle prend plusieurs minutes. Sélectionnez Oui.

    Important

    Une fois l’opération d’activation terminée, les nœuds de votre instance de cache redémarrent pour charger la nouvelle configuration. Nous vous recommandons d’effectuer cette opération pendant votre fenêtre de maintenance ou en dehors de vos heures de pointe. L’opération peut prendre jusqu’à 30 minutes.

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 un cache, 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

  • Vérifiez que l’authentification Microsoft Entra est activée et que vous avez au moins un utilisateur Redis configuré.
  • Vérifiez que toutes les applications se connectant à votre instance de cache basculent vers l’utilisation de l’authentification Microsoft Entra.
  • Vérifiez que les métriques Clients connectés et Clients connectés avec un jeton Microsoft Entra ont les mêmes valeurs. Si les valeurs de ces deux métriques ne sont pas identiques, cela signifie qu’il existe toujours des connexions qui ont été créées à l’aide de clés d’accès et non pas de jetons Microsoft Entra.
  • Envisagez de désactiver l’accès pendant la fenêtre de maintenance planifiée de votre instance de cache.
  • La désactivation des clés d’accès est disponible uniquement pour les caches de niveau De base, Standard et Premium.

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 dans lequel vous avez utilisé des clés d’accès et que vous souhaitez les désactiver, procédez de la manière suivante :

  1. Dans le Portail Azure, sélectionnez l’instance Azure Cache pour 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 Désactiver l’authentification par clés d’accès. Ensuite, cliquez sur Enregistrer.

    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.

Utiliser la configuration d’accès aux données avec votre cache

Si vous souhaitez utiliser une stratégie d’accès personnalisée au lieu de la stratégie d’accès Propriétaire des données Redis, accédez à Configuration de l’accès aux données dans le menu Ressource. Pour plus d’informations, consultez Configurer une stratégie d’accès aux données personnalisée pour votre application.

  1. Dans le Portail Azure, sélectionnez l’instance Azure Cache pour Redis où vous souhaitez ajouter la configuration de l’accès aux données.

  2. Dans le menu Ressource, sélectionnez Configuration de l’accès aux données.

  3. Sélectionnez Ajouter, puis Nouvel utilisateur Redis.

  4. Sous l’onglet Stratégies d’accès, sélectionnez l’une des stratégies disponibles dans le tableau : Propriétaire des données, Contributeur aux données ou Lecteur de données. Ensuite, sélectionnez Suivant : Utilisateurs Redis.

    Capture d’écran des stratégies d’accès disponibles.

  5. Choisissez l’option Utilisateur ou principal de service ou Identité managée pour déterminer la méthode d’attribution de l’accès à votre instance Azure Cache pour Redis. Si vous sélectionnez Utilisateur ou principal de service pour pouvoir ajouter un utilisateur, vous devez d’abord activer l’authentification Microsoft Entra.

  6. Ensuite, choisissez Sélectionner des membres, puis Sélectionner. Ensuite, sélectionnez Suivant : Vérifier + créer.

    Capture d’écran des membres à ajouter comme nouveaux utilisateurs Redis.

  7. Une boîte de dialogue contextuelle vous informe que la mise à niveau est permanente et peut entraîner une courte perte de connexion. Sélectionnez Oui.

    Important

    Une fois l’opération d’activation terminée, les nœuds de votre instance de cache redémarrent pour charger la nouvelle configuration. Nous vous recommandons d’effectuer cette opération pendant votre fenêtre de maintenance ou en dehors de vos heures de pointe. L’opération peut prendre jusqu’à 30 minutes.

Configurer votre client Redis pour utiliser Microsoft Entra

Étant donné que la plupart des clients Azure Cache pour 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 Cache pour 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 à un Azure Cache pour 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 Cache pour 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 Cache pour 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
go-redis Go Exemple de code go-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.
  • Quand vous appelez régulièrement la commande AUTH du serveur Redis, envisagez d’ajouter un retard aléatoire 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.