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 :

[sql server 2005]N'autoriser que l'exécution de certaines procédures stockées


Sujet :

Administration SQL Server

  1. #1
    Expert confirmé
    Avatar de Kropernic
    Homme Profil pro
    Analyste / Programmeur / DBA
    Inscrit en
    Juillet 2006
    Messages
    3 932
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : Belgique

    Informations professionnelles :
    Activité : Analyste / Programmeur / DBA
    Secteur : Distribution

    Informations forums :
    Inscription : Juillet 2006
    Messages : 3 932
    Points : 4 239
    Points
    4 239
    Par défaut [sql server 2005]N'autoriser que l'exécution de certaines procédures stockées
    Bonjour,

    Je m'attaque à la sécurité des accès aux DB pour les nouvelles applications.

    Vu qu'il n'y a pas de DBA dans ma boîte, je m'y colle mais j'avoue que je joue un peu à l'apprenti sorcier pour le moment...

    Jusqu'ici, j'ai créé un login sur base d'un groupe active directory et je l'ai mappé sur la DB qu'il doit accéder.

    Je retrouve donc dans la partie security de la DB en question, un user correspondant au login.

    Par contre, quand je vais dans securables pour lui dire quelles sont les procédures stockées qu'il peut exécuter, je reçois une erreur... (voir pièce jointe).

    J'ai donné le role db_datareader à l'utilisateur. Est-ce correct ?

    J'ai recherché un peu dans google et sur ce forum mais vu que je n'y connais presque rien, je ne comprends pas grand chose aux solutions proposées et je ne suis pas sûr que cela s'applique à mon problème.

    Que dois-je faire pour corriger cette erreur ?

    Merci d'avance.

    Griftou.

    EDIT :
    J'ajoute une 2e pièce jointe qui sera p-e utile. L'erreur se produit lorsque je clique sur "Effective permissions..." .
    Sinon, si je clique juste sur OK et que je retourne voir, je constate que ce que j'ai ajouté dans securables ne s'y trouve plus.
    Images attachées Images attachées   
    Kropernic

  2. #2
    Modérateur

    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Janvier 2005
    Messages
    5 826
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Janvier 2005
    Messages : 5 826
    Points : 12 371
    Points
    12 371
    Par défaut
    Bonjour,

    Si vous voulez n'autoriser que l'exécution de certaines procédures stockées, alors il faut exécuter GRANT EXECUTE ON monSchema.maProcedure TO monUtilisateur.

    A mon avis vous avez besoin de lire ce billet, et les deux liens que j'y référence si ce n'est pas déjà fait.

    Le rôle db_datareader, comme l'indique la documentation, permet seulement d'exécuter une instruction SELECT sur une table ou une vue de la base de données.

    @++

  3. #3
    Expert confirmé
    Avatar de Kropernic
    Homme Profil pro
    Analyste / Programmeur / DBA
    Inscrit en
    Juillet 2006
    Messages
    3 932
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : Belgique

    Informations professionnelles :
    Activité : Analyste / Programmeur / DBA
    Secteur : Distribution

    Informations forums :
    Inscription : Juillet 2006
    Messages : 3 932
    Points : 4 239
    Points
    4 239
    Par défaut
    Arf, j'enlève donc le db_datareader ^^.

    Quand je disais que je jouais à l'apprenti sorcier, je n'exagérais pas .

    Merci pour le lien de votre article. Je vais lire cela de suite !
    Kropernic

  4. #4
    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
    Si vous voulez n'autoriser que l'exécution de certaines procédures stockées, alors il faut exécuter GRANT EXECUTE ON monSchema.maProcedure TO monUtilisateur.
    Effectivement mais attention si vos procédures utilisent du SQL Dynamique le seul droit d'exécution sur les objets concernés ne permettra pas à vous utilisateurs de les executer. Il faudra soit donner les droits nécessaires aux objets sous jascents (mauvaise solution selon moi), soit utiliser des outils à disposition comme exécuter la procédure en impersonnalisation le contexte utilisateur ou encore utiliser signer votre procédure à l'aide d'un certificat par exemple.

    ++

  5. #5
    Expert confirmé
    Avatar de Kropernic
    Homme Profil pro
    Analyste / Programmeur / DBA
    Inscrit en
    Juillet 2006
    Messages
    3 932
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : Belgique

    Informations professionnelles :
    Activité : Analyste / Programmeur / DBA
    Secteur : Distribution

    Informations forums :
    Inscription : Juillet 2006
    Messages : 3 932
    Points : 4 239
    Points
    4 239
    Par défaut
    Ces procédures n'utilisent pas de sql dynamique donc tout va bien ^^.

    Par contre, je n'arrive tjs pas à lancer l'application (qui est déployé sur un serveur citrix) et donc à tester les droits d'accès .

    Je pensais que le problème venait du fait que l'utilisateur ne pouvait pas exécuter les procédures qui sont appelées au démarrage de l'application mais il semblerait que le problème soit ailleurs.

    Griftou.
    Kropernic

  6. #6
    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
    Est-ce que vous avez un message d'erreur explicite ?

    ++

  7. #7
    Expert confirmé
    Avatar de Kropernic
    Homme Profil pro
    Analyste / Programmeur / DBA
    Inscrit en
    Juillet 2006
    Messages
    3 932
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : Belgique

    Informations professionnelles :
    Activité : Analyste / Programmeur / DBA
    Secteur : Distribution

    Informations forums :
    Inscription : Juillet 2006
    Messages : 3 932
    Points : 4 239
    Points
    4 239
    Par défaut
    Non malheureusement..

    Je n'ai juste rien.

    Le serveur ouvre la session vers l'application mais la fenêtre reste désespérément vide et se ferme après environ 1 minute.

    Je vais aller ennuyer les admins du citrix pour voir s'ils ont quelque chose dans les logs ^^
    Kropernic

  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
    Je vais aller ennuyer les admins du citrix pour voir s'ils ont quelque chose dans les logs ^^
    Je pense qu'il faut commencer pa là en effet

    ++

  9. #9
    Expert confirmé
    Avatar de Kropernic
    Homme Profil pro
    Analyste / Programmeur / DBA
    Inscrit en
    Juillet 2006
    Messages
    3 932
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : Belgique

    Informations professionnelles :
    Activité : Analyste / Programmeur / DBA
    Secteur : Distribution

    Informations forums :
    Inscription : Juillet 2006
    Messages : 3 932
    Points : 4 239
    Points
    4 239
    Par défaut
    Bon, il s'agissait d'un problème de dll manquante.

    L'application se lance mais il y a un problème dans la définition du rapport reporting service ^^.

    Dès que cela est résolu, je vous dis si j'accède aux procédures stockées ou non
    Kropernic

  10. #10
    Expert confirmé
    Avatar de Kropernic
    Homme Profil pro
    Analyste / Programmeur / DBA
    Inscrit en
    Juillet 2006
    Messages
    3 932
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : Belgique

    Informations professionnelles :
    Activité : Analyste / Programmeur / DBA
    Secteur : Distribution

    Informations forums :
    Inscription : Juillet 2006
    Messages : 3 932
    Points : 4 239
    Points
    4 239
    Par défaut
    Super, ça fonctionne !!!

    Par contre, je pinaille peut-être, mais je vais quand même faire un revoke des droits pour l'utilisateur histoire d'être sûr que c'est bien le grant que j'ai fait tout à l'heure qui fait que l'accès au stored procedure est permis.

    Je passe le sujet en résolu.

    Merci les gars!!!

    Griftou.
    Kropernic

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

Discussions similaires

  1. Réponses: 1
    Dernier message: 15/10/2007, 20h49
  2. Réponses: 3
    Dernier message: 16/05/2007, 13h48
  3. Réponses: 6
    Dernier message: 28/03/2007, 09h02
  4. Réponses: 1
    Dernier message: 13/12/2006, 14h18
  5. Réponses: 1
    Dernier message: 03/10/2006, 11h22

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