Utilisez le paramètre #no_loose_disabled-commands pour bloquer certaines commandes Redis susceptibles de provoquer une perte de données ou de dégrader les performances de l'instance.
Certaines commandes Redis présentent des risques inhérents dans les environnements de production :
Commandes de suppression de données — FLUSHALL et FLUSHDB effacent la plupart ou la totalité des données d'une instance.
Commandes bloquantes — KEYS et HGETALL peuvent bloquer l'instance et dégrader les performances lorsqu'elles sont exécutées sur de grands ensembles de données.
La désactivation de ces commandes au niveau de l'instance empêche leur exécution accidentelle ou non autorisée.
Pour garantir la stabilité des performances de l'instance, Tair (compatible avec Redis OSS) n'autorise pas la désactivation de commandes telles que CONFIG. Pour plus d'informations, consultez la section Commandes qui ne peuvent pas être désactivées .
Désactiver des commandes
Connectez-vous à la console Alibaba Cloud et accédez à la page Instances. Dans la barre de navigation supérieure, sélectionnez la région où se trouve votre instance. Localisez votre instance et cliquez sur son ID.
Dans le volet de navigation de gauche, cliquez sur Parameter Settings.
Sous l'onglet Parameter Settings, recherchez le paramètre
#no_loose_disabled-commandset cliquez sur Modify dans la colonne Actions.-
Dans la boîte de dialogue, saisissez les commandes à désactiver en respectant le format suivant :
Utilisez uniquement des lettres minuscules.
Séparez plusieurs commandes par des virgules (,).
Exemple :
keys,flushdb
ImportantLa désactivation d'une commande parente entraîne également celle de toutes ses sous-commandes. Par exemple, la désactivation de
scriptbloque SCRIPT EXISTS, SCRIPT LOAD et toutes les autres sous-commandes SCRIPT. Il est impossible de désactiver les sous-commandes individuellement. Cliquez sur OK.
Vérifier la modification
Connectez-vous à votre instance à l'aide de redis-cli et exécutez une commande désactivée. Par exemple, l'exécution de FLUSHALL renvoie l'une des erreurs suivantes :
ERR command 'FLUSHALL' not support for normal user
NOPERM this user has no permissions to run the 'flushall' command
Commandes qui ne peuvent pas être désactivées
Les commandes suivantes sont réservées aux opérations internes et ne peuvent pas être désactivées :
CONFIGMIGRATERESTORE-ASKINGLASTSAVEBGREWRITEAOFREPLICAOFBGSAVEPFDEBUGPFSELFTESTSLAVEOFCommandes liées à ACL
Commandes liées à MODULE
Commandes liées à DEBUG
Référence API
| Opération API | Description |
|---|---|
| DescribeParameters | Interroge les paramètres de configuration et opérationnels d'une instance |
| ModifyInstanceConfig | Modifie les paramètres de configuration d'une instance |