En utilisant des règles de liste de contrôle des accès (LCA) dans Memorystore pour Valkey, vous pouvez sécuriser l'accès à vos instances. Vous pouvez activer une sécurité affinée en limitant l'accès des utilisateurs et des services à des clés, des commandes et des canaux Pub/Sub spécifiques.
Voici des exemples de cas d'utilisation des règles ACL pour sécuriser l'accès aux instances :
- Fournissez un contrôle des accès basé sur les rôles (RBAC) : créez des profils utilisateur distincts pour les différents composants de vos applications. Par exemple, une interface Web peut disposer d'un accès en lecture seule, tandis qu'un service de traitement en arrière-plan peut disposer d'un accès en lecture et en écriture. Cela permet d'éviter les fuites ou les falsifications accidentelles de données.
- Empêchez les commandes destructrices : limitez les commandes dangereuses telles que
FLUSHALL,FLUSHDBouCONFIGaux administrateurs de haut niveau uniquement. Cela protège l'intégrité des données contre les bugs logiciels ou les erreurs manuelles. Assurez la sécurité des applications multitenants : utilisez des utilisateurs ACL distincts pour différents microservices ou partenaires externes. Cela permet de s'assurer que les utilisateurs d'un service ne peuvent pas lire ni modifier les clés appartenant à un autre service.
Memorystore pour Valkey ne propose pas de multitenancy au niveau des ressources. Même si les espaces de clés sont divisés, il est possible qu'un service consomme une quantité disproportionnée de mémoire ou de processeur.
Effectuez des analyses et une surveillance en lecture seule : attribuez un utilisateur dédié qui ne peut utiliser que
GETou d'autres commandes en lecture seule (par exemple,SCANouTYPE) aux moteurs d'analyse ou aux applications de tableau de bord. Cela empêche les écritures ou la suppression de données accidentelles.Sécuriser les clés de base de données : les applications ne peuvent interagir qu'avec les clés correspondant à des modèles spécifiques (par exemple,
app1:*). Cela permet de séparer logiquement les données au sein d'une instance.Désactiver les scripts Lua : utilisez des règles ACL pour gérer les fonctionnalités de script Lua pour vos instances. La désactivation ou la restriction des scripts Lua peut être utile pour optimiser les performances, simplifier les fonctionnalités de vos instances ou respecter les consignes de sécurité de votre organisation.
Avant de commencer
Avant de commencer à utiliser les règles LCA, suivez les instructions de cette section.
Utiliser la console Google Cloud , la Google Cloud CLI et les API
Pour utiliser la console Google Cloud , Google Cloud CLI et les API, procédez comme suit :
- Dans la console Google Cloud , sur la page de sélection du projet, sélectionnez ou créez un projet Google Cloud .
Remarque : Si vous ne comptez pas conserver les ressources créées dans cette procédure, créez un projet au lieu d'en sélectionner un existant. Après avoir suivi ces étapes, vous pouvez supprimer le projet. Cela entraîne la suppression de toutes les ressources qui lui sont associées.
Accéder au sélecteur de projet - Assurez-vous que la facturation est activée pour votre projet. Découvrez comment vérifier si la facturation est activée sur un projet.
Installez et initialisez la Google Cloud CLI.
Remarque : Si vous avez déjà installé la gcloud CLI, assurez-vous que vous disposez de la dernière version en exécutant
gcloud components update. Vous devez disposer au moins de la version489.0.0de gcloud CLI pour accéder aux commandes gcloud CLI de Memorystore pour Valkey.-
Activez l'API Memorystore pour Valkey.
Memorystore pour Valkey -
Activez l'API Network Connectivity.
API Network Connectivity -
Activez l'API Service Consumer Management.
API Service Consumer Management
Attribuer des rôles Memorystore pour Valkey
Assurez-vous que vous (ou le compte utilisateur que vous utilisez) disposez des autorisations requises pour l'action que vous devez effectuer.
Pour effectuer toutes les opérations liées aux règles de LCA, utilisez les rôles Administrateur Memorystore (roles/memorystore.admin) et Éditeur Memorystore (roles/memorystore.editor). Pour afficher uniquement les règles LCA, utilisez le rôle Lecteur Memorystore (roles/memorystore.viewer).
Attribuer des autorisations Memorystore pour Valkey
En plus des rôles Administrateur Memorystore, Éditeur Memorystore et Lecteur Memorystore, vous avez besoin des autorisations suivantes pour utiliser les règles LCA dans Memorystore pour Valkey :
| Action | Autorisation |
|---|---|
| Créer une règle LCA | memorystore.aclPolicies.create |
| Attribuer une règle LCA à une instance | memorystore.instances.update |
| Afficher des informations sur les règles ACL | memorystore.aclPolicies.list |
| Afficher des informations sur une règle LCA | memorystore.aclPolicies.get |
| Afficher des informations sur les révisions des règles LCA | memorystore.aclPolicyRevisions.list |
| Afficher des informations sur une révision de règle LCA | memorystore.aclPolicyRevisions.get |
| Modifier une règle LCA | memorystore.aclPolicies.update |
| Supprimer une règle de LCA d'une instance | memorystore.instances.update |
| Supprimer une stratégie LCA | memorystore.aclPolicies.delete |
Créer une règle LCA
En créant des règles de LCA dans Memorystore pour Valkey, vous renforcez la sécurité de vos instances en limitant l'accès des utilisateurs à des clés, des commandes et des canaux Pub/Sub spécifiques.
Vous pouvez créer une règle de liste de contrôle d'accès à l'aide de la console Google Cloud ou de la gcloud CLI.
Console
Dans la console Google Cloud , accédez à la page Memorystore pour Valkey.
Dans le panneau de navigation latéral, cliquez sur Règles LCA.
Sur la page Règles LCA, cliquez sur Créer une règle.
Dans la fenêtre Créer une règle, procédez comme suit :
Dans le champ Nom de la règle, saisissez un nom pour la règle de LCA. Le nom de la règle ne doit contenir que des lettres minuscules, des chiffres et des traits d'union. Il doit également commencer par une lettre et être unique dans sa région.
Dans le menu Région, sélectionnez la région dans laquelle vous souhaitez que Memorystore pour Valkey crée la règle ACL.
Cliquez sur Ajouter une règle.
Dans le champ ID utilisateur, saisissez le nom de l'utilisateur auquel la règle ACL doit s'appliquer.
Dans le champ Chaîne d'accès, saisissez la chaîne d'accès pour la règle. La chaîne d'accès est une règle lisible qui définit les autorisations spécifiques de l'utilisateur.
Par exemple, si vous souhaitez accorder à l'utilisateur
defaultdes autorisations de lecture et d'écriture pour toutes les clés LCA de l'instance, remplissez les champs ID utilisateur et Chaîne d'accès comme suit :ID utilisateur Chaîne d'accès defaulton ~* &* +@allCette règle accorde les autorisations suivantes à l'utilisateur
default:on: l'utilisateur est actif et l'authentification est activée pour lui.~*: l'utilisateur dispose d'un accès en lecture et en écriture à toutes les clés possibles.&*: l'utilisateur a accès à tous les canaux Pub/Sub.+@all: l'utilisateur peut exécuter toutes les commandes disponibles.
Pour en savoir plus sur les autres règles et stratégies de LCA que vous pouvez créer, consultez ACL dans la documentation Valkey.
Répétez les étapes c à e pour les autres règles LCA que vous souhaitez créer pour la règle.
Cliquez sur Créer.
gcloud
Pour créer une règle de LCA, utilisez la commande gcloud memorystore acl-policies create.
gcloud memorystore acl-policies create ACL_POLICY_NAME \ --location=REGION \ --rules=rule="on ~* +@all",username="lucian" \ --rules=rule="on +get",username="taylor"
Effectuez les remplacements suivants :
- ACL_POLICY_NAME : nom de la règle LCA que vous créez. Le nom de la règle doit être composé de lettres minuscules, de chiffres et de traits d'union. Il doit également commencer par une lettre et être unique dans sa région.
- REGION : région dans laquelle vous souhaitez que la stratégie LCA soit située.
Cette règle utilise l'authentification de base basée sur les jetons et comporte des règles qui effectuent les actions suivantes :
- La première règle accorde à
lucianl'autorisation~* +@all. Cette autorisation permet à l'utilisateur d'accéder à toutes les clés et d'exécuter toutes les commandes. - La deuxième règle accorde l'autorisation
getàtaylor. Cette autorisation permet à l'utilisateur de récupérer les valeurs associées aux clés. Il limite l'accès de l'utilisateur aux opérations de données en lecture seule et l'empêche de modifier les clés.
Pour créer des règles pour une stratégie ACL qui utilise l'authentification Identity and Access Management (IAM), nous vous recommandons d'utiliser des comptes principaux IAM pour les noms d'utilisateur (par exemple, les adresses e-mail des utilisateurs).
gcloud memorystore acl-policies create ACL_POLICY_NAME \ --location=REGION \ --rules=rule="on ~* +@all",username="lucian@example.com" \ --rules=rule="on +get",username="taylor@example.com"
Pour créer une règle pour une stratégie de LCA qui n'utilise pas l'authentification, l'utilisateur doit être l'utilisateur default.
gcloud memorystore acl-policies create ACL_POLICY_NAME \ --location=REGION \ --rules=rule="on ~* +@all",username="default"
Pour en savoir plus sur l'authentification de base par jeton et l'authentification IAM, consultez Sécuriser l'accès à vos instances à l'aide de l'authentification de base par jeton et À propos de l'authentification IAM.
Pour en savoir plus sur les autres règles et stratégies LCA que vous pouvez créer, consultez ACL dans la documentation Valkey.
Attribuer une règle LCA à une instance
En attribuant une règle de LCA à une instance ou en remplaçant une règle attribuée, vous permettez à Memorystore for Valkey d'appliquer les règles de la stratégie à l'instance. Vous limitez ainsi l'accès des utilisateurs à des clés, des commandes et des canaux Pub/Sub spécifiques.
Vous pouvez attribuer une stratégie de LCA à une instance à l'aide de la consoleGoogle Cloud ou de la gcloud CLI.
Attribuer une règle à une nouvelle instance
Pour créer une instance et lui attribuer une règle LCA, consultez Créer des instances.
Attribuer une règle à une instance existante
Pour renforcer la sécurité d'une instance existante, vous pouvez lui attribuer une règle de LCA.
Console
Dans la console Google Cloud , accédez à la page Memorystore pour Valkey.
Cliquez sur l'ID de l'instance à laquelle vous souhaitez attribuer une règle de liste de contrôle d'accès.
Sur la page Instance en un coup d'œil, faites défiler la page jusqu'à la carte Sécurité.
À côté du champ Règle LCA, cliquez sur Modifier (edit).
Dans la fenêtre Modifier la règle de la LCA, procédez comme suit :
Dans le menu Règle, sélectionnez la règle que vous souhaitez attribuer à l'instance.
Cliquez sur Mettre à jour l'instance.
gcloud
Pour attribuer une règle de LCA à une instance existante, utilisez la commande gcloud memorystore instances update.
gcloud memorystore instances update INSTANCE_ID \ --update_mask=acl_policy \ --acl-policy=ACL_POLICY_NAME \ --location=REGION
Effectuez les remplacements suivants :
- INSTANCE_ID : ID de l'instance à laquelle vous attribuez la stratégie ACL
- ACL_POLICY_NAME : nom de la stratégie LCA
- REGION : région où se trouve l'instance
Afficher des informations sur les règles ACL
Afficher des informations sur les règles de LCA dans Memorystore pour Valkey vous aide à maintenir la sécurité, à assurer la stabilité opérationnelle de votre environnement et à auditer les données en mémoire. Ces règles définissent les utilisateurs autorisés à lire ou modifier des modèles de clés spécifiques, à exécuter des commandes spécifiques ou à accéder à des canaux Pub/Sub spécifiques.
Vous pouvez afficher des informations sur les règles de LCA à l'aide de la console Google Cloud ou de la CLI gcloud.
Console
Dans la console Google Cloud , accédez à la page Memorystore pour Valkey.
Dans le panneau de navigation latéral, cliquez sur Règles LCA.
Sur la page Règles LCA, vous pouvez afficher les informations suivantes sur chaque règle LCA :
- ID de la règle : identifiant unique de la règle
- Emplacement : région où se trouve la règle
- Créée le : date et heure de création de la règle
- Dernière mise à jour : date et heure de la dernière mise à jour du règlement
- Nombre de règles : nombre total de règles pour le règlement
- Utilisé par les instances : les instances attribuées à la règle
gcloud
Pour afficher des informations sur les règles ACL, utilisez la commande gcloud memorystore acl-policies list.
gcloud memorystore acl-policies list --location=REGION
Remplacez REGION par la région dans laquelle se trouve la règle de LCA.
Afficher des informations sur une règle LCA
En affichant des informations sur une règle de LCA dans Memorystore pour Valkey, vous pouvez effectuer des audits de sécurité, résoudre les problèmes d'accès et appliquer le principe du moindre privilège en vérifiant les commandes utilisateur, les autorisations d'accès aux clés et l'accès aux chaînes Pub/Sub. De plus, les administrateurs peuvent consulter une règle de LCA pour s'assurer que vos applications disposent de l'accès approprié et pour détecter les règles trop permissives.
Vous pouvez afficher des informations sur une stratégie de LCA à l'aide de la gcloud CLI. Pour afficher ces informations, utilisez la commande gcloud memorystore acl-policies describe.
gcloud memorystore acl-policies describe ACL_POLICY_NAME \ --location=REGION
Effectuez les remplacements suivants :
- ACL_POLICY_NAME : nom de la règle LCA dont vous souhaitez afficher les informations
- REGION : région où se trouve la règle LCA
Afficher des informations sur les révisions des règles LCA
Lorsque vous créez une règle LCA, Memorystore pour Valkey crée une version (révision) pour la règle. Chaque fois que vous modifiez la règle, Memorystore for Valkey crée une révision ultérieure de la règle.
Étant donné que Memorystore pour Valkey génère automatiquement ces révisions, vous pouvez les utiliser à des fins de suivi et d'audit internes. De plus, l'affichage des révisions vous permet de consulter le contenu exact de la stratégie de LCA pour chaque version historique.
Les révisions des règles ACL vous permettent de savoir quelles instances utilisent quelle révision d'une règle. Cela vous permet de conserver la visibilité et de vous assurer que les instances sont sur la bonne version pendant les périodes de cohérence à terme après une mise à jour des règles.
Vous pouvez afficher des informations sur les révisions des règles de LCA à l'aide de la consoleGoogle Cloud ou de la gcloud CLI.
Console
Dans la console Google Cloud , accédez à la page Memorystore pour Valkey.
Dans le panneau de navigation latéral, cliquez sur Règles LCA.
Sur la page Règles LCA, cliquez sur l'ID de la règle LCA dont vous souhaitez afficher les révisions. La page Révisions des règles LCA affiche les informations suivantes :
- ID de révision : ID de chaque révision de la règle LCA
- Numéro de révision : numéro de chaque révision de la règle LCA
- Emplacement : région où se trouve chaque révision de la règle LCA
- Créé le : date et heure de création de chaque révision de la règle LCA
- Instances associées : instances attribuées à chaque révision de la règle LCA
- Instantané : informations détaillées sur chaque révision de la règle ACL
gcloud
Pour afficher des informations sur les révisions de règles LCA, utilisez la commande gcloud memorystore acl-policies revisions list.
gcloud memorystore acl-policies revisions list \ --acl-policy=ACL_POLICY_NAME \ --location=REGION
Effectuez les remplacements suivants :
- ACL_POLICY_NAME : nom de la règle de LCA contenant les révisions dont vous souhaitez afficher les informations
- REGION : région où se trouve la règle LCA
Dans le résultat, notez les ID de révision. Vous en aurez besoin pour afficher des informations sur des révisions spécifiques des règles LCA.
Afficher des informations sur une révision de règle LCA
L'affichage d'une révision de règle LCA vous permet de voir ses règles, ses métadonnées et la liste de toutes les instances associées. Vous pouvez afficher des informations sur une révision de règle de LCA à l'aide de la console Google Cloud ou de la gcloud CLI.
Console
Dans la console Google Cloud , accédez à la page Memorystore pour Valkey.
Dans le panneau de navigation latéral, cliquez sur Règles LCA.
Sur la page Règles LCA, cliquez sur l'ID de la règle LCA dont vous souhaitez afficher une révision.
Sur la page Révisions de la règle LCA, cliquez sur le lien Instantané à côté de la révision de la règle LCA dont vous souhaitez afficher les informations.
gcloud
Pour afficher des informations sur une révision de règle LCA, utilisez la commande gcloud memorystore acl-policies revisions describe.
gcloud memorystore acl-policies revisions describe ACL_POLICY_REVISION_ID \ --acl-policy=ACL_POLICY_NAME \ --location=REGION
Effectuez les remplacements suivants :
- ACL_POLICY_REVISION_ID : ID de la révision de la règle de LCA pour laquelle vous souhaitez afficher des informations. Vous avez noté cet ID lorsque vous avez consulté les informations sur les révisions de règles LCA.
- ACL_POLICY_NAME : nom de la stratégie LCA contenant la révision.
- REGION : région où se trouve la stratégie LCA.
Modifier une règle LCA
En modifiant une règle de liste de contrôle d'accès dans Memorystore for Valkey, vous pouvez renforcer la sécurité, appliquer le principe du moindre privilège et gérer la sécurité opérationnelle. Vous pouvez modifier une règle à l'aide de la console Google Cloud ou de la gcloud CLI.
Ajouter une règle à une règle de la LCA
Pour renforcer la sécurité d'une règle de liste de contrôle d'accès, ajoutez-y une règle.
Console
Dans la console Google Cloud , accédez à la page Memorystore pour Valkey.
Dans le panneau de navigation latéral, cliquez sur Règles LCA.
À côté de la règle de la liste de contrôle d'accès à laquelle vous souhaitez ajouter une règle, cliquez sur Autres actions (more_vert), puis sélectionnez Modifier.
Dans la fenêtre Modifier la règle, cliquez sur Ajouter une règle.
Dans le champ ID utilisateur, saisissez le nom de l'utilisateur auquel la règle ACL doit s'appliquer.
Dans le champ Chaîne d'accès, saisissez la chaîne d'accès pour la règle. Pour en savoir plus sur les chaînes d'accès pour les règles LCA, consultez Créer une règle LCA.
Répétez les étapes 4 à 6 pour chaque règle de LCA supplémentaire que vous souhaitez ajouter à la stratégie.
Cliquez sur Enregistrer.
gcloud
Pour ajouter une règle à une règle de LCA, utilisez la commande gcloud memorystore acl-policies update.
gcloud memorystore acl-policies update ACL_POLICY_NAME \ --location=REGION \ --add-rules=rule="on ~list:*",username="lucian"
Effectuez les remplacements suivants :
- ACL_POLICY_NAME : nom de la stratégie LCA à laquelle vous souhaitez ajouter une règle LCA
- REGION : région où se trouve la règle LCA
Cette règle accorde à lucian l'accès à toutes les clés commençant par list:.
Modifier une règle pour une stratégie LCA
La modification d'une règle LCA pour une stratégie LCA permet de renforcer la sécurité, d'améliorer la sécurité opérationnelle et de contrôler plus précisément l'accès des utilisateurs. Par exemple, vous pouvez révoquer des autorisations lors d'une réponse aux incidents ou activer un accès temporaire à des fins de débogage.
Console
Dans la console Google Cloud , accédez à la page Memorystore pour Valkey.
Dans le panneau de navigation latéral, cliquez sur Règles LCA.
À côté de la règle que vous souhaitez modifier dans la stratégie ACL, cliquez sur Autres actions (more_vert), puis sélectionnez Modifier.
Dans la fenêtre Modifier la règle, cliquez sur Ajouter une règle.
Dans les champs ID utilisateur et Chaîne d'accès, modifiez l'ID utilisateur ou la chaîne d'accès pour la stratégie. Pour en savoir plus sur les chaînes d'accès pour les règles ACL, consultez Créer une règle ACL.
Répétez les étapes 4 et 5 pour les règles ACL supplémentaires que vous souhaitez modifier pour la stratégie.
Cliquez sur Enregistrer.
Remplacer les règles d'une règle de LCA
Comme pour la modification d'une règle d'une stratégie, le remplacement des règles d'une stratégie permet de renforcer la sécurité, d'améliorer la sécurité opérationnelle et de contrôler plus précisément l'accès des utilisateurs.
gcloud
Pour remplacer les règles d'une stratégie de liste de contrôle d'accès, utilisez la commande gcloud memorystore acl-policies update.
gcloud memorystore acl-policies update ACL_POLICY_NAME \ --location=REGION \ --rules=rule="on ~c*che",username="lucian"
Effectuez les remplacements suivants :
- ACL_POLICY_NAME : nom de la stratégie LCA pour laquelle vous souhaitez remplacer les règles LCA
- REGION : région où se trouve la règle LCA
La règle que vous remplacez pour la stratégie accorde l'accès lucian à toutes les clés correspondant au modèle c*che. Par exemple, cache, caache et ceche.
Supprimer une règle d'une stratégie LCA
Si une règle de LCA ne s'applique plus à une stratégie de LCA, vous pouvez la supprimer.
Console
Dans la console Google Cloud , accédez à la page Memorystore pour Valkey.
Dans le panneau de navigation latéral, cliquez sur Règles LCA.
À côté de la règle que vous souhaitez supprimer de la stratégie ACL, cliquez sur Autres actions (more_vert), puis sélectionnez Modifier.
Dans la fenêtre Modifier la règle, à côté d'une règle que vous souhaitez supprimer de la règle, cliquez sur Supprimer la règle (delete).
Répétez l'étape 4 pour les règles ACL supplémentaires que vous souhaitez supprimer de la règle.
Cliquez sur Enregistrer.
gcloud
Pour supprimer une règle d'une stratégie de liste de contrôle d'accès, utilisez la commande gcloud memorystore acl-policies update.
gcloud memorystore acl-policies update ACL_POLICY_NAME \ --location=REGION \ --remove-rules=rule="on ~set",username="lucian"
Effectuez les remplacements suivants :
- ACL_POLICY_NAME : nom de la règle LCA à partir de laquelle vous souhaitez supprimer une règle LCA
- REGION : région où se trouve la règle LCA
Si vous supprimez cette règle, les autorisations associées pour lucian seront révoquées. Pour accéder à l'instance, lucian doit désormais se connecter en tant qu'utilisateur default et est soumis aux autorisations de cet utilisateur.
Supprimer une règle de LCA d'une instance
Si une règle LCA ne s'applique plus à une instance Memorystore for Valkey, vous pouvez la supprimer. Vous pouvez supprimer une règle à l'aide de la consoleGoogle Cloud ou de la gcloud CLI.
Console
Dans la console Google Cloud , accédez à la page Memorystore pour Valkey.
Cliquez sur l'ID de l'instance à partir de laquelle vous souhaitez supprimer une règle de liste de contrôle d'accès.
Sur la page Instance en un coup d'œil, faites défiler la page jusqu'à la carte Sécurité.
À côté du champ Règle LCA, cliquez sur Modifier (edit).
Dans la fenêtre Modifier la règle de la LCA, procédez comme suit :
Dans le menu Règle, sélectionnez Aucune règle.
Cliquez sur Mettre à jour l'instance.
gcloud
Pour supprimer une règle de LCA d'une instance, utilisez la commande gcloud memorystore instances update.
gcloud memorystore instances update INSTANCE_ID \ --clear-acl-policy \ --location=REGION
Effectuez les remplacements suivants :
- INSTANCE_ID : ID de l'instance à partir de laquelle vous supprimez la règle LCA
- REGION : région où se trouve l'instance
Supprimer une stratégie LCA
Si vous n'avez plus besoin d'une stratégie LCA, vous pouvez la supprimer. Vous pouvez supprimer une règle à l'aide de la console Google Cloud ou de la gcloud CLI.
Console
Dans la console Google Cloud , accédez à la page Memorystore pour Valkey.
Dans le panneau de navigation latéral, cliquez sur Règles LCA.
À côté de la règle de LCA que vous souhaitez supprimer, cliquez sur Autres actions (more_vert), puis sélectionnez Supprimer.
Si l'élément de menu Supprimer est désactivé, cela signifie que la règle est attribuée à des instances. Avant de pouvoir supprimer la règle, vous devez la supprimer de chaque instance.
Dans la fenêtre Supprimer la règle, procédez comme suit :
Dans le champ de texte, saisissez le nom de la règle.
Cliquez sur Supprimer.
gcloud
Pour supprimer une règle de LCA, utilisez la commande gcloud memorystore acl-policies delete.
gcloud memorystore acl-policies delete ACL_POLICY_NAME \ --location=REGION
Effectuez les remplacements suivants :
- ACL_POLICY_NAME : nom de la règle LCA que vous souhaitez supprimer
- REGION : région où se trouve la règle LCA
Désactiver les scripts Lua
Vous pouvez utiliser des règles LCA pour gérer les capacités de script Lua de vos instances. La désactivation ou la restriction des scripts Lua peut être utile pour optimiser les performances, simplifier les fonctionnalités de vos instances ou respecter les consignes de sécurité de votre organisation.
Désactiver les commandes de script pour les utilisateurs
Pour désactiver les scripts Lua afin que les utilisateurs ne puissent pas les exécuter, vous devez utiliser des règles ACL et supprimer les autorisations pour les commandes de script de la chaîne de règles ACL de l'utilisateur.
Valkey classe les commandes en groupes. Le script Lua relève de la catégorie @scripting. Voici les principales commandes pour lesquelles vous devez supprimer les autorisations utilisateur :
EVAL: exécute un script Lua fourni sous forme de chaîne.EVALSHA: exécute un script Lua mis en cache à l'aide de la commandeSCRIPT LOADSCRIPT: gérer le cache de script (par exemple,LOAD,FLUSH,EXISTSetKILL)La commande
SCRIPTinclut les sous-commandes suivantes :
Vous pouvez désactiver toutes les commandes de script ou une commande spécifique pour les utilisateurs.
Pour désactiver les commandes de script, utilisez la gcloud CLI et faites précéder la commande ou la catégorie d'un signe moins (-).
Désactiver toutes les commandes de script pour un utilisateur
Pour désactiver toutes les commandes de script pour un utilisateur, créez une règle ACL et attribuez-la à une instance, ou modifiez une règle ACL attribuée à une instance.
Créer une règle
Pour créer une règle de liste de contrôle d'accès qui désactive toutes les commandes de script pour un utilisateur nommé lucian, utilisez la commande gcloud memorystore acl-policies create.
gcloud memorystore acl-policies create POLICY_NAME \ --location=REGION \ --rules=rule="on ~* +@all -@scripting",username=lucian
Effectuez les remplacements suivants :
- POLICY_NAME : nom de la stratégie LCA
- REGION : région dans laquelle vous souhaitez placer la stratégie LCA
Une fois la règle créée, vous devez l'attribuer à une instance nouvelle ou existante.
Modifier une stratégie
Pour modifier une règle de liste de contrôle d'accès afin de désactiver toutes les commandes de script pour lucian, utilisez la commande gcloud memorystore acl-policies update.
gcloud memorystore acl-policies update POLICY_NAME \ --location=REGION \ --rules=rule="on ~* +@all -@scripting",username=lucian
Effectuez les remplacements suivants :
- POLICY_NAME : nom de la stratégie LCA
- REGION : région où se trouve la règle LCA
Si vous souhaitez n'accorder que les autorisations spécifiques dont un utilisateur a besoin, modifiez la valeur +@all. Par exemple, si vous souhaitez que l'utilisateur n'ait accès qu'aux commandes en lecture seule, remplacez +@all par +@read. Pour en savoir plus sur les autorisations utilisateur que vous pouvez définir, consultez la documentation sur les LCA Valkey.
Désactiver une commande de script pour un utilisateur
Vous pouvez cibler des commandes spécifiques à désactiver pour un utilisateur. Par exemple, vous pouvez autoriser l'utilisateur à exécuter toutes les commandes de script, à l'exception de la commande SCRIPT FLUSH. Pour désactiver une commande de script pour un utilisateur, créez une règle de LCA et attribuez-la à une instance, ou modifiez une règle de LCA attribuée à une instance.
Vous pouvez désactiver n'importe quelle commande de script. Pour les exemples de cette section, vous désactivez la commande SCRIPT FLUSH pour l'utilisateur. Pour obtenir la liste des commandes de script, consultez Désactiver les commandes de script pour les utilisateurs.
Créer une règle
Pour créer une règle de liste de contrôle d'accès permettant de désactiver la commande de script SCRIPT FLUSH pour lucian, utilisez la commande gcloud memorystore acl-policies create.
gcloud memorystore acl-policies create POLICY_NAME \ --location=REGION \ --rules=rule="on ~* -script|flush",username=lucian
Effectuez les remplacements suivants :
- POLICY_NAME : nom de la stratégie LCA
- REGION : région dans laquelle vous souhaitez placer la stratégie LCA
Une fois la règle créée, vous devez l'attribuer à une instance nouvelle ou existante.
Modifier une stratégie
Pour modifier une règle de liste de contrôle d'accès afin de désactiver toutes les commandes de script pour lucian, utilisez la commande gcloud memorystore acl-policies update.
gcloud memorystore acl-policies update POLICY_NAME \ --location=REGION \ --rules=rule="on ~* -script|flush",username=lucian
Effectuez les remplacements suivants :
- POLICY_NAME : nom de la stratégie LCA
- REGION : région où se trouve la règle LCA
Si vous souhaitez n'accorder que les autorisations spécifiques dont un utilisateur a besoin, modifiez la valeur +@all. Par exemple, si vous souhaitez que l'utilisateur n'ait accès qu'aux commandes en lecture seule, remplacez +@all par +@read. Pour en savoir plus sur les autorisations utilisateur que vous pouvez définir, consultez la documentation sur les LCA Valkey.
Sécuriser l'utilisateur par défaut
Pour désactiver les autorisations de script pour le superutilisateur default, créez une règle LCA et attribuez-la à une instance, ou modifiez une règle LCA attribuée à une instance.
Créer une règle
Pour créer une règle de liste de contrôle d'accès qui désactive toutes les commandes de script pour l'utilisateur default, utilisez la commande gcloud memorystore acl-policies create.
gcloud memorystore acl-policies create POLICY_NAME \ --location=REGION \ --rules=rule="on ~* +@all -@scripting",username=default
Effectuez les remplacements suivants :
- POLICY_NAME : nom de la stratégie LCA
- REGION : région dans laquelle vous souhaitez placer la stratégie LCA
Une fois la règle créée, vous devez l'attribuer à une instance nouvelle ou existante.
Modifier une stratégie
Pour modifier une règle de liste de contrôle d'accès afin de désactiver toutes les commandes de script pour l'utilisateur default, utilisez la commande gcloud memorystore acl-policies update.
gcloud memorystore acl-policies update POLICY_NAME \ --location=REGION \ --rules=rule="on ~* +@all -@scripting",username=default
Effectuez les remplacements suivants :
- POLICY_NAME : nom de la stratégie LCA
- REGION : région où se trouve la règle LCA
Si vous souhaitez n'accorder que les autorisations spécifiques dont l'utilisateur default a besoin, modifiez la valeur +@all. Par exemple, si vous souhaitez que cet utilisateur n'ait accès qu'aux commandes en lecture seule, remplacez +@all par +@read. Pour en savoir plus sur les autorisations utilisateur que vous pouvez définir, consultez la documentation sur les LCA Valkey.
Résoudre les problèmes
Cette section liste les messages d'erreur que vous pouvez recevoir lorsque vous utilisez des règles ACL, les raisons de ces messages et des conseils pour résoudre les problèmes.
| Message d'erreur | Cause | Résoudre les problèmes |
|---|---|---|
username cannot be empty |
Vous avez défini une chaîne vide ou une chaîne ne contenant que des espaces blancs pour un nom d'utilisateur dans une règle LCA. | Utilisez un nom d'utilisateur contenant des caractères alphanumériques ou spéciaux. Ensuite, créez à nouveau la règle LCA. |
duplicate username found in ACL policy |
Vous avez des noms d'utilisateur en double dans une règle LCA. | Utilisez les journaux d'erreurs pour trouver le nom d'utilisateur en double. Modifiez la demande de création de règle de LCA pour spécifier exactement une règle pour le nom d'utilisateur. Ensuite, recréez la règle LCA. |
ACL rule token cannot contain token. use either
IAM or Basic Auth features to enable authentication
|
Vous ne pouvez pas utiliser de caractères de mot de passe (par exemple, <, >, # et !) ni de commandes associées (par exemple, nopass, resetpass et reset) dans une règle LCA. |
Supprimez tous les caractères de mot de passe et les commandes associées des règles de la stratégie LCA. Ensuite, recréez la règle LCA. Pour configurer l'authentification, activez l'authentification de base ou l'authentification basée sur IAM. |
passwords not allowed in ACL rules (token starts with
char). use either IAM or Basic Auth features to
enable authentication |
Vous ne pouvez pas utiliser de caractères de mot de passe (par exemple, <, >, # et !) ni de commandes associées (par exemple, nopass, resetpass et reset) dans une règle LCA. |
Supprimez tous les caractères de mot de passe et les commandes associées des règles de la stratégie LCA. Ensuite, recréez la règle LCA. Pour configurer l'authentification, activez l'authentification de base ou l'authentification basée sur IAM. |
invalid ACL rule syntax |
Vous n'avez pas mis en forme correctement une chaîne d'accès dans une ou plusieurs règles de la stratégie LCA. | Mettez en forme correctement la chaîne d'accès. |
ACL policy is in DELETING state and cannot be used |
Vous essayez d'attribuer une règle LCA à une instance, mais la règle est à l'état DELETING. |
Attribuez une autre règle LCA à l'instance. |
ACL_POLICY_IN_USE: ACL policy is in use by 1 or more instances
|
Vous essayez de supprimer une stratégie LCA qui est attribuée à au moins une instance. | Avant de pouvoir supprimer une règle de liste de contrôle d'accès, vous devez la supprimer de toutes les instances auxquelles elle est attribuée. Pour déterminer quelles instances sont attribuées à une règle, consultez Afficher des informations sur les règles LCA. |
fast-failing the workflow as the resource is in DELETING
state |
Vous essayez de modifier une règle LCA dont l'état est DELETING. |
Si une règle LCA a l'état DELETING, vous ne pouvez pas la modifier. |