Attribuer des droits (GRANT)

1. Attribuer des droits sur la manipulation d’une table

À partir de ces quelques tables d’exemples, nous allons pouvoir attribuer les droits aux utilisateurs avec les ordres GRANT et REVOKE.

L’attribution des droits est réservée aux créateurs de la table, néanmoins l’administrateur de la base peut donner l’autorisation à un autre user la possibilité de gérer les droits sur les tables.

La commande GRANT permet d’attribuer par utilisateur de la base de données des accès sur une ou plusieurs tables.

Les droits les plus couramment utilisés sont :

  • SELECT : autorise la sélection de données.

  • UPDATE : autorise la modification de données.

  • DELETE : autorise la suppression de données.

  • INSERT : autorise l’insertion de données.

La syntaxe est la suivante


GRANT <droit1>, <droit2>, ... 
ON TABLE <nom table> 
TO <user1>, <user2> ... 
[ WITH GRANT OPTION]
 

Pour attribuer tous les droits, il faut utiliser la syntaxe suivante :

Syntaxe Oracle et PostgreSQL


GRANT ALL PRIVILEGES 
ON <table1>, <table2>,  ... 
[ WITH GRANT OPTION] TO <user1>, <user2> ...
 

Syntaxe MySQL


GRANT ALL PRIVILEGES 
ON TABLE <table1>, <table2>,  ... 
[ WITH GRANT OPTION] TO <user1>, <user2> ...
 

Exemple SQL Server


ALTER AUTHORIZATION ON SCHEMA::[db_owner] TO [ASMITH]
 

Le ALL PRIVILEGES ou db_owner donne vraiment tous...

Pour consulter la suite, découvrez le livre suivant :
couv_RI3SQL.png
60-signet.svg
En version papier
20-ecran_lettre.svg
En version numérique
41-logo_abonnement.svg
En illimité avec l'abonnement ENI
130-boutique.svg
Sur la boutique officielle ENI
Précédent
Changer le mot de passe d’un utilisateur
Suivant
Interdire l’accès (DENY)