Utiliser Microsoft Entra ID 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 ID
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 ID. 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 et à 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 ID est prise en charge pour les connexions SSL et TLS 1.2 ou versions ultérieures.
- L’authentification basée sur Microsoft Entra ID n’est pas prise en charge sur les instances Azure Cache pour Redis qui dépendent de Services cloud.
- L’authentification basée sur Microsoft Entra ID 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 la connexion établie à l’aide d’un jeton Microsoft Entra, les applications clientes doivent régulièrement actualiser le jeton Microsoft Entra avant l’expiration et envoyer une commande AUTH
au serveur Redis pour éviter toute interruption des connexions. Pour plus d’informations, consultez Configurer votre client Redis pour utiliser Microsoft Entra ID.
Activer l’authentification Microsoft Entra ID sur votre cache
Dans le portail Azure, sélectionnez l’instance Azure Cache pour Redis où vous souhaitez configurer l’authentification basée sur des jetons Microsoft Entra.
Dans le menu Ressource, sélectionnez Authentification.
Dans le volet actif, sélectionnez Activer l’authentification Microsoft Entra.
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.
Une boîte de dialogue contextuelle s’affiche pour vous demander si vous souhaitez mettre à jour votre configuration, et vous informer que l’opération 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 ID avec l’interface de ligne de commande Azure (Azure CLI) consultez les pages de référence pour l’identité.
Utiliser la configuration de l’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.
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.
Dans le menu Ressource, sélectionnez Configuration de l’accès aux données.
Sélectionnez Ajouter, puis choisissez Nouvel utilisateur Redis.
Sous l’onglet Stratégie d’accès, sélectionnez l’une des stratégies disponibles dans le tableau : Propriétaire des données, Contributeur des données ou Lecteur des données. Ensuite, sélectionnez Suivant:Utilisateurs Redis.
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.
Ensuite, sélectionnez Sélectionner des membres, puis sélectionnez Sélectionner. Ensuite, sélectionnez Suivant : Vérifier + créer.
Une boîte de dialogue vous avertit alors que la mise à niveau est définitive 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 ID
É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 ID. 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.
Flux de travail 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 suivants
User
etPassword
: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 ID 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 ID.
Le tableau suivant contient des liens vers des exemples de code montrant 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 langues.
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 3 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 et que votre serveur Redis ne reçoive pas beaucoup de commandesAUTH
en même temps.