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

Administration SQL Server Discussion :

[MSSQL 2008] Limitation table utilisateur


Sujet :

Administration SQL Server

  1. #1
    Membre éclairé Avatar de J0r_x
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mai 2006
    Messages
    804
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Marne (Champagne Ardenne)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Mai 2006
    Messages : 804
    Points : 751
    Points
    751
    Par défaut [MSSQL 2008] Limitation table utilisateur
    Bonjour,

    J'aimerais pour certains utilisateurs, limiter leurs accès à certaines tables.
    Dans "Éléments sécurisables" j'ajoute les tables accessible par l'utilisateur avec les droits en Insert, Update, ...
    Mais qu'en est il des autres tables de la base de données ? Est-ce que je dois toutes les mettre et refuser l'ensemble des accès, ou il y a une possibilité pour que MSSQL Server n'autorise que les tables dans la liste ?
    Aucune aide par MP, utilisez le forum.

  2. #2
    Membre éprouvé
    Profil pro
    Inscrit en
    Février 2008
    Messages
    758
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2008
    Messages : 758
    Points : 1 069
    Points
    1 069
    Par défaut
    Hello,

    Si tu souhaites filtrer l'accès à toute la table, il faut utiliser les commandes ACL type REVOKE ou DENY. (http://msdn.microsoft.com/en-us/library/ms191465.aspx)

    Pour l'ensemble des tables, il existe des rôles de base de données type db_datareader, db_denydatawriter. (http://msdn.microsoft.com/en-us/libr...SQL.90%29.aspx)

    David B.
    David B.

  3. #3
    Membre éclairé Avatar de J0r_x
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mai 2006
    Messages
    804
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Marne (Champagne Ardenne)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Mai 2006
    Messages : 804
    Points : 751
    Points
    751
    Par défaut
    Le problème c'est que je ne peux pas mettre db_denydatareader et autoriser certaine table...
    Aucune aide par MP, utilisez le forum.

  4. #4
    Membre éprouvé
    Profil pro
    Inscrit en
    Février 2008
    Messages
    758
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2008
    Messages : 758
    Points : 1 069
    Points
    1 069
    Par défaut
    Je ne comprends pas ton problème. Tu veux autoriser un user en lecture sur certaines tables mais pas sur d'autres. Où se trouve la majorité ? Du côté des tables à autoriser ou à restreindre ?

    # 1: Si tables à autoriser > tables à restreindre:
    Tu peux ajouter ton utilisateur comme membre de db_datareader et utiliser DENY pour gérer les tables à restreindre.

    # 2: Si tables à autoriser < tables à restreindre:
    Tu accordes les permissions sur les tables à autoriser.

    ?

    David B.
    David B.

  5. #5
    Membre éclairé Avatar de J0r_x
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mai 2006
    Messages
    804
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Marne (Champagne Ardenne)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Mai 2006
    Messages : 804
    Points : 751
    Points
    751
    Par défaut
    Je suis dans le cas n°2, comment bloquer les autres tables (tables à restreindre) ?
    Aucune aide par MP, utilisez le forum.

  6. #6
    Membre éprouvé
    Profil pro
    Inscrit en
    Février 2008
    Messages
    758
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2008
    Messages : 758
    Points : 1 069
    Points
    1 069
    Par défaut
    et donc un GRANT sur les tables nécessaires ne suffit pas ?

    David B.
    David B.

  7. #7
    Membre éprouvé
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    1 056
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2007
    Messages : 1 056
    Points : 1 216
    Points
    1 216
    Par défaut
    par défaut un utilisateur n'a aucun droit, à moins d'avoir le rôle data_reader ou data_qqch...

    Donc comme l'indique David et dans la mesure oú cet utilisateur n'a pas de rôle prédéfin, tu n'as qu'à autoriser l'accès qu'aux tables voulues.
    Emmanuel T.

  8. #8
    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
    Bonjour,

    Je vous conseille, si vous avez plusieurs utilisateurs, de créer un rôle de bases de données prédéfinis et d'y insérer vos utilisateurs. Votre administration en sera facilité.

    ++

  9. #9
    Rédacteur

    Avatar de SQLpro
    Homme Profil pro
    Expert bases de données / SQL / MS SQL Server / Postgresql
    Inscrit en
    Mai 2002
    Messages
    21 772
    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 772
    Points : 52 732
    Points
    52 732
    Billets dans le blog
    5
    Par défaut
    Le plus simple est de créer différent schémas SQL et de placer vos objet dedans. Dès lors il devient extrêmement aisé de gérer la sécurité au niveau des schéma SQL, car cela est valable même pour le futur !
    Ainsi, lors de la création d'une nouvelle table, il suffira de la placer dans le bon schéma SQL !

    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/ * * * * *

  10. #10
    Membre du Club
    Profil pro
    Inscrit en
    Septembre 2003
    Messages
    53
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2003
    Messages : 53
    Points : 43
    Points
    43
    Par défaut
    Salut J0r_x,
    Tu dois avoir le rôle db_datareader coché dans les propriétés de ton user, donc par défaut ton user a le droit de lire toutes les tables (c'est le but de ce rôle) >> Il te suffit de le décocher (un user n'a pas forcément un rôle) alors par défaut il ne peut rien lire, et là seulement les tables que tu as indiquées dans "Eléments sécurisables" seront autorisées à la lecture, pas besoin de s'occuper des autres.

Discussions similaires

  1. [MSSQL 2008] Erreur suppression login utilisateur
    Par johndoe08 dans le forum Administration
    Réponses: 6
    Dernier message: 29/06/2010, 14h22
  2. [SQLServer 2008] Limitation droits utilisateurs
    Par Dimitri S. dans le forum Administration
    Réponses: 2
    Dernier message: 09/04/2009, 15h45
  3. Tables utilisateurs et Tables système
    Par widom dans le forum Administration
    Réponses: 10
    Dernier message: 11/06/2007, 11h34
  4. Sécurité Access, utiliser sa propre table utilisateur
    Par flash2590 dans le forum Sécurité
    Réponses: 2
    Dernier message: 12/12/2005, 16h47
  5. [JSlider] Limiter l'utilisateur à un intervalle donné
    Par barbu0055 dans le forum Composants
    Réponses: 7
    Dernier message: 25/08/2005, 18h42

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