Sommaire

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 ...