Sécurisation des bases de données MySQL avec un accès limité aux bases de données créées par l'utilisateur
Dans une configuration MySQL multi-utilisateurs, garantir la sécurité des données est primordial. Un défi courant consiste à permettre aux utilisateurs de créer des bases de données tout en limitant leur accès à leurs propres créations.
Pour résoudre ce problème, MySQL propose une approche nuancée utilisant des noms de bases de données génériques. Au lieu d'accorder des privilèges sur des bases de données spécifiques, la solution consiste à accorder des privilèges sur des bases de données avec un préfixe ou un modèle spécifique.
En utilisant la commande GRANT, vous pouvez accorder tous les privilèges sur les bases de données correspondant à un modèle particulier. La syntaxe pour accorder des privilèges sur les noms d'une base de données de correspondance de modèle est la suivante :
GRANT ALL PRIVILEGES ON `.%` TO ' '@'%';
In cette commande :
Par exemple :
GRANT ALL PRIVILEGES ON `testuser_%.` TO 'testuser'@'%';
En exécutant cette commande, vous accordez les privilèges de l'utilisateur testuser sur toutes les bases de données commençant par le préfixe testuser_. Cela permet à l'utilisateur de tester de créer des bases de données avec des noms tels que testuser_demo, testuser_prod, etc. Cependant, l'utilisateur de test ne pourra pas afficher ou accéder aux bases de données dont les noms ne correspondent pas à ce modèle.
Cette approche garantit l'évolutivité, permettant à plusieurs utilisateurs de créer bases de données en toute sécurité tout en restreignant leur accès à leurs propres créations.
Clause de non-responsabilité: Toutes les ressources fournies proviennent en partie d'Internet. En cas de violation de vos droits d'auteur ou d'autres droits et intérêts, veuillez expliquer les raisons détaillées et fournir une preuve du droit d'auteur ou des droits et intérêts, puis l'envoyer à l'adresse e-mail : [email protected]. Nous nous en occuperons pour vous dans les plus brefs délais.
Copyright© 2022 湘ICP备2022001581号-3