Freigeben über


trust-Element (ASP.NET-Einstellungsschema)

Aktualisiert: November 2007

Konfiguriert die für eine Anwendung geltende Ebene der Codezugriffssicherheit. Verwenden Sie dieses Element, wenn Sie eine Webanwendung auf einer niedrigeren Vertrauensebene als Full ausführen möchten.

configuration-Element (allgemeines Einstellungsschema)
  system.web-Element (ASP.NET-Einstellungsschema)
    trust-Element (ASP.NET-Einstellungsschema)

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

Attribute und Elemente

In den folgenden Abschnitten werden Attribute, untergeordnete Elemente sowie übergeordnete Elemente beschrieben.

Attribute

Attribut

Beschreibung

level

Erforderliches String-Attribut.

Gibt die Vertrauensebene an, unter der die Anwendung ausgeführt wird. Jeder Vertrauensebene ist über das trustLevel-Element in der Konfigurationsdatei eine entsprechende XML-Richtliniendatei zugeordnet. In der Richtliniendatei sind die Berechtigungen für die jeweilige Vertrauensebene aufgeführt. Weitere Informationen über ASP.NET und Richtliniendateien finden Sie unter ASP.NET-Vertrauensebenen und Richtliniendateien.

Dieses Attribut kann ein benutzerdefinierter Wert sein, falls eine entsprechende Sicherheitsrichtlinienzuordnung in einem trustLevel-Element des securityPolicy-Element (ASP.NET-Einstellungsschema)-Elements vorliegt, oder einen der folgenden Werte annehmen. Die Werte sind in aufsteigender Reihenfolge nach dem Grad der Einschränkung angeordnet.

Wert

Beschreibung

Full

Legt uneingeschränkte Berechtigungen fest. Erteilt der ASP.NET-Anwendung die Berechtigung, auf sämtliche Ressourcen zuzugreifen, die der Betriebssystemsicherheit unterliegen. Alle privilegierten Vorgänge werden unterstützt. Diese Einstellung wird in der AspNetHostingPermissionLevel-Enumeration Unrestricted genannt.

High

Gibt eine hohe Ebene der Codezugriffssicherheit an. Das bedeutet, dass die Anwendung die folgenden Vorgänge standardmäßig nicht ausführen kann:

  • Aufrufen von nicht verwaltetem Code.

  • Aufrufen von Serviced Components.

  • Schreiben in das Ereignisprotokoll.

  • Zugreifen auf Microsoft Message Queuing-Warteschlangen.

  • Zugreifen auf ODBC-, OLEDB- oder Oracle-Datenquellen.

Medium

Gibt eine mittlere Ebene der Codezugriffssicherheit an. Das bedeutet, dass die ASP.NET-Anwendung zusätzlich zu den Einschränkungen der Codezugriffssicherheitsebene High die folgenden Vorgänge standardmäßig nicht ausführen kann:

  • Zugreifen auf Dateien außerhalb des Anwendungsverzeichnisses.

  • Zugreifen auf die Registrierung.

  • Ausführen von Netzwerk- oder Webdienstaufrufen (z. B. mit der System.Net.HttpWebRequest-Klasse).

Low

Gibt eine niedrige Ebene der Codezugriffssicherheit an. Das bedeutet, dass die Anwendung zusätzlich zu den Einschränkungen der Codezugriffssicherheitsebene Medium die folgenden Vorgänge standardmäßig nicht ausführen kann:

  • Schreiben ins Dateisystem.

  • Rufen Sie die Assert-Methode auf.

Minimal

Gibt eine minimale Ebene der Codezugriffssicherheit an. Dies bedeutet, dass die Anwendung nur über Ausführungsberechtigungen verfügt.

Die Standardeinstellung ist Full (keine Einschränkungen).

originUrl

Optionales String-Attribut.

Gibt einen URL zur Verwendung mit der eingeschränkten WebPermission-Berechtigung an, die mit mittlerer Vertrauenswürdigkeit konfiguriert ist. Falls vorhanden, kann dieser für Klassen wie HttpWebRequest verwendet werden, die nur Verbindungen zu URLs zulassen, die durch eine WebPermission angegeben werden. Dies ermöglicht die ordnungsgemäße Funktionsweise von Berechtigungen, die von einem Host abhängen.

processRequestInApplicationTrust

Optionales Boolean-Attribut.

Gibt an, ob Seitenanforderungen automatisch auf die Berechtigungen beschränkt werden, die in der Vertrauensrichtliniendatei für die ASP.NET-Anwendung konfiguriert sind.

Vertrauensrichtliniendateien werden in trustLevel-Elementen im securityPolicy-Element angegeben. Eine einzelne Vertrauensrichtlinie kann über das level-Attribut des trust-Elements auf eine ASP.NET-Anwendung angewendet werden.

Wenn das Attribut auf den Wert False festgelegt wird, können ASP.NET-Anforderungen auf der Vertrauensebene Full ausgeführt werden, selbst wenn das level-Attribut eine andere Vertrauensebene angibt. Ändern Sie die Standardeinstellung true dieses Attributs nur, wenn Sie einen konkreten Grund dafür haben.

Dieses Attribut ist neu in .NET Framework, Version 2.0.

Die Standardeinstellung ist True.

Untergeordnete Elemente

Keine.

Übergeordnete Elemente

Element

Beschreibung

configuration

Gibt das erforderliche Stammelement in jeder Konfigurationsdatei an, die von der Common Language Runtime und den .NET Framework-Anwendungen verwendet wird.

system.web

Gibt das Stammelement für die ASP.NET-Konfigurationseinstellungen in einer Konfigurationsdatei an und enthält Konfigurationselemente, die ASP.NET-Webanwendungen konfigurieren und das Verhalten der Anwendungen steuern.

Hinweise

Das trust-Element konfiguriert die für eine Anwendung geltende Ebene der Codezugriffssicherheit. Sicherheitsrichtliniendateien werden im securityPolicy-Auflistungselement den entsprechenden Vertrauensebenennamen zugeordnet. In der Richtliniendatei sind die Berechtigungen für die jeweilige Vertrauensebene aufgeführt. Das trust-Element gibt an, welche Vertrauensebene für die ASP.NET-Anwendung gilt. Weitere Informationen über ASP.NET und Richtliniendateien finden Sie unter ASP.NET-Vertrauensebenen und Richtliniendateien.

Standardmäßig werden Webanwendungen auf der Vertrauensebene Full ausgeführt. Anwendungen mit voller Vertrauenswürdigkeit erhalten von der Codezugriffssicherheitsrichtlinie uneingeschränkte Codezugriffsberechtigungen. Dazu gehören systemeigene und benutzerdefinierte Berechtigungen. Entsprechend wird die Anwendung beim Zugriff auf geschützte Ressourcen nicht durch die Codezugriffssicherheitsrichtlinien eingeschränkt. Der erfolgreiche Zugriff auf Ressourcen hängt damit rein von den Sicherheitsrichtlinien des Betriebssystems ab. Wenn eine Anwendung für eine andere Vertrauensebene als Full konfiguriert ist, bezeichnet man sie als eingeschränkt vertrauenswürdige Anwendung. Eingeschränkt vertrauenswürdige Anwendungen verfügen über eingeschränkte Berechtigungen, die den Zugriff auf geschützte Ressourcen der Anwendung begrenzen.

Um die Sicherheit in einer gehosteten Umgebung zu verbessern, verwenden Sie das location-Element in der Stammdatei Web.config, um das securityPolicy-Element und das trust-Element für gehostete Anwendungen einzuschließen, und das allowOverride="False"-Attribut, um zu verhindern, dass die Anwendungen die Einstellungen in einer lokaleren Web.config-Datei überschreiben. Wahlweise können Sie mehrere location-Elemente mit jeweils unterschiedlichen Pfadattributen verwenden, wenn Sie für die gehosteten Anwendungen verschiedene Vertrauensebenen festlegen möchten. Ein Beispiel für diese Art der Konfiguration finden Sie weiter unten unter "Beispiel".

Tipp

Mit .NET Framework, Version 1.0, erstellte Webanwendungen werden immer auf der Vertrauensebene Full ausgeführt, da die Typen in System.Web Aufrufer mit voller Vertrauenswürdigkeit erfordern. Ändern Sie bei der Aktualisierung auf eine neuere Version von .NET Framework nicht die Vertrauensebene, ohne einen Test an bereits vorhandenen Anwendungen durchzuführen.

Standardkonfiguration

Das folgende standardmäßige trust-Element ist in der Stammdatei Web.config konfiguriert.

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

Beispiel

Im folgenden Codebeispiel wird veranschaulicht, wie in einer Stammdatei Web.config die Einstellungen der Medium-Vertrauensebene für alle ASP.NET-Anwendungen auf dem Server angegeben werden und das location-Element zum Sperren der Einstellungen verwendet wird. Mithilfe eines weiteren location-Elements in derselben Konfigurationsdatei wird der Datei Web.config für die Default Web Site/Temp-Anwendung die Berechtigung erteilt, die Einstellungen in der Stammdatei Web.config zu überschreiben.

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

Elementinformationen

Konfigurationsabschnittshandler

TrustSection

Konfigurationsmember

AspNetHostingPermission

Konfigurierbare Speicherorte

Machine.config

Web.config auf der Stammebene

Web.config auf der Anwendungsebene

Anforderungen

Microsoft Internetinformationsdienste (IIS), Version 5.0, 5.1 oder 6.0

.NET Framework, Version 1.0, 1.1 oder 2.0

Microsoft Visual Studio 2003 oder Visual Studio 2005

Siehe auch

Aufgaben

Gewusst wie: Konfigurieren von bestimmten Verzeichnissen mit Standorteinstellungen

Gewusst wie: Sperren von ASP.NET-Konfigurationseinstellungen

Konzepte

ASP.NET-Vertrauensebenen und Richtliniendateien

ASP.NET-Vertrauensebenen und Richtliniendateien

Verwalten der Sicherheitsrichtlinien

Absichern der ASP.NET-Konfiguration

ASP.NET-Konfigurationsszenarios

Referenz

system.web-Element (ASP.NET-Einstellungsschema)

configuration-Element (allgemeines Einstellungsschema)

trustLevel-Element für securityPolicy (ASP.NET-Einstellungsschema)

securityPolicy-Element (ASP.NET-Einstellungsschema)

System.Configuration

System.Net.Configuration

TrustSection

AspNetHostingPermission

Weitere Ressourcen

Sicherheit für ASP.NET-Webanwendungen

Allgemeine Konfigurationseinstellungen (ASP.NET)

ASP.NET-Konfigurationseinstellungen

Verwalten von ASP.NET-Websites

ASP.NET-Konfigurationsdateien

ASP.NET-Konfigurations-API