Comment : accéder à SQL Server à l'aide d'un utilisateur de domaine Windows mappé
Mise à jour : novembre 2007
Par défaut, dans Microsoft Windows 2000 et Microsoft Windows XP, les applications ASP.NET s'exécutent dans le contexte du compte d'utilisateur local nommé ASPNET, et, dans Windows Server 2003, dans le contexte du compte d'utilisateur local nommé SERVICE RÉSEAU. Ces comptes d'utilisateur disposent de droits limités. Toutefois, le compte ASPNET est local par rapport au serveur Web. Étant donné que le compte ASPNET est local par rapport au serveur Web, il n'est pas reconnu comme utilisateur sur les ordinateurs distants. Pour contourner cette limitation, vous pouvez exécuter votre application dans le contexte d'un utilisateur de domaine Windows, reconnu à la fois sur le serveur Web et sur l'ordinateur exécutant Microsoft SQL Server.
Le mappage du processus de votre application à un compte d'utilisateur de domaine Windows requiert la configuration des processus suivants :
Serveur Web.
Vous devez vous assurer que le compte d'utilisateur de domaine Windows que vous spécifiez a des droits de l'utilisateur suffisants (mais pas plus) pour exécuter une application Web.
Votre application.
Vous devez configurer le fichier Web.config pour qu'ASP.NET reconnaisse le nom du compte d'utilisateur du domaine.
Remarque : Pour plus d'informations sur les fichiers Machine.config et Web.config, consultez Vue d'ensemble de la configuration ASP.NET.
Chaîne de connexion.
Lorsque vous créez des chaînes de connexion pour les objets de connexion de votre application, vous devez spécifier que les chaînes de connexion utiliseront la sécurité intégrée de Windows.
SQL Server.
Vous devez ajouter le compte d'utilisateur du domaine spécifié comme utilisateur connecté à SQL Server.
Configuration d'un compte d'utilisateur sur le serveur Web
Pour définir les droits de l'utilisateur pour le compte de l'utilisateur de domaine Windows
Sur le serveur Web, utilisez les outils d'administration Windows pour vérifier que le compte d'utilisateur de domaine Windows mappé a les droits de l'utilisateur requis.
Pour plus d'informations, consultez Listes de contrôle d'accès requis par ASP.NET.
Exécutez aspnet_regiis.exe avec -ga pour accorder les droits courants de l'utilisateur requis par l'identité que vous utiliserez pour l'emprunt d'identité de l'application.
Mappage au compte d'utilisateur Windows et activation de l'emprunt d'identité
Après avoir établi les droits de l'utilisateur corrects pour le compte d'utilisateur du domaine, configurez l'emprunt d'identité de l'application.
Note de sécurité : |
---|
Le fait de placer des informations d'authentification utilisateur dans votre fichier Web.config constitue une menace potentielle pour la sécurité. En effet, les utilisateurs qui disposent de droits d'accès au répertoire contenant le fichier Web.config peuvent lire le fichier, et donc consulter les informations d'authentification. Pour plus d'informations sur la façon de se protéger contre ce type de menace, consultez Chiffrement des informations de configuration à l'aide de la configuration protégée. |
Pour configurer l'application Web en vue de l'emprunt d'identité
Ouvrez le fichier Web.config de votre application et ajoutez le code d'emprunt d'identité suivant :
<identity impersonate="true" userName="domain\username" password="********"/>
Remplacez la valeur répertoriée dans l'exemple précédent par le mot de passe correct.
Remarque : Les éléments contenus dans le fichier Web.config respectent la casse.
Utilisation de la sécurité de Windows dans la chaîne de connexion
Lorsque vous créez des chaînes de connexion pour l'accès aux bases de données, configurez-les pour utiliser la sécurité intégrée de Windows.
Pour utiliser la sécurité intégrée de Windows dans une chaîne de connexion
Lorsque vous créez une chaîne de connexion pour votre application, n'incluez pas de nom d'utilisateur ni de mot de passe. Pour la chaîne de connexion, vous pouvez également affecter la valeur SSPI à l'attribut Integrated Security.
L'exemple suivant montre une chaîne de connexion qui inclut les attributs appropriés :
data source=myserver;initial catalog=northwind;Integrated Security=SSPI
Pour configurer SQL Server pour la sécurité intégrée
Dans Windows, cliquez sur Démarrer, pointez sur Microsoft SQL Server puis cliquez sur Enterprise Manager.
Développez le nœud du serveur, puis le nœud de la base de données à laquelle vous souhaitez accorder des droits de l'utilisateur.
Cliquez avec le bouton droit sur Utilisateurs, puis cliquez sur Nouvel utilisateur de base de données.
Dans la boîte de dialogue Propriétés d'utilisateur de base de données, sous Nom de connexion, entrez domaine\nomutilisateur, puis cliquez sur OK.