La gestion des droits avec la console SQL

I. Présentation

La gestion des droits est incontournable en matière de sécurité et pour définir les actions que l’utilisateur a le droit de faire et de ne pas faire. En SQL, il y a 4 droits/privilèges principaux que l’on peut attribuer à un utilisateur. Il peut avoir le droit de sélectionner des données dans des tables grâce au « SELECT », d’ajouter des valeurs dans les tables grâce à « INSERT » , de supprimer des données grâce à la commande « DELETE » et d’en mettre à jour en utilisant « UPDATE ».

Il est possible de gérer ces droits via l’interface PHPMyAdmin mais aussi à partir de la console MySQL, c’est ce que nous allons dans ce tutoriel.

II. Informations sur le serveur et la base de données utilisée

Serveur : localhost (127.0.0.1)
Serveur web : WAMP
Base de données : neoflow_bdd
Table : table1
Utilisateurs : root et invite

III. Exécutez la console

Avec une Invite de commandes, se positionner dans le répertoire contenant « mysql.exe » :

cd "c:\wamp\bin\mysql\mysql5.1.36\bin"
  •  Exécutez “mysql.exe” en utilisant des paramètres d’authentification SANS mot de passe :
mysql.exe –u root
  •  Exécutez “mysql.exe” en utilisant des paramètres d’authentification AVEC mot de passe :
mysql.exe –u root –p mot_de_passe

 

IV. Connexion au serveur et à la base de données

  •  Se connecter à la base de données :
mysql>connect nom_bdd ip_serveur
mysql>connect neoflow_bdd 127.0.0.1
  •  Utiliser une base de données :
mysql>use nom_bdd
mysql>use neoflow_bdd

 

VI. Syntaxe pour la gestion des droits

Il y a deux commandes principales pour gérer les droits/les privilèges en SQL :

  •  GRANT : permet d’attribuer un ou plusieurs droits/privilèges à un utilisateur sur une ou des tables. Par exemple : donner le droit à l’utilisateur NEOFLOW d’effectuer un INSERT sur la table INFORMATIQUE.
  •  Syntaxe du GRANT :
GRANT nom_action ON nom_table TO nom_utilisateur;
  •  REVOKE : permet de retirer un ou plusieurs droits/privilèges à un utilisateur sur une ou des tables. Par exemple : retirer le droit à l’utilisateur NEOFLOW d’effectuer un DELETE sur la table INFORMATIQUE.
  •  Syntaxe du REVOKE :
REVOKE nom_action ON nom_table FROM nom_utilisateur;

 

VI. Quelques exemples

Ajouter le droit de faire un INSERT sur toutes les tables de la BDD utilisée pour l’utilisateur « invite » :

mysql>GRANT INSERT ON * TO invite;
  •  Ajouter le droit de faire un INSERT sur la table « table1 » pour l’utilisateur “invite” :
mysql>GRANT INSERT ON table1 TO invite;
  •  Attribuer tous les droits à l’utilisateur “invite” sur la base de données utilisée :
mysql>GRANT ALL ON * TO invite;
  •  Retirer le droit de faire un INSERT sur toutes les tables de la BDD utilisée pour l’utilisateur « invite » :
mysql> REVOKE INSERT ON * FROM invite;
  •  Retirer le droit de faire un INSERT sur la table « table1 » pour l’utilisateur “invite” :
mysql> REVOKE INSERT ON table1 FROM invite;
  •  Retirer tous les droits à l’utilisateur “invite” sur toutes les tables de la BDD utilisée :
mysql> REVOKE ALL PRIVILEGES ON * FROM invite;

 

VI. Oubli dans la syntaxe

Si vous saisissez une commande et que vous obtenez le prompt « -> » c’est que vous n’avez pas saisie la commande entièrement cela peut être dû notamment au fait que vous avez oublié de mettre un « ; » à la fin de la commande.

Si c’est le cas, saisissez « ; » au prompt « -> » pour terminer votre commande :

droitsql

Partagez cet article Partager sur Twitter Partager sur Facebook Partager sur Linkedin Partager sur Google+ Envoyer par mail

Florian Burnel

Co-Fondateur d’IT-Connect, je souhaite partager mes connaissances et expériences avec vous, et comme la veille techno’ est importante je partage aussi des actus.

florian a publié 1614 articles sur IT-Connect.See all posts by florian

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *