Discussion
· Sept 11, 2023

Gérez les accès SQL à tout ou partie des schémas d'une base de données, au lieu de les gérer au niveau des tables.

Actuellement, les privilèges SQL (SELECT, INSERT, UPDATE, DELETE) sont gérés au niveau des tables, ce qui peut s'avérer très fastidieux lorsque vous devez administrer de nombreux rôles dans une organisation et les synchroniser avec des modèles de données en constante évolution.
En gérant les privilèges au niveau des schémas, cela permettra d'accorder des privilèges SELECT et d'autres privilèges DML à *tous* ou *plusieurs schémas* à un rôle|utilisateur, corrigeant ainsi le besoin de synchroniser manuellement les nouvelles tables|vues avec les rôles.

Si vous êtes d'accord, je vous invite à voter pour cette idée

Discussion (4)2
Connectez-vous ou inscrivez-vous pour continuer

@Alexander Koblov vient de me donner la solution.
La commande GRANT ... ON SCHEMA ... répond parfaitement au besoin.


GRANT SELECT ON SCHEMA data TO ROLE|USER

Et ce qui est cool, c'est que dès que votre utilisateur a reçu un GRANT sur un schéma, lorsque vous modifiez ensuite l'utilisateur dans le portail de gestion de la sécurité, vous pouvez voir dans l'onglet Tables SQL toutes les tables apparaître au fur et à mesure de leur création.
 

Merci pour le partage de cette astuce @Sylvain Guilbaud ,

Il y a quelques années j'ai du écrire un script pour faire la même chose et j'ai effectué un select sur INFORMATION_SCHEMA et des insert dans Security.SQLPrivileges.  C'était assez fastidieux.  J'utiliserai cette technique si je dois mettre le script à jour.