Gérer les utilisateurs et les ACLs de Public Cloud Databases pour Valkey
Découvrez comment créer des utilisateurs et définir leurs ACLs (clés, catégories, commandes, canaux) depuis l'espace client OVHcloud ou l'API OVHcloud
Objectif
Ce guide explique comment créer les utilisateurs de votre service Public Cloud Databases pour Valkey et comment définir ou modifier leurs listes de contrôle d'accès (ACLs), depuis l'espace client OVHcloud ou avec l'API OVHcloud.
Prérequis
- Disposer d'un projet Public Cloud dans votre compte OVHcloud
- Disposer d'un service Valkey fonctionnant sur votre Public Cloud Databases OVHcloud (le guide « Premiers pas avec les bases de données Public Cloud » peut vous aider à répondre à ce prérequis)
- Avoir accès à l'. Si vous n'avez jamais utilisé l'API OVHcloud, suivez ce tutoriel : Premiers pas avec les API OVHcloud.
Accès à l'espace client OVHcloud
- Lien direct :
- Pour accéder à vos services :
Public Cloud> Sélectionnez votre projet >Databases
En pratique
Comprendre les champs d'ACL
Chaque utilisateur Valkey dispose de quatre champs d'ACL. Chaque champ est une liste de valeurs. Ils suivent les règles d'ACL de Valkey, décrites dans la documentation officielle : https://valkey.io/topics/acl/.
Par exemple, un utilisateur disposant des ACLs suivantes peut lire et écrire les clés commençant par cache: et publier sur les canaux commençant par news: ou s'y abonner, mais ne peut pas exécuter FLUSHALL :
- Clés :
cache:* - Catégories :
+@read,+@write,+@connection,+@pubsub - Commandes :
-flushall - Channels :
news:*
Gardez à l'esprit les points suivants :
- Un motif de canal ne suffit pas pour utiliser Pub/Sub : l'utilisateur a également besoin des commandes Pub/Sub, par exemple avec la catégorie
+@pubsub. Sans elle,PUBLISHest refusé, même sur un canal autorisé. FUNCTIONetFCALLne figurent pas dans la liste des commandes autorisables une à une : pour autoriser les fonctions Lua, utilisez la catégorie+@scripting, qui couvre aussiEVALetEVALSHA.- La catégorie
+@connectionautorise les commandes de connexion commePINGetHELLO, utiles pour tester une connexion. - Lorsqu'aucun canal n'est fourni pour un nouvel utilisateur, l'ACL de canal par défaut est définie par le paramètre avancé
valkey_acl_channels_default(allchannelsouresetchannels). Consultez Paramètres avancés de Public Cloud Databases pour Valkey. - Les modifications d'ACL s'appliquent immédiatement : les clients connectés n'ont pas besoin de se reconnecter.
- Un utilisateur nommé
defaultexiste sur chaque nouveau service.
Les catégories et commandes autorisées peuvent être listées avec l'API (consultez Lister les catégories et commandes autorisées). Les catégories disponibles sont : all, admin, bitmap, blocking, connection, dangerous, fast, geo, hash, hyperloglog, keyspace, list, pubsub, read, scripting, set, slow, sortedset, stream, string, transaction et write.
Depuis l'espace client OVHcloud
Sélectionnez votre service Valkey, puis ouvrez l'onglet Utilisateurs. Le tableau liste les utilisateurs du service avec leurs clés, catégories, commandes et canaux.
Créer un utilisateur
-
Cliquez sur
Ajouter un utilisateur. -
Saisissez le Nom d'utilisateur : 3 à 32 caractères parmi les lettres, chiffres, points (
.), underscores (_) et tirets (-), sans commencer par un point ou un tiret. -
Dans les champs Clés, Catégories, Commandes et Channels, saisissez chaque valeur puis appuyez sur
Entrée(ou cliquez sur le bouton+) pour l'ajouter à la liste. Les catégories et les commandes doivent commencer par+ou-.L'espace client n'accepte que des lettres minuscules et
@après le signe+ou-. Les commandes dont le nom contient un chiffre ou un underscore, comme+georadius_roou+bitfield_ro, ne peuvent pas être saisies dans l'espace client : ajoutez-les via l'API (voir ci-dessous). -
Cliquez sur
Créer un utilisateur.
Le mot de passe du nouvel utilisateur est affiché une seule fois, à la fin de la création. Notez-le : il ne pourra pas être récupéré par la suite. Si vous le perdez, régénérez-le (voir ci-dessous).
Modifier les ACLs d'un utilisateur
Dans le tableau des utilisateurs, cliquez sur le bouton ... en fin de ligne de l'utilisateur, puis sur Modifier. Ajoutez ou retirez des valeurs dans les quatre champs, puis cliquez sur Modifier pour confirmer. Les nouvelles ACLs s'appliquent immédiatement.
Régénérer le mot de passe d'un utilisateur
Dans le tableau des utilisateurs, cliquez sur le bouton ... en fin de ligne de l'utilisateur, puis sur Regénérer le mot de passe et confirmez. Le nouveau mot de passe est affiché une seule fois : notez-le et mettez à jour toutes les applications qui utilisent cet utilisateur.
Depuis l'API OVHcloud
Récupérer les identifiants du service, du cluster et de l'utilisateur
Récupérez l'identifiant de votre projet Public Cloud, également appelé serviceName :
Récupérez l'identifiant de votre service Valkey, également appelé clusterId :
Listez les utilisateurs du service :
Récupérez le détail d'un utilisateur, dont l'identifiant est également appelé userId :
Exemple de réponse :
Lister les catégories et commandes autorisées
Récupérez les catégories autorisées dans le champ categories :
Récupérez les commandes autorisées dans le champ commands :
Ces deux appels renvoient une liste de noms sans les préfixes +, - ou @, par exemple "read" pour la catégorie ou "get" pour la commande.
Créer un utilisateur
Utilisez l'appel API suivant :
Exemple de corps de requête :
Seul name est obligatoire. La réponse contient le mot de passe du nouvel utilisateur. Il n'est affiché qu'une seule fois : notez-le.
Modifier les ACLs d'un utilisateur
Utilisez l'appel API suivant :
Indiquez les nouvelles valeurs des quatre listes dans le corps de la requête. Chaque liste remplace la liste actuelle : incluez donc toutes les valeurs que vous souhaitez conserver :
Les nouvelles ACLs s'appliquent immédiatement.
Régénérer le mot de passe d'un utilisateur
La réponse contient le nouveau mot de passe. Il n'est affiché qu'une seule fois.
Vérifier les ACLs d'un utilisateur
Connectez-vous avec l'utilisateur, par exemple avec valkey-cli (consultez Se connecter avec la CLI au service Public Cloud Databases pour Valkey), puis exécutez des commandes autorisées et non autorisées. Avec l'utilisateur de l'exemple ci-dessus :
Si le mot de passe est incorrect, la connexion est refusée avec WRONGPASS invalid username-password pair or user is disabled.
Votre avis nous intéresse !
Nous serions ravis de répondre à vos questions et apprécions tout retour que vous pourriez nous faire.
Pour une formation ou une assistance technique sur la mise en œuvre de nos solutions, contactez votre commercial ou consultez la page Professional Services pour obtenir un devis et faire analyser votre projet par nos experts.
Vous êtes sur Discord ? Rejoignez notre chaîne via https://discord.gg/ovhcloud et interagissez directement avec l’équipe qui développe notre service de bases de données !