Partager via


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

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.

<trust 
   hostSecurityPolicyResolverType ="security policy resolution type"
   legacyCasModel = "[True|False]"
   level="[Full|High|Medium|Low|Minimal]" 
   originUrl="URL"
   permissionSetName = "name of the permission set"
   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

hostSecurityPolicyResolverType

Attribut de chaîne facultatif.

Spécifie un type de résolution de la stratégie de sécurité personnalisé. Lorsque cet attribut a pour valeur une chaîne vide, ASP.NET utilise la stratégie par défaut pour déterminer les autorisations d'un assembly. La stratégie par défaut pour l'évaluation d'autorisations accorde une confiance totale aux assemblys Global Assembly Cache (GAC) et une confiance partielle aux autres assemblys.

Cet attribut ne peut pas avoir pour valeur une valeur null.

La valeur par défaut est un string vide.

legacyCasModel

Attribut boléen facultatif.

Spécifie si la sécurité d'accès du code héritée (CAS) est activée.

Lorsque la sécurité d'accès du code héritée est activée, les règles de sécurité suivantes s'appliquent :

  • La stratégie de sécurité d'accès du code (CAS) est établie à partir de la combinaison de la stratégie de l'ordinateur et du fichier de stratégie de confiance partielle d'ASP.NET.

  • Les domaines d'application de confiance partielle sont restaurés en confiance totale au niveau du domaine d'application.

  • Les fichiers de confiance partielle hérités dans le répertoire de configuration du répertoire d'installation .NET Framework sont utilisés au lieu des nouveaux fichiers de configuration de confiance partielle situés dans le même répertoire. Les fichiers hérités incluent les conditions d'appartenance trouvées dans le .NET Framework version 1.1 ou le .NET Framework 2.0 SP1.

  • Conditions d'appartenance supplémentaires pour évaluer l'application des permissions. Ces conditions sont définies dans les fichiers de confiance partielle ASP.NET. Le répertoire CONFIG fourni avec la version finale du .NET Framework 4 contient des fichiers de stratégie de confiance partielle hérités. Ces fichiers ont legacy dans leur nom et contiennent les sections .NET Framework 2.0 SP1. Ces sections contiennent des conditions d'appartenance non vides nécessaires à l'évaluation de la stratégie CAS avec des assemblys.

  • Si l'application ASP.NET s'exécute dans confiance partielle et le fichier de stratégie de sécurité pour les plans de niveau de confiance à l'un des fichiers de configuration de confiance partielle par défaut, ASP.NET choisit automatiquement le fichier de configuration hérité correspondant. Par exemple, si la stratégie de sécurité est chargée ordinairement à partir de Web_mediumtrust.config, en mode hérité, ASP.NET charge à la place la stratégie de sécurité à partir de Legacy.web_mediumtrust.config.

La valeur par défaut est false.

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 qui utilise un élément trustLevel du 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.

ValeurDescription
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.

permissionSetName

Attribut de chaîne facultatif.

Spécifie le nom du jeu d'autorisations.

La valeur par défaut est « ASP.NET ».

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 .NET Framework version 2.0.

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.

RemarqueRemarque

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

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

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

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 site Web ASP.NET

Fichiers de configuration ASP.NET

API de configuration ASP.NET