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 :

Création d'une connexion à la base de données pour un site dynamique


Sujet :

Administration SQL Server

  1. #1
    Membre régulier
    Inscrit en
    Juillet 2008
    Messages
    230
    Détails du profil
    Informations personnelles :
    Âge : 40

    Informations forums :
    Inscription : Juillet 2008
    Messages : 230
    Points : 96
    Points
    96
    Par défaut Création d'une connexion à la base de données pour un site dynamique
    Bonjour,
    J'ai plusieurs bases de données sql server sur un serveur dédié. Chaque base est utilisé par un site différent.
    Je voudrais créer des connexions à la base de données différentes pour chaque site avec droits en lecture, ecriture et suppression sur les enregistrements seulement et non pas sur les tables. et de facon que l'utilisateur de cette connexion ne verra que la base concernée et non pas toutes les bases qui existent sur le serveur. J'espère que mon problème est bien clair.
    Mais je me trouve pas avec les droits d'accès qu'il faut attribuer à chaque connexion?
    Quelqu'un pourrais m'aider?
    Merci d'avance

  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
    Bonjour,

    Une façon de faire :

    Créez un login de connexion par bases de données.

    Pour chaque base de données créez un utilisateur et ajouter le aux rôles de bases de données db_datareader et db_datawriter (Cet utilisateur pourra lire, ajouter, mettre à jour et supprimer les données dans toutes les tables de la base concernée).

    Mappez enfin vos logins de connexion à vos utilisateurs de bases de données respectifs (Chaque connexion ne verra ainsi que la base de données sur laquelle il a les droits)

    ++

  3. #3
    Membre régulier
    Inscrit en
    Juillet 2008
    Messages
    230
    Détails du profil
    Informations personnelles :
    Âge : 40

    Informations forums :
    Inscription : Juillet 2008
    Messages : 230
    Points : 96
    Points
    96
    Par défaut
    Merci mikedavem pour ta réponse.
    Mais je trouve encore des problèmes lors de la création des utilisateurs
    stp, tu peux me conseiller un tutoriel simple pour bien comprendre la notion d'utilisateur et connexion et comment les créer ss ms sql server 2005?
    Je suis assez novice avec sql server2005.

  4. #4
    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 : 43
    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,

    Une connexion, ou login, vous permet d'accéder à une instance de SQL Server, mais c'est tout.
    Une instance de SQL Server pouvant héberger plusieurs bases de données utilisateur, vous ne souhaitez peut-être pas que tous les utilisateurs aient accès à toutes les bases de données de votre instance, et de la même façon.

    Donc pour chaque connexion|login, vous devez créer un utilisateur de base de données en le mappant sur la connexion, et en lui affectant des droits d'accès et des privilèges.

    Un droit d'accès permet à un utilisateur de naviguer dans une base de données suivant des privilèges que l'administrateur lui a octroyés.
    Un privilège permet de limiter l'accès aux données, par exemple en refusant le droit de SELECT sur la colonne salaire de la table des employés aux utilisateurs employés.

    Vous pouvez gérer plus globalement au niveau de la base de données les accès aux données en créant des rôles : vous donnez au rôle des droits d'accès et des privilèges, et lors de l'arrivée d'un nouvel utilisateur, il vous suffit de l'ajouter au rôle de base de données.
    Les rôles db_datareader et db_datawriter que vous a cités mikedavem sont des rôles par défaut de SQL Server, mais vous pouvez créer les votres.

    Pour créer une connexion :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    CREATE LOGIN Contact2012 WITH PASSWORD = 'passDeContact2012'
    Pour permettre la navigation dans la base de données :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    USE maBD
    GO
    CREATE USER Contact2012 FOR LOGIN Contact2012
    Pour gérer les privilèges, vous pouvez voir la documentation des instructions GRANT, REVOKE et DENY

    Vous pouvez également réaliser tout cela à l'aide de SQL Server Management Studio :
    - Pour la création de la connexion, ouvrez la node "Sécurité" de votre instance, puis faites un clic-droit sur la node "Connexions", et choisissez "Nouvelle connexion"
    - Pour la création de l'utilisateur, après avoir ouvert la node possédant le nom de la base de données en question, ouvrez la node "Sécurité", puis cliquez-droit sur la node "Utilisateurs" en choisissant "Nouvel utilisateur"

    Un peu de lecture par ici et ici

    @++

  5. #5
    Membre régulier
    Inscrit en
    Juillet 2008
    Messages
    230
    Détails du profil
    Informations personnelles :
    Âge : 40

    Informations forums :
    Inscription : Juillet 2008
    Messages : 230
    Points : 96
    Points
    96
    Par défaut
    Merci beaucoup elsuket pour l'explication
    C'est très bien clair dans ma tête maintenant.
    J'ai créé maintenant mes connections et utilisateurs avec chacun les droits dont il aura besoin :-)
    J'ai découvert aussi comme c'est géniale la gestion de sécurité des bases de données dans sql server.
    Bon travail à tous

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

Discussions similaires

  1. Ajouter une connexion de base de données
    Par Papy214 dans le forum Windows Forms
    Réponses: 5
    Dernier message: 30/06/2009, 17h33
  2. Création d'une instance et base de données
    Par bestsuan dans le forum Administration
    Réponses: 32
    Dernier message: 29/08/2008, 17h29
  3. Réponses: 3
    Dernier message: 25/03/2008, 13h04
  4. Réponses: 2
    Dernier message: 11/06/2007, 17h25

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