IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Développement SQL Server Discussion :

[2019] Trigger sur sys.sensitivity_classifications


Sujet :

Développement SQL Server

  1. #1
    Membre confirmé
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Octobre 2008
    Messages
    698
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Boutique - Magasin

    Informations forums :
    Inscription : Octobre 2008
    Messages : 698
    Points : 586
    Points
    586
    Par défaut [2019] Trigger sur sys.sensitivity_classifications
    Bonjour,

    Quelqu'un connait-il un moyen de mettre un trigger sur la modification de cette table system ?

    Jusqu'à 2016 ( 2017 aussi je crois mais pas sûr ) le contenu de cette table était stocké dans les extended properties.
    Du coup un simple trigger DB faisait l'affaire.

    Mais depuis 2019 les classification sont dans une table particulière et plus dans les EP.
    Et comme on doit pas créer de trigger sur les tables systèmes, je ne sais pas trop comment faire.

    Des idées ?

    Cordialement,

  2. #2
    Expert éminent sénior
    Avatar de mikedavem
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Août 2005
    Messages
    5 450
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : Distribution

    Informations forums :
    Inscription : Août 2005
    Messages : 5 450
    Points : 12 891
    Points
    12 891
    Par défaut
    Hello,

    Tu cherches à faire quoi exactement avec ce trigger?

    ++

  3. #3
    Membre confirmé
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Octobre 2008
    Messages
    698
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Boutique - Magasin

    Informations forums :
    Inscription : Octobre 2008
    Messages : 698
    Points : 586
    Points
    586
    Par défaut
    Pour le moment tout est hypothétique.
    Mais en gros la suisse va appliquer en grande partie la loi européenne sur la protection des données.
    Et comme je suis en train de revoir notre architecture, je me dis que c'est l'occasion d'implémenter certains concepts un peu laissé pour comptes jusqu’à présent.

    La loi va nous obliger à classifié tous nos attributs, c'est là qu'entre en jeux cette fameuse table sys.sensitivity_classifications.

    Une fois que nos données sont classifiées, il est évident que le besoin de droit d'accès par degrés de sensibilité va arriver.

    Donc je fais un peu de travail proactif et je regarde les options qui s'offrent à moi.

    Celle que j'étudie en ce moment consiste maintenir de façon automatique un rôle dB pour chaque degré de sensibilité.
    Ce rôle fait bêtement un DENY sur toutes les colonnes qui sont de ce même niveau.
    Et par défaut tous mes utilisateurs sont dans ces rôles.

    Avec Sql Serveur 2016 j'ai fait un trigger db sur l'ajout d'une extended property et ça fonctionne plutot bien.
    Mais depuis 2019 la sensibilité n'est plus dans les extended properties mais dans sys.sensitivity_classifications..
    Donc bla bla bla faut que je trouve une autre approche pour maintenir à jour ces rôles.
    Une des possibilités peut être de mettre la mise à jour dans un job de l'agent, mais idéalement j'aimerais un truc un peux plus élégant.

    Globalement j'aimerais utiliser au maximum ce qu'il y a en standard dans SQL Server.

    J'ai aussi regardé le masquage dynamique, mais le droit UNMASk est scopé au niveau de toute la DB ce qui ne me convient pas.
    Par exemple j'aimerais que Finance ait accès en claire aux données de finance mais en masqué aux données de RH et vice et versa ce qui n'est pas possible.
    Si tu as accès à l'objet et que tu as UNMASK tu peux tout voir.



    PS :
    Une partie de moi était tenté de répondre "en quoi c'est important".
    Bien souvent sur les forum (ici aussi hein) les gens qui ne connaissent pas là réponse s'obstinent à détourner le sujet de la question initiale pour trouver un moyen de ne pas faire le job.
    Et presque à chaque fois on se retrouve à devoir se justifier sans pour autant avoir de réponse.

  4. #4
    Rédacteur

    Avatar de SQLpro
    Homme Profil pro
    Expert bases de données / SQL / MS SQL Server / Postgresql
    Inscrit en
    Mai 2002
    Messages
    21 771
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Expert bases de données / SQL / MS SQL Server / Postgresql
    Secteur : Conseil

    Informations forums :
    Inscription : Mai 2002
    Messages : 21 771
    Points : 52 727
    Points
    52 727
    Billets dans le blog
    5
    Par défaut
    a la place du masquage utilise la sécurité de niveau ligne (row level securirty)

    Pour la table système, le mieux est un travail de l'Agent qui peut se déclencher toutes les 10 minutes.

    A +
    Frédéric Brouard - SQLpro - ARCHITECTE DE DONNÉES - expert SGBDR et langage SQL
    Le site sur les SGBD relationnels et le langage SQL: http://sqlpro.developpez.com/
    Blog SQL, SQL Server, SGBDR : http://blog.developpez.com/sqlpro
    Expert Microsoft SQL Server - M.V.P. (Most valuable Professional) MS Corp.
    Entreprise SQL SPOT : modélisation, conseils, audit, optimisation, formation...
    * * * * * Expertise SQL Server : http://mssqlserver.fr/ * * * * *

Discussions similaires

  1. trigger sur deux tables
    Par Shabata dans le forum Développement
    Réponses: 4
    Dernier message: 04/05/2004, 16h55
  2. triggers sur plusieurs bases de données
    Par Shabata dans le forum Langage SQL
    Réponses: 2
    Dernier message: 04/05/2004, 10h02
  3. Trigger sur une colonne ?
    Par hpalpha dans le forum PostgreSQL
    Réponses: 1
    Dernier message: 22/03/2004, 14h16
  4. Trigger sur select
    Par bilo2000 dans le forum Langage SQL
    Réponses: 3
    Dernier message: 02/02/2004, 13h39
  5. Pb Trigger sur vue
    Par cosminutza dans le forum Développement
    Réponses: 3
    Dernier message: 28/07/2003, 16h37

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo