Partager via


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

Mise à jour : novembre 2007

Configure le niveau de sécurité d'accès du code (CAS) appliqué à une application. Utilisez cet élément si vous souhaitez exécuter une application Web avec une confiance inférieure à Full.

configuration, élément (Schéma des paramètres généraux)
  system.web, élément (Schéma des paramètres ASP.NET)
    trust, élément (Schéma des paramètres ASP.NET)

<trust 
   level="[Full|High|Medium|Low|Minimal]" 
   originUrl="URL"
   processRequestInApplicationTrust = "[True|False]" 
/>

Attributs et éléments

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

Attributs

Attribut

Description

level

Attribut String requis.

Spécifie le niveau de confiance sous lequel l'application sera exécutée. Chaque niveau de confiance est mappé à un fichier de stratégie XML individuel à l'aide d'un élément trustLevel dans le fichier de configuration. Le fichier de stratégie répertorie le jeu d'autorisations accordé par chaque niveau de confiance. Pour plus d'informations sur ASP.NET et les fichiers de stratégie, consultez Fichiers de stratégie et niveaux de confiance ASP.NET.

Cet attribut peut être une valeur définie par l'utilisateur, s'il existe un mappage de stratégie de sécurité correspondant défini dans un élément trustLevel de l'élément securityPolicy, élément (Schéma des paramètres ASP.NET) ou alors une des valeurs possibles suivantes, par ordre croissant de restriction.

Valeur

Description

Full

Spécifie des autorisations sans restriction. Accorde les autorisations d'application ASP.NET permettant d'accéder à toute ressource qui est soumise à la sécurité de système d'exploitation. Toutes les opérations privilégiées sont prises en charge. Ce paramètre est appelé Unrestricted dans l'énumération AspNetHostingPermissionLevel.

High

Spécifie un niveau de sécurité d'accès du code élevé, ce qui signifie que l'application ne peut pas effectuer les actions suivantes par défaut :

  • Appeler un code non managé.

  • Appeler des composants pris en charge.

  • Écrire dans le journal des événements.

  • Accéder aux files d'attente Microsoft Message Queuing.

  • Accéder aux sources de données Oracle, ODBC, OLEDB.

Medium

Spécifie un niveau de sécurité d'accès du code moyen, ce qui signifie qu'en plus des restrictions associées au niveau High, l'application ASP.NET ne peut pas effectuer les actions suivantes par défaut :

  • Accéder aux fichiers qui ne figurent pas dans le répertoire de l'application.

  • Accéder au Registre.

  • Effectuer des appels à un service Web ou réseau (à l'aide de la classe System.Net.HttpWebRequest, par exemple).

Low

Spécifie un niveau de sécurité d'accès du code faible, ce qui signifie qu'en plus des restrictions associées au niveau Medium, l'application ASP.NET ne peut pas effectuer les actions suivantes par défaut :

  • Écrire dans le système de fichiers.

  • Appelez la méthode Assert.

Minimal

Spécifie un niveau de sécurité d'accès du code minimal, ce qui signifie que l'application possède uniquement des autorisations Exécuter.

(La valeur par défaut est Full (aucune restriction).

originUrl

Attribut String facultatif.

Spécifie une URL à utiliser avec l'autorisation WebPermission limitée qui est configurée au niveau de confiance moyen. Si elle est spécifiée, elle peut être utilisée pour certaines classes, telles que HttpWebRequest, qui permettent de se connecter uniquement à des URL spécifiques, définies par une autorisation WebPermission. Les autorisations reposant sur une notion d'hôte peuvent ainsi fonctionner correctement.

processRequestInApplicationTrust

Attribut Boolean facultatif.

Spécifie si les demandes de page sont automatiquement limitées aux autorisations qui sont configurées dans le fichier de stratégie de confiance qui est appliqué à l'application ASP.NET.

Les fichiers de stratégie de confiance sont spécifiés dans des éléments trustLevel de l'élément securityPolicy. Une stratégie de confiance unique est appliquée à une application ASP.NET à l'aide de l'attribut level de l'élément trust.

Si la valeur est False, les demandes ASP.NET peuvent être éventuellement exécutées avec une confiance Full, même si l'attribut level spécifie un niveau de confiance différent. À moins que cela soit justifié, conservez à cet attribut la valeur par défaut true.

Cet attribut est une nouveauté de la version 2.0 du .NET Framework.

La valeur par défaut est True.

Éléments enfants

Aucun.

Éléments parents

Élément

Description

configuration

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

system.web

Spécifie l'élément racine des paramètres de configuration ASP.NET dans un fichier de configuration et contient des éléments de configuration qui configurent des applications Web ASP.NET et contrôlent le comportement des applications.

Notes

L'élément trust configure le niveau de sécurité d'accès du code (CAS, Code Access Security) appliqué à une application. Les fichiers de stratégie de sécurité sont mappés à des noms de niveaux de confiance dans l'élément de collection securityPolicy. Le fichier de stratégie indique le jeu d'autorisations accordé par chaque niveau de confiance. L'élément trust spécifie quel niveau de confiance appliquer à l'application ASP.NET. Pour plus d'informations sur ASP.NET et les fichiers de stratégie, consultez Fichiers de stratégie et niveaux de confiance ASP.NET.

Par défaut, les applications Web sont exécutées avec le niveau de confiance Full. Des autorisations d'accès au code sans restriction sont accordées aux applications ayant un niveau de confiance total par la stratégie de sécurité d'accès du code. Ces autorisations incluent des autorisations système et personnalisées intégrées. Cela signifie que la sécurité d'accès du code n'empêchera pas votre application d'accéder à des ressources sécurisées. La réussite ou l'échec de la tentative de l'accès à la ressource est déterminé purement par la sécurité au niveau du système d'exploitation. Si une application est configurée avec un niveau de confiance autre que Full, elle est désignée comme application de confiance partielle. Les applications de confiance partielle possèdent des autorisations restreintes, qui limitent l'accès aux ressources sécurisées de l'application.

Pour améliorer la sécurité dans un environnement hébergé, utilisez l'élément location dans le fichier Web.config racine pour contenir les éléments securityPolicy et trust des applications hébergées, et l'attribut allowOverride="False" pour empêcher les applications de substituer les paramètres d'un fichier Web.config local. Vous pouvez utiliser éventuellement plusieurs éléments d'emplacement, chacun avec un attribut de chemin d'accès distinct, si vous souhaitez configurer différents niveaux de confiance pour des applications hébergées différentes. Pour obtenir un exemple de ce type de configuration, consultez la section « Exemple », plus loin dans cette rubrique.

Remarque :

Les applications Web reposant sur le .NET Framework version 1.0 sont toujours exécutées avec le niveau de confiance Full car les types System.Web exigent des appelants bénéficiant d'une confiance totale. Lors de la mise à niveau vers une version plus récente du .NET Framework, ne modifiez pas le niveau de confiance sans tester les applications existantes.

Configuration par défaut

L'élément trust par défaut suivant est configuré dans le fichier Web.config racine.

<location allowOverride="true">
<system.web>
   <securityPolicy>
      <trustLevel name="Full" policyFile="internal" />
      <trustLevel name="High" policyFile="web_hightrust.config" />
      <trustLevel name="Medium" policyFile="web_mediumtrust.config" />
      <trustLevel name="Low" policyFile="web_lowtrust.config" />
      <trustLevel name="Minimal" policyFile="web_minimaltrust.config"/>
   </securityPolicy>
   <trust 
      level="Full" 
      originUrl="" 
      processRequestInApplicationTrust="true" 
   />
</system.web>
</location>

Exemple

L'exemple de code suivant montre comment utiliser un fichier Web.config racine pour spécifier des paramètres de niveau de confiance Medium pour toutes les applications ASP.NET hébergées sur le serveur et l'élément location pour verrouiller les paramètres. Un autre élément location du même fichier de configuration est utilisé pour permettre au fichier Web.config de l'application Default Web Site/Temp de substituer les paramètres du fichier Web.config racine.

<location allowOverride="false">
  <system.web>
    <securityPolicy>
      <trustLevel name="Full" policyFile="internal" />
      <trustLevel name="High" policyFile="web_hightrust.config" />
      <trustLevel name="Medium" policyFile="web_mediumtrust.config" />
      <trustLevel name="Low"  policyFile="web_lowtrust.config" />
      <trustLevel name="Minimal" policyFile="web_minimaltrust.config"/>
    </securityPolicy>
  </system.web>
</location>

<location allowOverride="false">
  <system.web>
    <trust level="Medium" originUrl="" />
  </system.web>
</location>

<location allowOverride="true" path="Default Web Site/Temp">
  <system.web>
    <trust level="Medium" originUrl="" />
  </system.web>
</location>

Informations sur les éléments

Gestionnaire de section de configuration

TrustSection

Membre de configuration

AspNetHostingPermission

Emplacements configurables

Machine.config

Web.config racine

Web.config au niveau de l'application

Configuration requise

Microsoft Internet Information Services (IIS) version 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 : configurer des répertoires spécifiques à l'aide des paramètres d'emplacement

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

Concepts

Fichiers de stratégie et niveaux de confiance ASP.NET

Fichiers de stratégie et niveaux de confiance ASP.NET

Administration de la stratégie de sécurité

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 (Schéma des paramètres généraux)

trustLevel, élément de securityPolicy (Schéma des paramètres ASP.NET)

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

System.Configuration

System.Net.Configuration

TrustSection

AspNetHostingPermission

Autres ressources

Sécurité des applications Web ASP.NET

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

Paramètres de configuration ASP.NET

Administration de sites Web ASP.NET

Fichiers de configuration ASP.NET

API de configuration ASP.NET