Comment faire pour configurer une application ASP.NET pour un scénario de délégation

Traductions disponibles Traductions disponibles
Numéro d'article: 810572 - Voir les produits auxquels s'applique cet article
Agrandir tout | Réduire tout

Sommaire

Résumé

Cet article décrit étape par étape comment configurer Internet Information Services (IIS) et Active Directory pour la délégation d'applications ASP.NET. La délégation se déroule après l'emprunt d'identité. La délégation permet d'accéder à des ressources distantes pour le compte du client plutôt que d'accéder uniquement à des ressources locales. Cet article décrit les étapes à suivre pour déléguer une application connectée avec ASP.NET.


Conditions requises pour la délégation

La délégation repose sur l'authentification Windows intégrée pour accéder à des ressources. Le nombre d'ordinateurs auxquels vous pouvez déléguer votre compte n'est pas limité ; vous devez configurer correctement chacun d'eux. L'authentification Windows intégrée ne fonctionne que si les deux conditions suivantes sont remplies 
  • Configurez votre réseau pour utiliser le protocole d'authentification Kerberos qui nécessite Active Directory.
  • Configurez les ordinateurs et les comptes de votre réseau comme étant approuvés pour la délégation.
Si ces conditions ne sont pas remplies, vous ne pouvez pas utiliser l'authentification Windows intégrée pour accéder à des données sur une ressource distante, parce que cette authentification ne donne accès qu'au serveur IIS et non pas au ressources supplémentaires configurées pour l'authentification Windows à laquelle le serveur IIS accède de façon distante.

L'authentification Kerberos authentifie le serveur et le client, alors que la Stimulation/Réponse de Windows NT (NTLM) n'authentifie que le client. Les systèmes d'exploitation antérieurs à Windows 2000 ne prennent pas en charge l'authentification Kerberos. Kerberos nécessite l'utilisation de IIS 5.0 ou d'une version ultérieure. En conséquence, vous devez exécuter Windows 2000 ou un système d'exploitation plus récent sur tous les ordinateurs où vous utilisez la délégation Kerberos. De plus, vous devez mettre tous les ordinateurs dans la même forêt Active Directory. Seules les versions Microsoft Internet Explorer 5.0 et ultérieures prennent Kerberos en charge. Pour plus d'informations, cliquez sur le numéro ci-dessous pour afficher l'article correspondant dans la Base de connaissances Microsoft.
217098 Vue d'ensemble du protocole d'authentification d'utilisateur Kerberos dans Windows 2000


Configuration d'Internet Explorer pour la délégation

Avec les versions 5.0 ou ultérieures, vous pouvez configurer Internet Explorer pour une délégation IIS ASP.NET. Pour cela, procédez comme suit :
  1. Démarrez Internet Explorer. Dans la barre de menus, cliquez sur Outils, puis cliquez sur Options Internet.
  2. Cliquez sur l'onglet Avancé, puis activez la case à cocher Activer l'authentification intégrée de Windows (nécessite un redémarrage).

    Ce paramètre permet à Internet Explorer de répondre à une stimulation de négociation puis d'exécuter une authentification Kerberos. Comme cette fonctionnalité nécessite Windows 2000 ou une version ultérieure, quand Internet Explorer ne s'exécute pas sur un système d'exploitation Windows 2000 ou une version ultérieure, il ne répond pas à une stimulation de négociation. Par défaut, Internet Explorer utilise l'authentification NTLM, même si vous activez la case à cocher Activer l'authentification intégrée de Windows (nécessite un redémarrage).

    Avertissement Toute modification incorrecte du Registre à l'aide de l'Éditeur du Registre ou d'une autre méthode peut entraîner des problèmes sérieux. Ces problèmes peuvent vous obliger à réinstaller votre système d'exploitation. Microsoft ne peut pas garantir que ces problèmes puissent être résolus. Vous assumez l'ensemble des risques liés à la modification du Registre.

  3. Remarque Sur des ordinateurs fonctionnant avec Microsoft Windows 2000 et des versions ultérieures, les administrateurs peuvent donner la valeur 1 à l'entrée REG_DWORD EnableNegotiate dans la clé de Registre suivante pour activer l'authentification Windows intégrée :
    HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Internet Settings
    .
  4. Dans certains cas, Kerberos peut échouer sur le client Internet Explorer. Pour plus d'informations sur les problèmes liés à l'authentification Kerberos, cliquez sur les numéros ci-dessous pour afficher les articles correspondants dans la Base de connaissances Microsoft.
    321728 Internet Explorer ne prend pas en charge l'authentification Kerberos sur des serveurs proxy
    325608 La délégation d'authentification avec Kerberos ne fonctionne pas dans des architectures à charge équilibrée
    248350 L'authentification Kerberos échoue après une mise à niveau d'IIS 4.0 vers IIS 5.0
    264921 Comment IIS authentifie les clients Navigateur

Configuration d'IIS pour la délégation

Pour activer l'authentification Windows intégrée et l'emprunt d'identité pour une application connectée avec ASP.NET, vous devez configurer Internet Information Services (IIS). Pour configurer l'authentification Windows dans IIS, procédez comme suit :
  1. Cliquez sur Démarrer, puis sur Exécuter, tapez inetmgr, puis cliquez sur OK.
  2. Développez ordinateur local, puis développez Sites Web.
  3. Cliquez avec le bouton droit sur Site Web par défaut, puis cliquez sur Propriétés.
  4. Cliquez sur l'onglet Sécurité de répertoire, puis sur Modifier sous Connexions anonymes et contrôle d'authentification.
  5. Activez la case à cocher Authentification Windows intégrée, puis désactivez les cases à cocher Accès anonyme, Authentification Digest pour les serveurs de domaine Windows et Authentification de base.

    Remarque Si l'authentification anonyme est activée, IIS tentera toujours de l?utiliser en premier, même si d'autres méthodes sont activées.

    Si l'authentification anonyme, l'authentification Windows intégrée et l'authentification de base sont toutes sélectionnées, l'authentification Windows intégrée a priorité sur l'authentification de base, après l'authentification anonyme.

Configuration d'ASP.NET pour la délégation

  1. Dans un éditeur de texte tel que le Bloc-notes, ouvrez un fichier Web.config. Le fichier Web.config se trouve dans le dossier de l'application Web.
  2. Dans le fichier Web.config, cherchez les informations suivantes dans la section <configuration> :
    <allow users="*" /> 
    <deny users="?" />
  3. Sous la section <System.web>, vérifiez que l'élément d'authentification est défini sur Windows comme suit :
    <authentication mode="Windows" />
  4. Sous la section <System.web>, ajoutez l'élément suivant pour l'emprunt d'identité :
    <identity impersonate="true" />
  5. Pour plus d'informations, cliquez sur les numéros ci-dessous pour afficher les articles correspondants dans la Base de connaissances Microsoft.
    306158 Comment faire pour implémenter l'emprunt d'identité dans une application ASP.NET
    317012 Identité du processus et de la demande dans ASP.NET
    315736COMMENT FAIRE : Sécuriser une application ASP.NET à l'aide de la sécurité Windows

Configuration d'Active Directory pour la délégation

La délégation doit être activée sur tous les ordinateurs avec des informations d'identification de délégué. Elle peut être configurée dans les outils Active Directory.

Pour plus d'informations, reportez-vous au site Web de Microsoft aux adresses suivantes :
Approbation d'un ordinateur pour la délégation
http://technet2.microsoft.com/windowsserver/en/library/b207ee9c-a055-43f7-b9be-20599b694a311033.mspx (en anglais)
Comptes d'utilisateur et d'ordinateur
http://technet2.microsoft.com/windowsserver/en/library/91a98c38-38c5-49dc-83bf-e69d8e1dbbfa1033.mspx (en anglais)
Le processus IIS principal, InetInfo.exe, est un service qui fonctionne sous le compte LocalSystem et qui effectue les opérations suivantes :
  • il prend la requête du client ;
  • il emprunte l'identité de l'utilisateur ;
  • il effectue les tâches appropriées ;
  • il revient à l'identité du processus. C'est-à-dire LocalSystem.
Si vous exécutez InetInfo.exe sous un compte différent de LocalSystem, vous devez vérifier que ce compte peut agir en tant que délégué. Dans ce cas, ne configurez pas l'ordinateur pour la délégation.

Résolution des problèmes

  1. Si le nom du serveur Web que vous utilisez dans l'URL pour appeler la page ASP.NET n'est pas le nom NetBIOS de l'ordinateur IIS, l'authentification intégrée risque d'échouer avec l'erreur 401.3. Pour résoudre ce problème, enregistrez un nouveau nom principal de service pour l'ordinateur à l'aide de l'utilitaire SetSPN.exe. Pour plus d'informations, cliquez sur le numéro ci-dessous pour afficher l'article correspondant dans la Base de connaissances Microsoft.
    294382 L'authentification peut échouer avec l'erreur « 401.3 » si « l'En-tête d'hôte » du site Web diffère du nom NetBIOS du serveur
  2. Kerberos ne fonctionne pas dans une architecture à charge équilibrée et IIS revient à l'authentification NTLM. Comme vous ne pouvez pas utiliser NTLM pour la délégation, les applications ou les services qui nécessitent la délégation ne fonctionnent pas. Pour plus d'informations, cliquez sur le numéro ci-dessous pour afficher l'article correspondant dans la Base de connaissances Microsoft.
    325608 La délégation d'authentification avec Kerberos ne fonctionne pas dans des architectures à charge équilibrée
  3. Pour que Kerberos fonctionne correctement, vous devez utiliser des noms de domaines complets (FQDN) pour toutes les communications.
  4. Quand vous utilisez Internet Explorer sur un client Windows 2000 puis accédez à un site Web où le nom d'en-tête d'hôte est différent du nom NetBIOS de l'ordinateur, l'authentification intégrée peut échouer avec l'erreur 401.3. Notez que les clients Internet Explorer qui utilisent Windows NT 4, Windows 98 ou Windows 95 n'échouent pas. D'autres schémas d'authentification fonctionnent également.
  5. Si le serveur Web utilise un nom de domaine complet, vous devez ajouter le site à la liste des sites Intranet dans Internet Explorer. Pour vérifier que le serveur Web utilise un nom de domaine complet, procédez comme suit :
    1. Démarrez Internet Explorer.
    2. Dans le menu Outils, cliquez sur Options Internet, puis sur l'onglet Sécurité.
    3. Sélectionnez Intranet local. Cliquez sur Sites.
    4. Cliquez sur Avancé, puis tapez l'adresse Web dans la boîte de dialogue Ajouter ce site Web à la zone. Cliquez sur Ajouter, puis sur OK.
  6. Si le client Internet Explorer est configuré pour utiliser un serveur proxy, vous devez activer la case à cocher Ne pas utiliser de serveur proxy pour les adresses locales. Pour vérifier que le client Internet Explorer est configuré pour utiliser un serveur proxy, procédez comme suit :
    1. Démarrez Internet Explorer.
    2. Dans le menu Outils, cliquez sur Options Internet, puis sur l'onglet Connexions.
    3. Cliquez sur Paramètres réseau. Sous Serveur Proxy, vérifiez que la case à cocher Ne pas utiliser de serveur proxy pour les adresses locales est activée.
  7. Pour accéder à un serveur SQL à partir d'une application connectée avec ASP.NET, vous devez utiliser TCP/IP. Les canaux nommés ne prennent pas en charge la délégation Kerberos. Les canaux nommés n'utilisent que NTLM. Pour cela, ajoutez l'attribut suivant à la chaîne de connexion :
    "Network Library =dbmssocn"
    Si vous ne définissez pas explicitement la bibliothèque réseau, NTLM prend la définition de la première bibliothèque dans l'utilitaire de configuration du client (Cliconfg.exe). La valeur par défaut est passée des canaux nommés à TCP/IP dans Microsoft Data Access Components (MDAC) 2.6.
    Pour plus d'informations, cliquez sur les numéros ci-dessous pour afficher les articles correspondants dans la Base de connaissances Microsoft.
    315159 BOGUE : Les canaux nommés ne fonctionnent pas quand le processus de traitement s'exécute sous un compte ASPNET
    176377 Accès à SQL Server avec sécurité intégrée à partir d'ASP
    176379Comment faire pour installer IIS et SQL Server sur des ordinateurs séparés avec une connexion approuvée
    247931 Méthodes d'authentification des connexions à SQL Server dans des pages ASP

Références

Pour plus d'informations sur la conception d'applications Web plus sécurisées et sur les scénarios de délégation, reportez-vous au site Web de Microsoft Developper Network (MSDN) à l'adresse suivante :
http://msdn2.microsoft.com/fr-fr/library/aa302415.aspx (en anglais)
Pour plus d'informations sur la conception d'applications Web sécurisées, consultez le document suivant :
Designing Secure Web-Based Applications
Microsoft Press
Michael Howard, Marc Levy, Richard Waymire
ISBN 0-7356-0995-0 (en anglais uniquement)

Propriétés

Numéro d'article: 810572 - Dernière mise à jour: mardi 4 décembre 2007 - Version: 8.4
Les informations contenues dans cet article s'appliquent au(x) produit(s) suivant(s):
  • Microsoft ASP.NET 1.1
  • Microsoft ASP.NET 1.0
  • Microsoft Internet Information Services 5.0
  • Microsoft Internet Information Services 6.0
Mots-clés : 
kbauthentication kbwebforms kbdomain kbclient kbconfig kbwebserver kbhowtomaster kbhowto KB810572
L'INFORMATION CONTENUE DANS CE DOCUMENT EST FOURNIE PAR MICROSOFT SANS GARANTIE D'AUCUNE SORTE, EXPLICITE OU IMPLICITE. L'UTILISATEUR ASSUME LE RISQUE DE L'UTILISATION DU CONTENU DE CE DOCUMENT. CE DOCUMENT NE PEUT ETRE REVENDU OU CEDE EN ECHANGE D'UN QUELCONQUE PROFIT.

Envoyer des commentaires

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com