Partager via


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

  1. 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.

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

  3. Dans le volet actif, sélectionnez Activer l’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 l’activation de l’authentification Microsoft Entra cochée.

  5. 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.

  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 choisissez Nouvel utilisateur Redis.

  4. 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.

    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, sélectionnez Sélectionner des membres, puis sélectionnez 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 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

  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 suivants User et Password :

    • 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 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 commandes AUTH soient décalées et que votre serveur Redis ne reçoive pas beaucoup de commandes AUTH en même temps.