Bonjour,
Je recherche un conseil....
Je suis entrain de créer une base de données pour enregistrer les
événements de l'activité du serveur et des bases de données.
J’ai des trigger sur les tables qui vont enregistrer les événements.
J’ai des trigger sur les bases de données (Changement de structure)
qui vont enregistrer les événements.
Trigger sur le serveur pour enregistrer les login admin qui se
connecte
Trigger sur le serveur pour enregistrer les changements d’options du
serveur.
De cette manière j’ai une trace de toutes les modifications du
serveur.
Mais j’ai un souci de sécurité :
Les utilisateurs sont connectés sur un « active directory ». Chaque
utilisateur est identifié lorsqu’il se connecte à la db par l’AD.
Ces utilisateur appartiennent à un groupe qui accède à la db avec
leurs spécifications (Laurent-Ecriture et pas d’écriture sur la table
XX…).
Lorsqu’un utilisateur modifie une table qui est protégé par un trigger un événement est lancé pour mettre l'infos dans une table qui se trouve dans une autre db.
Bien sur,j’ai un message d’erreur pour me dire que cet utilisateur n’a pas
accès à cette Base de données ou même a la tabl. Ce qui
est normal. Mais comment je pourrais faire pour éviter ce
message en toute sécurité?
Dois-je ajouter les utilisateurs dans la db de log en insert? Pas génial …car
ca veut dire qu’ils peuvent avoir un accès a la db de log.
Dois-je passer par une procédure stocké ? Mais comment faire un
impersonate avec un login AD ?
Il y a aussi les "alerts" mais je ne sais pas comment je peux faire passer des params entre l'alert et le trigger(J'aimerais que ce soit du XML).
Où il y a surement d’autres solutions. Je suis en pleine recherche
sur le web mais je ne trouve pas grand-chose sur le sujet.
Merci de vos conseilles.
Partager