OVH Cloud OVH Cloud

Accéder à une base SQL Server sur un autre serveur que le serveu r

3 réponses
Avatar
David
Bonsoir,
Je découvre le monde ASP.NET et je rencontre le problème suivant.
J'ai un serveur Microsoft SQL 2000 sur lequel se trouve une base de données X.
Je développe sur un PC sous Win XP pour l'instant sur laquelle j'ai installé
et configuré IIS 5.1 pour tester mes programmes. Sur ce même PC de
développement j'ai SQL Serveur d'installé.
J'ai configuré mon fichier Web.config pour permettre une authentification
Windows via AD. (Le serveur SQL et mon PC de développement sont dans le même
domaine AD)
Quand j'essaye d'accéder à une base de test sur mon PC de développement,
tout fonctionne correctement. Je me connecte sur ma base SQL "locale" avec
l'utilisateur que j'ai utilisé pour me connecter.
Par contre si j'essaye de me connecter sur une base SQL sur mon serveur SQL
"distant" alors là j'ai une erreur de connexion qui m'indique que je me
connecte en Anonymous.
Le serveur SQL et mon PC sont tous 2 sur le même réseau et sur le même
domaine AD. Pourquoi, dès que la connexion SQL s'établie sur un serveur autre
que le serveur de connexion IIS, j'ai ce problème ?
Y-a-t-il un moyen de me connecter sur ma base distante tout en gardant le
bénéfice de mon authentification de départ ?
J'ai lu des articles dans le MSDN qui me laissent penser que ce n'est pas
faisable et d'autres qui me font penser le contraire.
Toute aide sera la bienvenue.
Merci par avance.

3 réponses

Avatar
Paul Bacelar
Votre problème a un nom, la délégation d'identité.

Il faut que votre IIS ait le droit d'agir avec les mêmes prérogatives que la
personne qui a fais la requête HTTP sur l'ensemble du domaine.

L'authentification Windows permet de changer l'identité du thread qui répond
à la requête HTTP mais ne permet pas, par défaut, d'avoir les mêmes droits
sur l'ensemble du réseau.

Demander à votre administrateur système si votre AD utilise Kerberos et
qu'il est configuré pour permettre la délégation d'identité.
--
Paul Bacelar


"David" wrote in message
news:
Bonsoir,
Je découvre le monde ASP.NET et je rencontre le problème suivant.
J'ai un serveur Microsoft SQL 2000 sur lequel se trouve une base de


données X.
Je développe sur un PC sous Win XP pour l'instant sur laquelle j'ai


installé
et configuré IIS 5.1 pour tester mes programmes. Sur ce même PC de
développement j'ai SQL Serveur d'installé.
J'ai configuré mon fichier Web.config pour permettre une authentification
Windows via AD. (Le serveur SQL et mon PC de développement sont dans le


même
domaine AD)
Quand j'essaye d'accéder à une base de test sur mon PC de développement,
tout fonctionne correctement. Je me connecte sur ma base SQL "locale" avec
l'utilisateur que j'ai utilisé pour me connecter.
Par contre si j'essaye de me connecter sur une base SQL sur mon serveur


SQL
"distant" alors là j'ai une erreur de connexion qui m'indique que je me
connecte en Anonymous.
Le serveur SQL et mon PC sont tous 2 sur le même réseau et sur le même
domaine AD. Pourquoi, dès que la connexion SQL s'établie sur un serveur


autre
que le serveur de connexion IIS, j'ai ce problème ?
Y-a-t-il un moyen de me connecter sur ma base distante tout en gardant le
bénéfice de mon authentification de départ ?
J'ai lu des articles dans le MSDN qui me laissent penser que ce n'est pas
faisable et d'autres qui me font penser le contraire.
Toute aide sera la bienvenue.
Merci par avance.


Avatar
David
Bonjour,
Pour commencer, un grand MERCI pour votre réponse.
Il se trouve que je dois également assumer momentanément la fonction d'amin
système et d'après les recherches que j'ai pu faire ce matin suite à votre
réponse, j'ai trouvé 1 stratégie locale qui me semble correspondre à ce que
vous m'indiquez : "Autoriser que l'on fasse confiance aux comptes ordinateurs
et utilisateur pour la délégation".
Est-ce que cela correspond à vos indications ? Si oui, à quel niveau dois-je
modifier cette stratégie ? Sur mon controlleur de domaine ? Sur mon PC
Windows XP où IIS est installé ?
Bien que cela sorte des compétences de ce forum, pouvez-vous me conseiller
sur ce que je dois faire ?
Merci par avance.

"Paul Bacelar" a écrit :

Votre problème a un nom, la délégation d'identité.

Il faut que votre IIS ait le droit d'agir avec les mêmes prérogatives que la
personne qui a fais la requête HTTP sur l'ensemble du domaine.

L'authentification Windows permet de changer l'identité du thread qui répond
à la requête HTTP mais ne permet pas, par défaut, d'avoir les mêmes droits
sur l'ensemble du réseau.

Demander à votre administrateur système si votre AD utilise Kerberos et
qu'il est configuré pour permettre la délégation d'identité.
--
Paul Bacelar


"David" wrote in message
news:
> Bonsoir,
> Je découvre le monde ASP.NET et je rencontre le problème suivant.
> J'ai un serveur Microsoft SQL 2000 sur lequel se trouve une base de
données X.
> Je développe sur un PC sous Win XP pour l'instant sur laquelle j'ai
installé
> et configuré IIS 5.1 pour tester mes programmes. Sur ce même PC de
> développement j'ai SQL Serveur d'installé.
> J'ai configuré mon fichier Web.config pour permettre une authentification
> Windows via AD. (Le serveur SQL et mon PC de développement sont dans le
même
> domaine AD)
> Quand j'essaye d'accéder à une base de test sur mon PC de développement,
> tout fonctionne correctement. Je me connecte sur ma base SQL "locale" avec
> l'utilisateur que j'ai utilisé pour me connecter.
> Par contre si j'essaye de me connecter sur une base SQL sur mon serveur
SQL
> "distant" alors là j'ai une erreur de connexion qui m'indique que je me
> connecte en Anonymous.
> Le serveur SQL et mon PC sont tous 2 sur le même réseau et sur le même
> domaine AD. Pourquoi, dès que la connexion SQL s'établie sur un serveur
autre
> que le serveur de connexion IIS, j'ai ce problème ?
> Y-a-t-il un moyen de me connecter sur ma base distante tout en gardant le
> bénéfice de mon authentification de départ ?
> J'ai lu des articles dans le MSDN qui me laissent penser que ce n'est pas
> faisable et d'autres qui me font penser le contraire.
> Toute aide sera la bienvenue.
> Merci par avance.





Avatar
Paul Bacelar
Je ne suis pas administrateur, malheureusement, mais il me parait très
probable que votre stratégie de délégation doit être au niveau du contrôleur
de domaine, car votre client n'est connu de votre serveur de base de données
qu'a travers AD.

Désolé de ne pas plus vous aider :-(
--
Paul Bacelar


"David" wrote in message
news:
Bonjour,
Pour commencer, un grand MERCI pour votre réponse.
Il se trouve que je dois également assumer momentanément la fonction


d'amin
système et d'après les recherches que j'ai pu faire ce matin suite à votre
réponse, j'ai trouvé 1 stratégie locale qui me semble correspondre à ce


que
vous m'indiquez : "Autoriser que l'on fasse confiance aux comptes


ordinateurs
et utilisateur pour la délégation".
Est-ce que cela correspond à vos indications ? Si oui, à quel niveau


dois-je
modifier cette stratégie ? Sur mon controlleur de domaine ? Sur mon PC
Windows XP où IIS est installé ?
Bien que cela sorte des compétences de ce forum, pouvez-vous me conseiller
sur ce que je dois faire ?
Merci par avance.

"Paul Bacelar" a écrit :

> Votre problème a un nom, la délégation d'identité.
>
> Il faut que votre IIS ait le droit d'agir avec les mêmes prérogatives


que la
> personne qui a fais la requête HTTP sur l'ensemble du domaine.
>
> L'authentification Windows permet de changer l'identité du thread qui


répond
> à la requête HTTP mais ne permet pas, par défaut, d'avoir les mêmes


droits
> sur l'ensemble du réseau.
>
> Demander à votre administrateur système si votre AD utilise Kerberos et
> qu'il est configuré pour permettre la délégation d'identité.
> --
> Paul Bacelar
>
>
> "David" wrote in message
> news:
> > Bonsoir,
> > Je découvre le monde ASP.NET et je rencontre le problème suivant.
> > J'ai un serveur Microsoft SQL 2000 sur lequel se trouve une base de
> données X.
> > Je développe sur un PC sous Win XP pour l'instant sur laquelle j'ai
> installé
> > et configuré IIS 5.1 pour tester mes programmes. Sur ce même PC de
> > développement j'ai SQL Serveur d'installé.
> > J'ai configuré mon fichier Web.config pour permettre une


authentification
> > Windows via AD. (Le serveur SQL et mon PC de développement sont dans


le
> même
> > domaine AD)
> > Quand j'essaye d'accéder à une base de test sur mon PC de


développement,
> > tout fonctionne correctement. Je me connecte sur ma base SQL "locale"


avec
> > l'utilisateur que j'ai utilisé pour me connecter.
> > Par contre si j'essaye de me connecter sur une base SQL sur mon


serveur
> SQL
> > "distant" alors là j'ai une erreur de connexion qui m'indique que je


me
> > connecte en Anonymous.
> > Le serveur SQL et mon PC sont tous 2 sur le même réseau et sur le même
> > domaine AD. Pourquoi, dès que la connexion SQL s'établie sur un


serveur
> autre
> > que le serveur de connexion IIS, j'ai ce problème ?
> > Y-a-t-il un moyen de me connecter sur ma base distante tout en gardant


le
> > bénéfice de mon authentification de départ ?
> > J'ai lu des articles dans le MSDN qui me laissent penser que ce n'est


pas
> > faisable et d'autres qui me font penser le contraire.
> > Toute aide sera la bienvenue.
> > Merci par avance.
>
>
>