Partager via


Configurer un contrôle d’accès en fonction du rôle avec la stratégie d’accès aux données

La gestion de l’accès à votre instance Azure Cache pour Redis est essentielle pour veiller à ce que les utilisateurs appropriés aient accès au jeu approprié de données et de commandes. Dans Redis version 6, la Liste de contrôle d’accès (ACL) a été introduite. ACL limite les utilisateurs qui peuvent exécuter certaines commandes et les clés auxquelles un utilisateur peut accéder. Par exemple, vous pouvez interdire à des utilisateurs spécifiques de supprimer des clés dans le cache à l’aide de la commande DEL.

Azure Cache pour Redis intègre désormais cette fonctionnalité de liste de contrôle d’accès à Microsoft Entra ID pour vous permettre de configurer vos stratégies d’accès aux données pour le principal de service et l’identité managée de votre application.

Azure Cache pour Redis propose trois stratégies d’accès intégrées : Propriétaire de données, Contributeur de données et Lecteur de données. Si les stratégies d’accès intégrées ne répondent pas à vos exigences en matière de protection et d’isolation des données, vous pouvez créer et utiliser votre propre stratégie d’accès aux données personnalisée, comme décrit dans Configurer la stratégie d’accès aux données personnalisée.

Étendue de la disponibilité

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

Conditions préalables et limitations

  • Les stratégies d’accès aux données et de liste de contrôle d’accès Redis ne sont pas prises en charge sur des instances Azure Cache pour Redis qui exécutent Redis version 4.
  • L’authentification et l’autorisation Microsoft Entra sont prises en charge uniquement pour des connexions SSL.
  • Certaines commandes Redis sont bloquées.

Autorisations pour votre stratégie d’accès aux données

Comme indiqué dans la Liste de contrôle d’accès Redis, ACL dans Redis version 6.0 permet de configurer des autorisations d’accès pour trois domaines :

Catégories de commandes

Redis a créé des regroupements de commandes telles que des commandes administratives, des commandes dangereuses, etc. pour faciliter la définition des autorisations sur un groupe de commandes.

  • Utiliser +@commandcategory pour autoriser une catégorie de commandes
  • Utiliser -@commandcategory pour interdire une catégorie de commandes

Ces commandes sont toujours bloquées. Les groupes suivants sont des catégories de commandes utiles prises en charge par Redis. Si vous souhaitez obtenir plus d’informations sur des catégories de commandes, consultez la liste complète sous le titre Catégories de commandes.

  • admin
    • Commandes administratives. Les applications normales n’ont jamais besoin de les utiliser, notamment MONITOR, SHUTDOWN et d’autres.
  • dangerous
    • Commandes potentiellement dangereuses. Chacun d’eux doit être considéré avec soin pour diverses raisons, notamment FLUSHALL, RESTORE, SORT, KEYS, CLIENT, DEBUG, INFO, CONFIG et d’autres.
  • keyspace
    • Écriture ou lecture à partir de clés, de bases de données ou de leurs métadonnées de manière indépendante de tout type, y compris DEL, RESTORE, DUMP, RENAME, EXISTS, DBSIZE, KEYS, EXPIRE, TTL, FLUSHALL et bien plus encore. Les commandes qui peuvent modifier l’espace de clés, la clé ou les métadonnées disposent également de la catégorie d’écriture. Les commandes qui lisent uniquement l’espace de clés, la clé ou les métadonnées ont la catégorie lecture.
  • pubsub
    • Commandes liées à PubSub.
  • read
    • Lecture à partir de clés, de valeurs ou de métadonnées. Les commandes qui n’interagissent pas avec des clés n’ont pas de catégorie en lecture ou écriture.
  • set
    • Type de données : jeux liés.
  • sortedset
    • Type de données : jeux triés liés.
  • stream
    • Type de données : flux liés.
  • string
    • Type de données : chaînes liées.
  • write
    • Écriture dans des clés (valeurs ou métadonnées).

Commandes

Les commandes vous permettent de contrôler les commandes spécifiques qu’un utilisateur Redis déterminé peut exécuter.

  • Utilisez +command pour autoriser une commande.
  • Utilisez -command pour interdire une commande.

Touches

Les clés vous permettent de contrôler l’accès à des clés spécifiques ou à des groupes de clés stockés dans le cache.

  • Utilisez ~<pattern> pour fournir un modèle pour les clés.

  • Utilisez ~* ou allkeys pour indiquer que les autorisations de catégorie de commande s’appliquent à toutes les clés dans l’instance de cache.

Comment spécifier des autorisations

Pour spécifier des autorisations, vous devez créer une chaîne à enregistrer en tant que stratégie d’accès personnalisée, puis affecter la chaîne à votre utilisateur Azure Cache pour Redis.

La liste suivante contient quelques exemples de chaînes d’autorisation pour différents scénarios.

  • Autoriser l’application à exécuter toutes les commandes sur toutes les clés

    Chaîne d’autorisations : +@all allkeys

  • Autoriser l’application à exécuter uniquement des commandes en lecture

    Chaîne des autorisations : +@read ~*

  • Autoriser l’application à exécuter une catégorie de commande en lecture et définir la commande sur des clés avec le préfixe Az.

    Chaîne des autorisations : +@read +set ~Az*

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 dans laquelle vous souhaitez configurer l’authentification basée sur les jetons Microsoft Entra.

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

    Capture d’écran montrant la configuration de l’accès aux données mise en surbrillance dans le menu Ressource.

  3. Sélectionnez Ajouter, puis choisissez Nouvelle stratégie d’accès.

    Capture d’écran montrant un formulaire pour l’ajout d’une stratégie d’accès personnalisée.

  4. Fournissez un nom pour votre stratégie d’accès.

  5. Configurez des autorisations en fonction de vos besoins.

  6. Pour ajouter un utilisateur à la stratégie d’accès en utilisant Microsoft Entra ID, vous devez d’abord activer Microsoft Entra ID en sélectionnant Authentification dans le menu Ressource.

  7. Sélectionnez l’onglet Activer l’authentification Microsoft Entra dans le volet actif.

  8. Si ce n’est pas déjà fait, cochez la case Activer l’authentification Microsoft Entra et sélectionnez OK. Sélectionnez ensuite Enregistrer.

    Capture d’écran de l’autorisation d’accès Microsoft Entra ID.

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

Configurer votre client Redis pour utiliser Microsoft Entra ID

Maintenant que vous avez configuré la stratégie d’accès Utilisateur et données Redis pour configurer le contrôle d’accès en fonction du rôle, vous devez mettre à jour le workflow de votre client pour prendre en charge l’authentification à l’aide d’une combinaison nom d’utilisateur/mot de passe spécifique. Pour savoir comment configurer votre application cliente afin qu’elle se connecte à votre instance de cache au nom d’un utilisateur Redis spécifique, consultez Configurer votre client Redis pour utiliser Microsoft Entra.

Étapes suivantes