Bonjour,
Je ne suis pas du tout familier des droits sans SQL Server.
J'ai la (très mauvaise) habitude de créer les utilisateurs, de leur accorder les droits "sysadmin" au niveau du login, et les mapper sur les différentes bases de données auquelles ils ont accès en "db_owner" avec le schéma "dbo" : normal, habituellement, doit j'autorise des applications éditeur à accéder à la base, soit des développeurs qui doivent pouvoir faire tout et n'importe quoi (en connaissance de cause) sur le serveur.
Seulement là, je dois ouvrir un serveur à des utilisateurs néophytes, qui vont lancer des requêtes SQL sans avoir la moindre idée de ce qu'il font, afin de consulter des données à partir de requêtes toutes faites qu'on leur aura communiqué.
J'ai donc dans l'idée de créer ces comptes avec une interdiction totale de la moindre action sur la base, SAUF un grand SELECT sur des vues qu'on va leur mettre à disposition.
Ainsi, ils ne pourront, normalement, pas faire trop de bêtises.
Spontanément, j'ai créé ce nouveau user de la même manière que d'habitude, puis j'ai voulu lancer les instructions suivantes :
Code sql : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 revoke all to monuser; grant select on dbo.mavue to monuser;
Seulement, le "revoke all" me retourne un message m'indiquant qu'il n'a pas planté, mais qu'il n'a rien fait, car c'est deprecated.
Je dois me taper 1 à 1 toutes les tables/vues/procédures/fonction à révoker ?
Partager