trust-Element (ASP.NET-Einstellungsschema)
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.
<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]"
/>
Attribute und Elemente
In den folgenden Abschnitten werden Attribute, untergeordnete Elemente und übergeordnete Elemente beschrieben.
Attribute
Attribute |
Beschreibungen |
---|---|
hostSecurityPolicyResolverType |
Optionales Zeichenfolgenattribut. Gibt einen benutzerdefinierten Sicherheitsrichtlinien-Auflösungstyp an. Wenn dieses Attribut auf eine leere Zeichenfolge festgelegt wird, ermittelt ASP.NET die Berechtigungen einer Assembly mithilfe der Standardrichtlinie. Die Standardrichtlinie zum Auswerten der Berechtigungen gewährt volle Vertrauenswürdigkeit für die Assemblys des globalen Assemblycache (GAC) und eingeschränkte Vertrauenswürdigkeit für die anderen Assemblys. Dieses Attribut kann nicht auf einen null-Wert festgelegt werden. Der Standardwert ist eine leere string. |
legacyCasModel |
Optionales boolesches Attribut. Gibt an, ob die Legacycodezugriffssicherheit (CAS, Code Access Security) aktiviert ist. Wenn Legacycode-Zugriffssicherheit aktiviert ist, gelten die folgenden Sicherheitsregeln:
Der Standardwert ist false. |
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.
ValueBeschreibungen
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:
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:
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:
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 eine URL zur Verwendung mit der eingeschränkten WebPermission-Berechtigung an, die mit mittlerer Vertrauenswürdigkeit konfiguriert ist. Falls vorhanden, kann diese 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. |
permissionSetName |
Optionales Zeichenfolgenattribut. Gibt den Namen des Berechtigungssatzes an. Der Standardwert ist "ASP.NET". |
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 |
Beschreibungen |
---|---|
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".
Hinweis |
---|
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 beim Upgrade 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 wird in der Web.config-Stammdatei 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 |
|
Konfigurationsmember |
|
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
Referenz
system.web-Element (ASP.NET-Einstellungsschema)
configuration-Element (allgemeines Einstellungsschema)
trustLevel-Element für securityPolicy (ASP.NET-Einstellungsschema)
securityPolicy-Element (ASP.NET-Einstellungsschema)
Konzepte
ASP.NET-Vertrauensebenen und Richtliniendateien
ASP.NET-Vertrauensebenen und Richtliniendateien
Verwalten der Sicherheitsrichtlinien
Absichern der ASP.NET-Konfiguration
ASP.NET-Konfigurationsszenarios
Weitere Ressourcen
Sicherheit für ASP.NET-Webanwendungen
Allgemeine Konfigurationseinstellungen (ASP.NET)