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
- L’authentification basée sur Microsoft Entra est uniquement prise en charge pour les connexions SSL.
- 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.
Activer l’authentification Microsoft Entra sur votre cache
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.
Dans le menu Ressource, sélectionnez Authentification.
Dans le volet actif, sélectionnez l’onglet Authentification Microsoft Entra.
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.
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 :
- Dissocier les caches.
- Désactiver les clés d’accès.
- 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 :
Dans le Portail Azure, sélectionnez l’instance Azure Managed Redis dans laquelle vous souhaitez désactiver les clés d’accès.
Dans le menu Ressource, sélectionnez Authentification.
Dans le volet de travail, sélectionnez Clés d’accès.
Configurez l’authentification des clés d’accès à désactiver.
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
Configurez votre application cliente afin qu’elle acquière un jeton Microsoft Entra pour l’étendue,
https://redis.azure.com/.default
ouacca5fbb-b7e4-4009-81f1-37e38fd66d78/.default
, en utilisant la bibliothèque d’authentification Microsoft (MSAL).Mettez à jour votre logique de connexion Redis pour utiliser les éléments
User
etPassword
suivants :User
= ID d’objet de votre identité managée ou de votre principal de servicePassword
= Jeton Microsoft Entra que vous avez acquis à l’aide de MSAL
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 servicePassword
= 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 commandesAUTH
soient décalées. De cette façon, votre serveur Redis ne reçoit pas trop de commandesAUTH
en même temps.