Partager via


identity, élément (Schéma des paramètres ASP.NET)

Mise à jour : novembre 2007

Configure l'identité de l'application Web. Cet élément peut être déclaré à tout niveau dans la hiérarchie des fichiers de configuration.

Remarque :

Cette syntaxe d'exemple inclut un mot de passe afin de démontrer le fonctionnement de la syntaxe. Dans vos applications, nous vous recommandons d'utiliser une application de mot de passe sécurisée.

<configuration>, élément
  system.web, élément (Schéma des paramètres ASP.NET)
    identity, élément (Schéma des paramètres ASP.NET)

<identity impersonate="true|false" 
          userName="domain\username"
          password="<secure password>"/>

Attributs et éléments

Les sections suivantes décrivent des attributs, des éléments enfants et des éléments parents.

Attributs

Attribut

Description

Impersonate

Attribut requis.

Spécifie si l'emprunt d'identité du client est utilisé à chaque demande.

Cet attribut peut avoir l'une des valeurs suivantes :

Valeur

Description

false

Spécifie que l'emprunt d'identité du client n'est pas utilisé.

true

Spécifie que l'emprunt d'identité du client est utilisé.

Password

Attribut facultatif.

Spécifie le mot de passe à utiliser, si l'attribut impersonate a la valeur true.

Pour plus d'informations sur le stockage des informations d'identification des processus de travail chiffrées dans le Registre, consultez l'attribut userName.

userName

Attribut facultatif.

Spécifie le nom d'utilisateur à utiliser, si l'attribut impersonate a la valeur true.

Cet attribut et l'attribut password sont stockés en texte clair dans le fichier de configuration. Même si Microsoft Internet Information Services (IIS) ne transmet pas les fichiers .config en réponse à une demande d'agent utilisateur, il est toujours possible de lire ces fichiers .config par d'autres moyens. Par exemple, un utilisateur authentifié avec les informations d'identification correctes sur le domaine dont le serveur fait partie peut lire ces fichiers. Pour des raisons de sécurité, l'attribut identity prend en charge le stockage des attributs userName et password chiffrés dans le Registre. Les informations d'identification doivent être au format REG_BINARY et chiffrées par les fonctions de chiffrement DPAPI (Data Protection API) de Windows 2000 et Windows XP.

Pour plus d'informations, consultez les sections « Remarques » et « Exemples », plus loin dans cette rubrique.

Éléments enfants

Aucun.

Éléments parents

Élément

Description

configuration

Spécifie l'élément racine dans chaque fichier de configuration utilisé par le Common Language Runtime et les applications .NET Framework.

system.web

Spécifie l'élément racine de la section de configuration ASP.NET.

Notes

Pour chiffrer le nom d'utilisateur et le mot de passe et les stocker dans le Registre, définissez les attributs userName et password de la façon suivante.

userName="registry:HKLM\Software\AspNetProcess,Name"password="registry:HKLM\Software\AspNetProcess,Pwd"

La portion de la chaîne située après le mot clé registry et avant la virgule indique le nom de la clé de Registre ouverte par ASP.NET. La partie qui suit la virgule contient un nom de valeur de chaîne unique à partir duquel ASP.NET lit les informations d'identification. La virgule est obligatoire et les informations d'identification doivent être stockées dans la ruche HKLM. Si le format de configuration n'est pas correct, ASP.NET ne lancera pas le processus de travail et suivra le chemin de code d'échec de création de compte actif.

Les informations d'identification doivent être au format REG_BINARY et contenir la sortie d'un appel à la fonction API Windows CryptProtectData. Vous pouvez créer les informations d'identification chiffrées et les stocker dans le Registre avec Aspnet_setreg.exe, qui utilise CryptProtectData pour les chiffrer. Pour télécharger Aspnet_setreg.exe ainsi que le code source et la documentation Microsoft Visual C++, visitez le site Web ASP.NET et recherchez aspnet_setreg.

Vous devez configurer l'accès à la clé qui stocke les informations d'identification chiffrées afin que seuls les administrateurs et SYSTEM bénéficient d'un accès. Dans la mesure où la clé sera lue par le processus ASP.NET exécuté sous le compte SYSTEM, vous devez définir les autorisations suivantes :

  • Administrators:F

  • SYSTEM:F

  • CREATOR OWNER:F

  • ProcessAccount:R

Ces autorisations fournissent deux lignes de défense permettant de protéger les données :

  • Les autorisations de liste de contrôle d'accès (ACL) exigent que l'identité accédant aux données soit un administrateur.

  • Un intrus doit exécuter du code sur le serveur (API CryptUnprotectData) pour récupérer les informations d'identification du compte.

Configuration par défaut

L'élément identity par défaut n'est pas configuré explicitement dans le fichier Machine.config ou dans le fichier Web.config racine. Toutefois, il s'agit de la configuration par défaut retournée par l'application.

<identity impersonate="false" userName="" password="" />

Informations sur les éléments

Gestionnaire de section de configuration

System.Web.Configuration.IdentitySection

Membre de configuration

SystemWebSectionGroup.Identity

Emplacements configurables

Machine.config

Web.config racine

Web.config au niveau de l'application

Web.config de niveau répertoire virtuel ou physique

Configuration requise

Microsoft Internet Information Services (IIS) 5.0, 5.1 ou 6.0

.NET Framework version 1.0, 1.1 ou 2.0

Microsoft Visual Studio 2003 ou Visual Studio 2005

Voir aussi

Tâches

Comment : verrouiller des paramètres de configuration ASP.NET

Concepts

Vue d'ensemble de la configuration ASP.NET

Fonctionnalités des contrôles serveur Web ASP.NET et du navigateur

Sécurisation de la configuration ASP.NET

Scénarios de configuration ASP.NET

Référence

system.web, élément (Schéma des paramètres ASP.NET)

<configuration>, élément

System.Configuration

System.Web.Configuration

Autres ressources

Fichiers de configuration ASP.NET

Paramètres de configuration ASP.NET

Paramètres généraux de configuration (ASP.NET)

API de configuration ASP.NET