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

MS SQL Server Discussion :

Créer un utilisateur SQL à accès très restreint


Sujet :

MS SQL Server

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre habitué
    Profil pro
    Inscrit en
    Mars 2004
    Messages
    10
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2004
    Messages : 10
    Par défaut Créer un utilisateur SQL à accès très restreint
    Bonjour,

    Je voudrais savoir s'il est possible de créer un user qui ne puisse exécuter que deux procédures stockées bien définies sur une base donnée et rien d'autres (aucun select sur la table master par exemple).
    Si oui, comment et sinon, que me proposez-vous?
    Merci de vos réponses.

  2. #2
    Rédacteur

    Avatar de SQLpro
    Homme Profil pro
    Expert bases de données / SQL / MS SQL Server / Postgresql
    Inscrit en
    Mai 2002
    Messages
    22 010
    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 : 22 010
    Billets dans le blog
    6
    Par défaut
    Créez votre utilisateur et donnez lui les privilèges EXECUTE sur les procédures prévues.

    En version 2000 :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    EXECUTE sp_addlogin 'cnxUsrX', 'mo2pass', 'Mabase'
    GO
     
    USE Mabase
    GO
     
    EXECUTE sp_grantdbaccess 'cnxUsrX', 'UsrX'
    GO
     
    GRANT EXECUTE 
       ON sp_myProc1
       TO UsrX
    GO
     
    GRANT EXECUTE 
       ON sp_myProc2
       TO UsrX
    GO
    L'utilisateur SQL UsrX n'a plus qu'à se connecter avec le compte de connexion cnxUsrX et le mot de passe mo2pass auquel cas il devient l'utilisateur UsrX dans la base Mabase doté des privilèges d'exécution des procédures sp_myProc1 et sp_myProc2.

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

  3. #3
    Membre habitué
    Profil pro
    Inscrit en
    Mars 2004
    Messages
    10
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2004
    Messages : 10
    Par défaut
    Merci de votre réponse.

    En effet, lorsque je me connecte avec ce user et que je souhaite exécuter une requête sur la table SYSLOGINS, j'ai bien SELECT permission denied.
    Par contre, lorsque j'exécute une requête sur la table sysusers, il me donne bien des lignes de resultat.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    select * 
    from sysusers
    where (password is null) or (password = CAST('' as VARBINARY(128)))
    exemple resultat:
    name password
    ----- ---------
    public NULL
    dbo NULL
    db_accessadmin NULL
    ...

    pour les procédures stockées, il ne peut exécuter que ceux auxquelles il a droit.

    Ma question est la suivante, est-il possible de limiter l'accès à la table sysusers et d'autres tables system ou de la base de données 'MaBase' succeptibles d'être interogées, sinon, quel est le risque que ce user puisse accèder en lecture à certaines tables system ?

    Merci de votre 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
    22 010
    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 : 22 010
    Billets dans le blog
    6
    Par défaut
    Question posée 10000000 fois... Et qui prouve la mauvaise formation générales des informaticiens français en matière de SGBDR !

    Je suis d'ailleurs assez écoeuré quand je donne des cours au cnam ou à une école d'ingé de toulon (aux 5e année) de leur faire constater leur ignorance.

    C'est par définition impossible !

    Un utilisateur doit impérativement avoir accès aux tables système de la base pour savoir qui il est, ce qu'il peut faire...
    Imaginez un seul instant que je vous dise : "trouvez moi les clients habitant paris" dans un système de fichier du genre Cobol et que je ne vous donne pas le nom du fichier. Allez vous commencer par chercher dans les 5419785431842494234587245 fichiers que contient votre système d'information quel est le bon ???

    Il est donc parfaitement normal que l'utilisateur puisse lire (et seuelment lire) certaines tables systèmes. Cela ne constitue bien évidemment aucun danger....

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

  5. #5
    Membre habitué
    Profil pro
    Inscrit en
    Mars 2004
    Messages
    10
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2004
    Messages : 10
    Par défaut
    C'est exactement ce que je me suis dis, mais un doute persistait.
    Merci bcp.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 13
    Dernier message: 30/09/2014, 14h17
  2. Comment créer un utilisateurs avec des droits très limités
    Par M@XflY dans le forum Administration système
    Réponses: 2
    Dernier message: 09/12/2008, 19h37
  3. Réponses: 20
    Dernier message: 29/02/2008, 22h17
  4. Accés utilisateurs SQL Server à partir d'une application.
    Par abdelghani_k dans le forum Bases de données
    Réponses: 1
    Dernier message: 25/04/2007, 16h44
  5. Droits très restreints pour un utilisateur
    Par Scurz dans le forum Administration système
    Réponses: 8
    Dernier message: 29/01/2007, 13h08

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