cs_stefan13
Messages postés6Date d'inscriptionsamedi 14 octobre 2000StatutMembreDernière intervention13 juin 2009
-
11 juin 2009 à 22:49
nivsql
Messages postés159Date d'inscriptionlundi 22 juin 2009StatutMembreDernière intervention14 décembre 2010
-
22 juin 2009 à 16:52
Bonjour a tous
J'utilise depuis peu sql server version 2005 express
Je souhaite utiliser sql server avec vb.net
Mon programme doit fonctionner en reseau
Comment puis simplifier l'acces a la base sans avoir de probleme de sécurité depuis les autres postes
ma base est sur serveur\sqlexpress et je voudrais y acceder depuis poste1 et poste2
Dois je utiliser le mode d'authentification windows ou le mode sql server, quel est le plus simple sachant que je voudrais je souhaiterais simplifier l'installation de mon programme (pas de triturage dans les droits des utilisateurs windows...)
cs_casy
Messages postés7741Date d'inscriptionmercredi 1 septembre 2004StatutMembreDernière intervention24 septembre 201440 12 juin 2009 à 20:38
Un serveur MSSQLServer gère toujours l'authentification Windows. Optionnellement, suivant les choix fait lors de son installation il peut aussi gérer l'authentification SQL (mode mixte).
L'authentification Windows est très supérieure en terme de sécurité à l'authentification SQL.
Cependant elle nécessite que l'utilisateur soit un utilisateur authentifié du domaine sous Windows. Elle nécessite donc qu'un domaine soit mis en place sur ton réseau local et que l'utilisateur et le serveur soit sur le même domaine.
Dans une authentification SQL, l'identité est vérifiée par le serveur lui-même. Avec comme inconvénients principaux des options de sécurité moindres et la necessite par l'utilisateur de saisir 2 login et mot de passe, celui de Windows quand il ouvre la session et celui de SQL quand se connecte au serveur.
Les avantages sont par contre, la possibilité de connection pour des utilisateurs venant de domaines différents, inconnus, ou non approuvés, venant de systèmes d'exploitation diffrérent ne prennent pas en charge l'authentification de domaine, mais aussi à des applications généralements anciennes ne gérant pas l'authentification par windows, .....
Dans la mesure du possible, l'authentification Windows est préférable.
Si le serveur gère aussi l'authentification SQL, le compte d'administration sa devrait être désactivé (car trop connu) et remplacé par un autre compte utilisateur, ou au moins avoir un mot de passe complexe. Enfin le compte d'administraion (sa ou le compte le remplaçant), ne devrait servir qu'à ladministration. D'autres comptes devraient être créés pour les utilisateurs de SqlServer.
Je mets tout au conditionnel, car malgré ces règles qui devraient être respectées, il existe de nombreuses installations où c'est le compte sa qui sert de compte utilisateur, parfois sans mot de passe alors même que l'authentification Windows serait plus judicieuse.
cs_stefan13
Messages postés6Date d'inscriptionsamedi 14 octobre 2000StatutMembreDernière intervention13 juin 2009 13 juin 2009 à 09:38
Merci bcp pour ta réponse Casi
Donc j'ai bien compris qu'il était préférable d'utiliser le mode d'authentification réseau... seulement je suppose que cela nécessite une intervention sur les postes clients afin de donner des droits... je doute donc que l'on puisse utiliser les comptes des utilisateurs "en l'état" évidement c'est un problème
L'authentification SQL est alors la solution malgré une sécurité moindre, cependant cela permettrait de pas toucher aux comptes clients.
En fait il faut savoir que mon programme construit la base de données et donc c'est le programme qui créait les tables mais aussi le login d'acces
J'ai donc crée un login/password mais c'est acces fonction en local mais tjrs pas en reseau...
je me demande si j'ai pas oublié d'attribuer des droits a ce login surtout en le comparant avec le login SA
Savez vous quelle requete je dois effectuer ou créer ce login/pass pour que ma base de données soit accessible depuis tout les postes
nivsql
Messages postés159Date d'inscriptionlundi 22 juin 2009StatutMembreDernière intervention14 décembre 20101 22 juin 2009 à 16:52
A tu verifié sur ton installtion de SQL Server que les connexion TCP (et/ou Name pipes) étaient authorisé sur ton instance. Utilise l'utilitaire de configuration de la surface d'exposition pour ouvrir le protocol que tu utilise.