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 :

(débutant) Autorisation lecture, écriture + sur une table en particulier [Fait]


Sujet :

MS SQL Server

  1. #1
    Membre à l'essai
    Inscrit en
    Février 2008
    Messages
    15
    Détails du profil
    Informations forums :
    Inscription : Février 2008
    Messages : 15
    Points : 11
    Points
    11
    Par défaut (débutant) Autorisation lecture, écriture + sur une table en particulier
    Bonjour,

    Voilà, je me suis décidé à me faire une activité sur SQL server 2005 avec le BTS informatique de gestion, néanmoins je rencontre quelques difficultés vis à vis de la gestion des droits.

    J'utilise un mode d'authentification windows donc uniquement avec Active Directory.

    J'ai créé 3 utilisateurs :
    - SQL-art (ce compte pourra lire et écrire uniquement des données sur la table articles de la base de données TEST)
    - SQL-L (ce compte pourra lire toutes les données de la base de données TEST)
    - SQL-E (ce compte pourra en plus modifier les données de la base de données TEST)

    Dans le dossier sécurité, connexions, j'ai créé une nouvelle connexion pour chaque utilisateur. J'ai mappé l'utilisateur à la base de données TEST avec "db_reader" pour SQL-L et "db_writer" pour SQL-E.

    Néanmoins, avec l'utilisateur SQL-L, j'arrive toujours à faire des delete, insert into. Savez vous pourquoi ?

    Peut-on attribuer uniquement des droits sur une table d'une base de données ?

    Merci d'avance

  2. #2
    Membre expérimenté

    Profil pro
    Inscrit en
    Août 2002
    Messages
    1 249
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2002
    Messages : 1 249
    Points : 1 745
    Points
    1 745
    Par défaut
    au niveau de tes logins, tu as bien creer des utilisateurs windows, car si tu te connectes comme administrateur, c'est normal de pouvoir inserer!

  3. #3
    Membre à l'essai
    Inscrit en
    Février 2008
    Messages
    15
    Détails du profil
    Informations forums :
    Inscription : Février 2008
    Messages : 15
    Points : 11
    Points
    11
    Par défaut re
    Bonjour,

    C'est en me connectant avec l'utilisateur "SQL-L", donc droit en lecture que j'arrive à faire des insert to ou delete.

  4. #4
    Membre expérimenté

    Profil pro
    Inscrit en
    Août 2002
    Messages
    1 249
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2002
    Messages : 1 249
    Points : 1 745
    Points
    1 745
    Par défaut
    cet utilisateur sql-l, quel droit windows lui a tu donner ? administrateur ?

    Peut-on attribuer uniquement des droits sur une table d'une base de données ?
    oui, mais il ne faut pas donner des roles comme tu l'as fait... il faut attribuer des droits...

    Pour en savoir plus : http://blog.developpez.com/ylarvor?t...n_de_la_Scurit

  5. #5
    Membre à l'essai
    Inscrit en
    Février 2008
    Messages
    15
    Détails du profil
    Informations forums :
    Inscription : Février 2008
    Messages : 15
    Points : 11
    Points
    11
    Par défaut re
    Les utilisateurs SQL-L et SQL-E sont des utilisateurs classiques, donc membre du groupe "Users"

    En fait, ce qui n'est pas encore très clair, malgré le tutorial que j'ai lu, c'est que permet précisément le rôle de base de données DB-READER. J'ai compris que c'était des droits globaux. Il ne faut donc pas attribuer que des rôles mais systématiquement définir des autorisations d'instructions en plus ?

    Désole, je suis encore un peu dans le flou, malgré ces explications.

  6. #6
    Membre expérimenté

    Profil pro
    Inscrit en
    Août 2002
    Messages
    1 249
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2002
    Messages : 1 249
    Points : 1 745
    Points
    1 745
    Par défaut
    j'avoue que je ne comprend pas qu'avec un utilisateur du groupe users, tu es des droits d'écriture...

    db_datareader donne simplement le droit de lire les données... donc ce n'est pas normal que tu puisses modifier! il y a un probleme dans ta configuration de la sécurité. tu n'as aucun rôle serveur comme sysadmin ou serveradmin sur ton login ?

    les roles, c'est pour te simplifier la vie, tu n'es pas oblige d'affecter des rôles, tu peux creer des droits sur tes objets et les affecter à ton utilisateur.

  7. #7
    Membre à l'essai
    Inscrit en
    Février 2008
    Messages
    15
    Détails du profil
    Informations forums :
    Inscription : Février 2008
    Messages : 15
    Points : 11
    Points
    11
    Par défaut re
    Voici le détail concernant l'utilisateur SQL-L
    - Rôle du serveur : aucun
    - utilisateur mappé à cette connexions : base de données TEST avec utilisateur SQL-L, shéma par défaut : dbo
    - appartenance au rôle de base de donnée TEST : db-datareader, public
    - element sécurisable : aucun
    - état : autorisation de se connecter au moteur de base de donnéees : octroyer, connexion : activé

    Sinon, je crois bien que je vais suivre votre conseil, c'est à dire ne pas utiliser les rôles et définir directement des autorisations spécifiques. (je comprends par là élément sécurisable)

    A ce sujet d'ailleurs, savez vous où je peux trouver des infos à ce niveau là ? (par exemple savoir ce qui correspond à la possibilité de faire des SELECT et de l'autre côté des UPDATE)

    Autre question que je me pose : la modification des droits sur un utilisateur (Active directory j'entends) oblige l'utilisateur à ouvrir une nouvelle session ou les modifications sont fait en temps réel ?

    EDIT : après quelques tests, il n'y a que le drop database que je ne peux pas faire (UPDATE, INSERT INTO, DELETE fonctionne alors qu'il ne devrait pas...)

  8. #8
    Membre expérimenté

    Profil pro
    Inscrit en
    Août 2002
    Messages
    1 249
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2002
    Messages : 1 249
    Points : 1 745
    Points
    1 745
    Par défaut
    j'ai fait le test, j'ai créé un utilisateur, sur ma base test, avec le droit db_datareader, et je n'ai aucun droit en insertion!

    essayes de passer en authentification Mixte, cela marchera peut etre mieux!

  9. #9
    Membre à l'essai
    Inscrit en
    Février 2008
    Messages
    15
    Détails du profil
    Informations forums :
    Inscription : Février 2008
    Messages : 15
    Points : 11
    Points
    11
    Par défaut re
    Bonsoir,

    Alors je viens de passer en authentification mixte, j'ai donc dû redémarrer un service pour que cela soit pris en compte.

    J'ai donc crée une nouvelle connexion TEST2 avec le même modèle d'authentification qu'avec l'utilisateur SQL-L, et j'ai toujours exactement le même problème....

    UPDATE, INSERT INTO, DELETE fonctionne alors qu'il ne devrait pas

  10. #10
    Rédacteur

    Avatar de SQLpro
    Homme Profil pro
    Expert bases de données / SQL / MS SQL Server / Postgresql
    Inscrit en
    Mai 2002
    Messages
    21 768
    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 768
    Points : 52 719
    Points
    52 719
    Billets dans le blog
    5
    Par défaut
    A quel utilisateur SQL est lié le compte de connexion TEST2 ?

    Dans SQL Server il y a séparation entre connexion et utilisateurs. Ce sont des objets différents !

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

  11. #11
    Membre expérimenté

    Profil pro
    Inscrit en
    Août 2002
    Messages
    1 249
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2002
    Messages : 1 249
    Points : 1 745
    Points
    1 745
    Par défaut
    le post est resolu, il avait mis des droits d'ecriture sur le compte public!

  12. #12
    Membre à l'essai
    Inscrit en
    Février 2008
    Messages
    15
    Détails du profil
    Informations forums :
    Inscription : Février 2008
    Messages : 15
    Points : 11
    Points
    11
    Par défaut re
    Voilà, c'est ça

    La source venait du script de création de base de données.

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

Discussions similaires

  1. Lecture et écriture sur une même socket ?
    Par nico_ayci dans le forum Réseau
    Réponses: 2
    Dernier message: 19/05/2008, 07h17
  2. Réponses: 2
    Dernier message: 16/05/2006, 14h17
  3. Tester les droits en écriture sur une table en VBA ?
    Par yerome60 dans le forum Access
    Réponses: 2
    Dernier message: 19/12/2005, 21h43
  4. [débutant] 1 ordre select sur une OU plusieurs tables
    Par goony dans le forum Langage SQL
    Réponses: 10
    Dernier message: 18/08/2005, 10h57
  5. [débutant] Aide pour mettre une FOREIGN KEY sur une table
    Par cauldron dans le forum Langage SQL
    Réponses: 2
    Dernier message: 14/11/2004, 17h16

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