En utilisant des stratégies de liste de contrôle des accès (LCA) dans Memorystore for Redis Cluster, vous pouvez sécuriser l'accès à vos clusters. Vous pouvez activer une sécurité précise 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 de LCA pour sécuriser l'accès aux clusters :
- 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 nœud de calcul en arrière-plan dispose d'un accès en lecture/écriture. Cela permet d'éviter les fuites de données accidentelles ou les falsifications.
- 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 garantit que les utilisateurs d'un service ne peuvent pas lire ni modifier les clés d'un autre service.
Memorystore for Redis Cluster n'offre pas de multitenancy au niveau des ressources. Même si les espaces de clés sont divisés, un service peut consommer une quantité disproportionnée de mémoire ou de processeur.
Effectuer 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) pour les moteurs d'analyse ou les applications de tableau de bord. Cela évite les écritures ou les suppressions de données accidentelles.Sécuriser les clés de base de données : les applications ne peuvent interagir qu'avec les clés qui correspondent à des modèles spécifiques (par exemple,
app1:*). Cela permet de séparer logiquement les données au sein d'un cluster.Désactiver les scripts Lua : utilisez des règles de la LCA pour gérer les fonctionnalités de script Lua pour vos clusters. La désactivation ou la restriction des scripts Lua peut être utile pour régler les performances, simplifier les fonctionnalités de vos clusters 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 , 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 version440.0.0de gcloud CLI pour accéder aux commandes gcloud CLI de Memorystore for Redis Cluster.-
Activez l'API Memorystore pour Redis.
Memorystore pour Redis -
Activez l'API Network Connectivity.
API Network Connectivity -
Activez l'API Service Consumer Management.
API Service Consumer Management
Attribuer des rôles Memorystore pour Redis Cluster
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 de stratégie de LCA, utilisez les rôles Administrateur Redis (roles/redis.admin) et Éditeur Redis (roles/redis.editor). Pour n'afficher que les stratégies de LCA, utilisez le rôle Lecteur Redis (roles/redis.viewer).
Attribuer des autorisations Memorystore pour Redis Cluster
En plus des rôles d'administrateur Redis, d'éditeur Redis et de lecteur Redis, vous devez disposer des autorisations suivantes pour utiliser des règles de LCA dans Memorystore pour Redis Cluster :
| Action | Autorisation |
|---|---|
| Créer une règle LCA | redis.aclPolicies.create |
| Attribuer une règle de LCA à un cluster | redis.clusters.update |
| Afficher des informations sur les règles LCA | redis.aclPolicies.list |
| Afficher des informations sur une règle LCA | redis.aclPolicies.get |
| Afficher des informations sur les révisions de règles LCA | redis.aclPolicyRevisions.list |
| Afficher des informations sur une révision de règle LCA | redis.aclPolicyRevisions.get |
| Modifier une règle LCA | redis.aclPolicies.update |
| Supprimer une stratégie LCA d'un cluster | redis.clusters.update |
| Supprimer une stratégie LCA | redis.aclPolicies.delete |
Créer une règle LCA
En créant des règles de LCA dans Memorystore pour Redis Cluster, vous renforcez la sécurité de vos clusters 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 Redis Cluster.
Dans le panneau de navigation latéral, cliquez sur ACL policies (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 stratégie, saisissez un nom pour la stratégie 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 Redis Cluster crée la stratégie de LCA.
Cliquez sur Ajouter une règle.
Dans le champ ID utilisateur, saisissez le nom de l'utilisateur auquel la règle de LCA 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 par l'humain qui définit les autorisations spécifiques de l'utilisateur.
Par exemple, si vous souhaitez accorder au super-utilisateur
defaultles autorisations de lecture et d'écriture pour toutes les clés LCA du cluster, 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 LCA que vous pouvez créer, consultez ACL dans la documentation Redis.
Répétez les étapes c à e pour les règles LCA supplémentaires que vous souhaitez créer pour la règle.
Cliquez sur Créer.
gcloud
Pour créer une règle de liste de contrôle d'accès, utilisez la commande gcloud redis acl-policies create.
gcloud redis acl-policies create ACL_POLICY_NAME \ --region=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 placer la stratégie LCA.
Cette règle utilise l'authentification de base basée sur des 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 de LCA qui utilise l'authentification IAM (Identity and Access Management), nous vous recommandons d'utiliser des comptes principaux IAM pour les noms d'utilisateur (par exemple, les adresses e-mail des utilisateurs).
gcloud redis acl-policies create ACL_POLICY_NAME \ --region=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 redis acl-policies create ACL_POLICY_NAME \ --region=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 clusters à 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 de LCA que vous pouvez créer, consultez la page ACL dans la documentation Redis.
Attribuer une règle de LCA à un cluster
En attribuant une stratégie LCA à un cluster ou en remplaçant une stratégie attribuée, vous permettez à Memorystore pour Redis Cluster d'appliquer les règles de la stratégie au cluster. Vous limitez ainsi l'accès des utilisateurs à des clés, des commandes et des canaux Pub/Sub spécifiques.
Vous pouvez attribuer une règle de LCA à un cluster à l'aide de la consoleGoogle Cloud ou de la gcloud CLI.
Attribuer une règle à un nouveau cluster
Pour créer un cluster et lui attribuer une règle LCA, consultez Créer des instances.
Attribuer une règle à un cluster existant
Pour renforcer la sécurité d'un cluster existant, vous pouvez lui attribuer une règle ACL.
Console
Dans la console Google Cloud , accédez à la page Memorystore pour Redis Cluster.
Cliquez sur l'ID du cluster auquel vous souhaitez attribuer une stratégie de liste de contrôle d'accès.
Sur la page Aperçu du cluster, faites défiler la page jusqu'à la fiche 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 au cluster.
Cliquez sur Mettre à jour le cluster.
gcloud
Pour attribuer une stratégie LCA à un cluster existant, utilisez la commande gcloud redis clusters update.
gcloud redis clusters update CLUSTER_ID \ --update_mask=acl_policy \ --acl-policy=ACL_POLICY_NAME \ --region=REGION
Effectuez les remplacements suivants :
- CLUSTER_ID : ID du cluster auquel vous attribuez la stratégie de LCA
- ACL_POLICY_NAME : nom de la stratégie LCA
- REGION : région où se trouve le cluster
Afficher des informations sur les règles LCA
L'affichage des informations sur les règles de LCA dans Memorystore pour Redis Cluster 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 particuliers, à 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 consoleGoogle Cloud ou de la gcloud CLI.
Console
Dans la console Google Cloud , accédez à la page Memorystore pour Redis Cluster.
Dans le panneau de navigation latéral, cliquez sur ACL policies (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.
- Date de création : date et heure de création de la règle
- Updated at (Mis à jour le) : date et heure de la dernière mise à jour de la règle.
- Nombre de règles : nombre total de règles pour la stratégie
- Utilisée par les clusters : clusters attribués à la règle
gcloud
Pour afficher des informations sur les règles de LCA, utilisez la commande gcloud redis acl-policies list.
gcloud redis acl-policies list --region=REGION
Remplacez REGION par la région où se trouve la règle de LCA.
Afficher des informations sur une règle de LCA
En consultant les informations sur une règle de LCA dans Memorystore pour Redis Cluster, 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 de clé et l'accès aux canaux 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 redis acl-policies describe.
gcloud redis acl-policies describe ACL_POLICY_NAME \ --region=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 Redis Cluster crée une version (révision) de la règle. Chaque fois que vous modifiez la règle, Memorystore pour Redis Cluster crée une révision de règle ultérieure.
Étant donné que Memorystore for Redis Cluster 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 voir le contenu exact de la stratégie de LCA à chaque version de l'historique.
En utilisant les révisions de règles LCA, vous pouvez suivre les clusters qui utilisent une révision de règle. Cela vous permet de maintenir la visibilité et de vous assurer que les clusters se trouvent sur la bonne version pendant les périodes de cohérence à terme après une mise à jour de la règle.
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 Redis Cluster.
Dans le panneau de navigation latéral, cliquez sur ACL policies (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. Sur la page Révisions des règles LCA, les informations suivantes s'affichent :
- 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
- Clusters associés : clusters attribués à chaque révision de stratégie LCA
- Instantané : informations détaillées sur chaque révision de stratégie LCA
gcloud
Pour afficher des informations sur les révisions de règles LCA, utilisez la commande gcloud redis acl-policies revisions list.
gcloud redis acl-policies revisions list \ --acl-policy=ACL_POLICY_NAME \ --region=REGION
Effectuez les remplacements suivants :
- ACL_POLICY_NAME : nom de la règle ACL contenant les révisions pour lesquelles vous souhaitez afficher des informations
- REGION : région où se trouve la stratégie LCA.
Dans le résultat, notez les ID de révision. Vous en aurez besoin pour afficher des informations sur des révisions de règles LCA spécifiques.
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 tous les clusters associés. Vous pouvez afficher des informations sur une révision de stratégie 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 Redis Cluster.
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 règles LCA, cliquez sur le lien Instantané à côté de la révision de 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 redis acl-policies revisions describe.
gcloud redis acl-policies revisions describe ACL_POLICY_REVISION_ID \ --acl-policy=ACL_POLICY_NAME \ --region=REGION
Effectuez les remplacements suivants :
- ACL_POLICY_REVISION_ID : ID de la révision de la règle LCA pour laquelle vous souhaitez afficher des informations. Vous avez noté cet ID lorsque vous avez affiché des informations sur les révisions de règles LCA.
- ACL_POLICY_NAME : nom de la stratégie LCA qui contient la révision.
- REGION : région où se trouve la stratégie de LCA.
Modifier une stratégie LCA
En modifiant une règle de LCA dans Memorystore pour Redis Cluster, vous pouvez renforcer la sécurité, appliquer l'accès avec privilèges minimum 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 stratégie 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 Redis Cluster.
Dans le panneau de navigation latéral, cliquez sur Règles LCA.
À côté de la règle de LCA à 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 de LCA doit s'appliquer.
Dans le champ Chaîne d'accès, saisissez la chaîne d'accès de la stratégie. 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 règle.
Cliquez sur Enregistrer.
gcloud
Pour ajouter une règle à une stratégie de LCA, utilisez la commande gcloud redis acl-policies update.
gcloud redis acl-policies update ACL_POLICY_NAME \ --region=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 stratégie 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 de LCA pour une stratégie de LCA offre une sécurité renforcée, une sécurité opérationnelle améliorée et un contrôle des accès utilisateur plus précis. 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 Redis Cluster.
Dans le panneau de navigation latéral, cliquez sur ACL policies (Règles LCA).
À côté de la règle LCA pour laquelle vous souhaitez modifier 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 les champs ID utilisateur et Chaîne d'accès, modifiez l'ID utilisateur ou la chaîne d'accès de la stratégie. Pour en savoir plus sur les chaînes d'accès pour les règles de LCA, consultez Créer une règle de LCA.
Répétez les étapes 4 et 5 pour les règles LCA supplémentaires que vous souhaitez modifier pour la règle.
Cliquez sur Enregistrer.
Remplacer les règles d'une règle LCA
Tout comme la modification d'une règle pour une stratégie, le remplacement des règles d'une stratégie offre une sécurité renforcée, une sécurité opérationnelle améliorée et un contrôle des accès utilisateur plus précis.
gcloud
Pour remplacer les règles d'une règle de liste de contrôle d'accès, utilisez la commande gcloud redis acl-policies update.
gcloud redis acl-policies update ACL_POLICY_NAME \ --region=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 stratégie 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 Redis Cluster.
Dans le panneau de navigation latéral, cliquez sur Règles LCA.
À côté de la règle de la stratégie de LCA que vous souhaitez supprimer, 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 autres règles de LCA que vous souhaitez supprimer de la stratégie.
Cliquez sur Enregistrer.
gcloud
Pour supprimer une règle d'une stratégie de LCA, utilisez la commande gcloud redis acl-policies update.
gcloud redis acl-policies update ACL_POLICY_NAME \ --region=REGION \ --remove-rules=rule="on ~set",username="lucian"
Effectuez les remplacements suivants :
- ACL_POLICY_NAME : nom de la stratégie LCA de laquelle vous souhaitez supprimer une règle LCA
- REGION : région où se trouve la stratégie LCA.
Si vous supprimez cette règle, les autorisations associées pour lucian seront révoquées. Pour accéder au cluster, lucian doit désormais se connecter en tant qu'utilisateur default et est soumis aux autorisations de cet utilisateur.
Supprimer une stratégie LCA d'un cluster
Si une règle de LCA ne s'applique plus à un cluster dans Memorystore pour Redis Cluster, 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 Redis Cluster.
Cliquez sur l'ID du cluster à partir duquel vous souhaitez supprimer une règle ACL.
Sur la page Aperçu du cluster, faites défiler la page jusqu'à la fiche 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 le cluster.
gcloud
Pour supprimer une règle de LCA d'un cluster, utilisez la commande gcloud redis clusters update.
gcloud redis clusters update CLUSTER_ID \ --acl-policy="" \ --region=REGION
Effectuez les remplacements suivants :
- CLUSTER_ID : ID du cluster à partir duquel vous supprimez la règle ACL
- REGION : région où se trouve le cluster
La valeur "" du paramètre acl-policy est une chaîne vide. Cela indique que vous souhaitez supprimer la stratégie LCA du cluster.
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 Redis Cluster.
Dans le panneau de navigation latéral, cliquez sur ACL policies (Règles LCA).
À côté de la stratégie 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 clusters. Avant de pouvoir supprimer la stratégie, vous devez la supprimer de chaque cluster.
Dans la fenêtre Supprimer la règle, procédez comme suit :
Dans le champ de texte, saisissez le nom de la stratégie.
Cliquez sur Supprimer.
gcloud
Pour supprimer une règle de LCA, utilisez la commande gcloud redis acl-policies delete.
gcloud redis acl-policies delete ACL_POLICY_NAME \ --region=REGION
Effectuez les remplacements suivants :
- ACL_POLICY_NAME : nom de la règle de 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 pour vos clusters. La désactivation ou la restriction des scripts Lua peut être utile pour optimiser les performances, simplifier les fonctionnalités de vos clusters 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 LCA et supprimer les autorisations pour les commandes de script de la chaîne de règle LCA de l'utilisateur.
Redis classe les commandes en groupes. Les scripts Lua appartiennent à la catégorie @scripting. Les principales commandes pour lesquelles vous devez supprimer les autorisations utilisateur sont les suivantes :
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 LOAD.SCRIPT: gère 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 de LCA et attribuez-la à un cluster, ou modifiez une règle de LCA attribuée à un cluster.
Créer une règle
Pour créer une règle de LCA afin de désactiver toutes les commandes de script pour un nom d'utilisateur lucian, utilisez la commande gcloud redis acl-policies create.
gcloud redis acl-policies create POLICY_NAME \ --region=REGION \ --rules=rule="on ~* +@all -@scripting",username=lucian
Effectuez les remplacements suivants :
- POLICY_NAME : nom de la stratégie de LCA
- REGION : région dans laquelle vous souhaitez placer la stratégie de LCA
Après avoir créé la règle, vous devez l'attribuer à un cluster nouveau ou existant.
Modifier une stratégie
Pour modifier une règle de LCA afin de désactiver toutes les commandes de script pour lucian, utilisez la commande gcloud redis acl-policies update.
gcloud redis acl-policies update POLICY_NAME \ --region=REGION \ --rules=rule="on ~* +@all -@scripting",username=lucian
Effectuez les remplacements suivants :
- POLICY_NAME : nom de la stratégie de 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 Redis.
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 à un cluster, ou modifiez une règle de LCA attribuée à un cluster.
Vous pouvez désactiver n'importe quelle commande de script. Pour les exemples de cette section, vous allez désactiver 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 LCA afin de désactiver la commande de script SCRIPT FLUSH pour lucian, utilisez la commande gcloud redis acl-policies create.
gcloud redis acl-policies create POLICY_NAME \ --region=REGION \ --rules=rule="on ~* -script|flush",username=lucian
Effectuez les remplacements suivants :
- POLICY_NAME : nom de la stratégie de LCA
- REGION : région dans laquelle vous souhaitez placer la stratégie LCA
Après avoir créé la règle, vous devez l'attribuer à un cluster nouveau ou existant.
Modifier une stratégie
Pour modifier une règle de LCA afin de désactiver toutes les commandes de script pour lucian, utilisez la commande gcloud redis acl-policies update.
gcloud redis acl-policies update POLICY_NAME \ --region=REGION \ --rules=rule="on ~* -script|flush",username=lucian
Effectuez les remplacements suivants :
- POLICY_NAME : nom de la stratégie de 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 Redis.
Sécuriser l'utilisateur par défaut
Pour désactiver les autorisations de script pour le super-utilisateur default, créez une règle de LCA et attribuez-la à un cluster, ou modifiez une règle de LCA attribuée à un cluster.
Créer une règle
Pour créer une règle de LCA afin de désactiver toutes les commandes de script pour l'utilisateur default, utilisez la commande gcloud redis acl-policies create.
gcloud redis acl-policies create POLICY_NAME \ --region=REGION \ --rules=rule="on ~* +@all -@scripting",username=default
Effectuez les remplacements suivants :
- POLICY_NAME : nom de la stratégie de LCA
- REGION : région dans laquelle vous souhaitez placer la stratégie LCA
Après avoir créé la règle, vous devez l'attribuer à un cluster nouveau ou existant.
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 redis acl-policies update.
gcloud redis acl-policies update POLICY_NAME \ --region=REGION \ --rules=rule="on ~* +@all -@scripting",username=default
Effectuez les remplacements suivants :
- POLICY_NAME : nom de la stratégie de 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 ACL Redis.
Résoudre les problèmes
Cette section liste les messages d'erreur que vous pouvez recevoir lorsque vous utilisez des règles de LCA, les raisons de ces messages et des conseils pour les résoudre.
| Message d'erreur | Cause | Résoudre les problèmes |
|---|---|---|
username cannot be empty |
Vous définissez 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, recréez la règle LCA. |
duplicate username found in ACL policy |
Des noms d'utilisateur sont en double dans une règle LCA. | Utilisez les journaux d'erreurs pour trouver le nom d'utilisateur en double. Modifiez la requête 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 de 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 de 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 correctement mis en forme une chaîne d'accès dans une ou plusieurs règles de la stratégie de 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 à un cluster, mais l'état de la règle est DELETING. |
Attribuez une autre règle LCA au cluster. |
ACL_POLICY_IN_USE: ACL policy is in use by 1 or more clusters
|
Vous essayez de supprimer une stratégie LCA attribuée à au moins un cluster. | Avant de pouvoir supprimer une règle de LCA, vous devez la supprimer de tous les clusters auxquels elle est attribuée. Pour déterminer quels clusters sont attribués à 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 est à l'état DELETING, vous ne pouvez pas la modifier. |