Elemento trust (schema delle impostazioni ASP.NET)

[Questa documentazione ha solo scopo di anteprima ed è soggetta a modifiche nelle versioni successive. Gli argomenti vuoti sono inclusi come segnaposto.]

Configura il livello di sicurezza contro l'accesso di codice (CAS, Code Access Security) per un'applicazione. Utilizzare questo elemento se si desidera eseguire un'applicazione Web con attendibilità inferiore a 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]" 
/>

Attributi ed elementi

Nelle sezioni seguenti vengono descritti gli attributi, gli elementi figlio e gli elementi padre.

Attributi

Attributo

Descrizione

hostSecurityPolicyResolverType

Attributo stringa facoltativo.

Specifica un tipo di risoluzione dei criteri di sicurezza personalizzato. Quando questo attributo viene impostato su una stringa vuota, ASP.NET utilizza i criteri predefiniti per determinare le autorizzazioni di un assembly. I criteri predefiniti per la valutazione delle autorizzazioni concedono attendibilità totale agli assembly Global Assembly Cache (GAC) e attendibilità parziale agli altri assembly.

Impossibile impostare questo attributo su un valore null.

Il valore predefinito è un insieme string vuoto.

legacyCasModel

Attributo booleano facoltativo.

Specifica se la protezione dall'accesso di codice legacy è abilitata.

Quando la sicurezza dall'accesso di codice legacy è attivata, si applicano le regole di sicurezza seguenti:

  • I criteri CAS (Code Access Security) vengono definiti in base alla combinazione dei criteri del computer e dei file di criteri parzialmente attendibili specificati di ASP.NET.

  • I domini di applicazioni parzialmente attendibili acquisiscono di nuovo attendibilità totale a livello del dominio dell'applicazione.

  • Vengono utilizzati i file legacy parzialmente attendibili nella directory CONFIG della directory di installazione .NET Framework anziché i nuovi file di configurazione parzialmente attendibili situati nella stessa directory. I file legacy includono le condizioni di appartenenza individuate in .NET Framework 1.1 o in .NET Framework 2.0 SP1.

  • Vengono applicate condizioni di appartenenza aggiuntive per valutare le autorizzazioni. Queste condizioni sono definite nei file ASP.NET parzialmente attendibili. La directory CONFIG che viene fornita con la versione .NET Framework 4 contiene file dei criteri di attendibilità parziale di tipo legacy. I nomi di questi file includono "legacy" e contengono le sezioni di .NET Framework 2.0 SP1. Queste sezioni contengono condizioni di appartenenza non vuote necessarie alla valutazione dei criteri di protezione dall'accesso di codice rispetto all'assembly.

  • Se l'applicazione ASP.NET è in esecuzione in una situazione di attendibilità parziale e il file dei criteri di sicurezza per il livello di attendibilità esegue il mapping a uno dei file di configurazione predefiniti ad attendibilità parziale, ASP.NET sceglie automaticamente il file di configurazione legacy corrispondente. Se ad esempio i criteri di sicurezza vengono normalmente caricati da Web_mediumtrust.config, in modalità legacy ASP.NET caricherà invece i criteri di sicurezza da Legacy.web_mediumtrust.config.

Il valore predefinito è false.

level

Attributo String obbligatorio.

Specifica il livello di attendibilità con cui verrà eseguita l'applicazione. Viene eseguito il mapping di ogni livello di attendibilità a un singolo file di criteri XML che utilizza un elemento trustLevel nel file di configurazione. Nel file di criteri è elencato il set di autorizzazioni concesse da ogni livello di attendibilità. Per informazioni su ASP.NET e sui file di criteri, vedere ASP.NET Trust Levels and Policy Files.

Questo attributo può essere un valore definito dall'utente, se è presente un mapping criteri di sicurezza corrispondente definito in un elemento trustLevel nell'elemento Elemento securityPolicy (schema delle impostazioni ASP.NET) oppure uno dei valori riportati di seguito, in ordine crescente di restrittività.

ValoreDescrizione
Full Specifica le autorizzazioni senza restrizioni.Concede all'applicazione ASP.NET le autorizzazioni per accedere alle risorse soggette alla sicurezza del sistema operativo.Sono supportate tutte le operazioni privilegiate.Questa impostazione è denominata Unrestricted nell'enumerazione AspNetHostingPermissionLevel.
High Specifica un elevato livello di sicurezza per l'accesso di codice, ovvero l'applicazione non è in grado di eseguire le operazioni seguenti per impostazione predefinita:
  • Chiamare codice non gestito.

  • Chiamare componenti serviti.

  • Scrivere nel registro eventi.

  • Accedere alle code di Microsoft Message Queuing (MSMQ).

  • Accedere alle origini dati ODBC, OleDb o Oracle.

Medium Specifica un livello medio di sicurezza per l'accesso di codice, ovvero, oltre alle restrizioni relative a High, l'applicazione ASP.NET non è in grado di eseguire le operazioni seguenti per impostazione predefinita:
  • Accedere a file esterni alla directory dell'applicazione.

  • Accedere al Registro di sistema.

  • Effettuare chiamate di rete o del servizio Web utilizzando ad esempio la classe System.Net.HttpWebRequest.

Low Specifica un livello basso di sicurezza per l'accesso di codice, ovvero, oltre alle restrizioni relative a Medium, l'applicazione ASP.NET non è in grado di eseguire le operazioni seguenti per impostazione predefinita:
  • Scrivere nel file system.

  • Chiamare il metodo Assert.

Minimal Specifica un livello minimo di sicurezza contro l'accesso di codice, ovvero l'applicazione dispone solo delle autorizzazioni di esecuzione.

Il valore predefinito è Full (senza restrizioni).

originUrl

Attributo String facoltativo.

Specifica un URL da utilizzare con l'autorizzazione WebPermission con restrizioni configurata nel livello di attendibilità Medium. Se presente, può essere utilizzato per alcune classi, ad esempio HttpWebRequest, che consentono la connessione solo a determinati URL specificati da un'autorizzazione WebPermission. Questo consente il corretto funzionamento delle autorizzazioni che si basano sulla nozione di host.

permissionSetName

Attributo stringa facoltativo.

Specifica il nome del set di autorizzazioni.

Il valore predefinito è "ASP.Net".

processRequestInApplicationTrust

Attributo Boolean facoltativo.

Specifica se le richieste di pagine vengano automaticamente limitate alle autorizzazioni configurate nel file di criteri di attendibilità applicato all'applicazione ASP.NET.

I file di criteri di attendibilità vengono specificati negli elementi trustLevel nell'elemento securityPolicy. A un'applicazione ASP.NET vengono applicati solo criteri di attendibilità utilizzando l'attributo level dell'elemento trust.

Se impostato su False, è possibile che le richieste ASP.NET vengano eseguite con attendibilità Full, anche se l'attributo level specifica un livello di attendibilità diverso. A meno che non ci siano motivi specifici per farlo, non modificare il valore predefinito true di questo attributo.

Questo attributo è nuovo in .NET Framework versione 2.0.

Il valore predefinito è True.

Elementi figlio

Nessuno.

Elementi padre

Elemento

Descrizione

configuration

Specifica l'elemento di primo livello necessario in ciascun file di configurazione utilizzato in Common Language Runtime e nelle applicazioni .NET Framework.

system.web

Specifica l'elemento di primo livello per le impostazioni di configurazione ASP.NET in un file di configurazione e contiene gli elementi che consentono di configurare le applicazioni Web ASP.NET e di controllarne il comportamento.

Note

L'elemento trust configura il livello di sicurezza contro l'accesso di codice (CAS, Code Access Security) valido per un'applicazione. Dei file di criteri di sicurezza viene eseguito il mapping ai nomi dei livelli di attendibilità nell'elemento della raccolta securityPolicy. Nel file di criteri è elencato il set di autorizzazioni concesse dal livello di attendibilità. L'elemento trust specifica quale livello di attendibilità applicare all'applicazione ASP.NET. Per informazioni su ASP.NET e sui file di criteri, vedere ASP.NET Trust Levels and Policy Files.

Per impostazione predefinita, le applicazioni Web vengono eseguite con attendibilità Full. Alle applicazioni con attendibilità totale vengono concesse dai criteri di sicurezza contro l'accesso di codice autorizzazioni di accesso al codice senza restrizioni, tra cui autorizzazioni personalizzate e di sistema incorporate. Pertanto la sicurezza contro l'accesso di codice non impedirà all'applicazione di accedere alle risorse sicure. La possibilità di accedere alle risorse è determinata esclusivamente dalla sicurezza a livello di sistema operativo. Se un'applicazione è configurata con un livello di attendibilità diverso da Full, viene considerata un'applicazione ad attendibilità parziale. Le applicazioni ad attendibilità parziale dispongono di autorizzazioni con restrizioni che limitano l'accesso alle risorse sicure.

Per una migliore sicurezza in un ambiente host, utilizzare l'elemento location nel file Web.config radice per racchiudere gli elementi securityPolicy e trust delle applicazioni host e l'attributo allowOverride="False" per impedire alle applicazioni di eseguire l'override delle impostazioni in un file Web.config locale. Facoltativamente, è possibile utilizzare più elementi location, ognuno con un attributo path distinto, se si desidera configurare diversi livelli di attendibilità per le varie applicazioni host. Per un esempio di questo tipo di configurazione, vedere più avanti la relativa sezione.

Nota

Le applicazioni Web basate su .NET Framework versione 1.0 vengono sempre eseguite con attendibilità Full perché i tipi in System.Web richiedono chiamanti ad attendibilità totale.Quando si effettua l'aggiornamento a una nuova versione di .NET Framework, non modificare il livello di attendibilità senza eseguire il test delle applicazioni esistenti.

Configurazione predefinita

Il seguente elemento trust predefinito viene configurato nel file Web.config a livello di radice.

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

Esempio

Nell'esempio di codice riportato di seguito viene illustrato come utilizzare un file Web.config radice per specificare le impostazioni del livello di attendibilità Medium per tutte le applicazioni ASP.NET sul server e l'elemento location per bloccare le impostazioni. Nello stesso file di configurazione viene utilizzato un altro elemento location per consentire al file Web.config dell'applicazione Default Web Site/Temp di eseguire l'override delle impostazioni nel file Web.config radice.

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

Informazioni sull'elemento

Gestore della sezione di configurazione

TrustSection

Membro di configurazione

AspNetHostingPermission

Percorsi configurabili

Machine.config

Web.config a livello di radice

Web.config a livello di applicazione

Requisiti

Microsoft Internet Information Services (IIS) versione 5.0, 5.1 o 6.0

.NET Framework versione 1.0, 1.1 o 2.0

Microsoft Visual Studio 2003 o Visual Studio 2005

Vedere anche

Attività

How to: Configure Specific Folders Using Location Settings

How to: Lock ASP.NET Configuration Settings

Riferimenti

Elemento system.web (schema delle impostazioni ASP.NET)

Elemento configuration (schema delle impostazioni generali)

Elemento trustLevel per securityPolicy (schema delle impostazioni ASP.NET)

Elemento securityPolicy (schema delle impostazioni ASP.NET)

System.Configuration

System.Net.Configuration

TrustSection

AspNetHostingPermission

Concetti

ASP.NET Trust Levels and Policy Files

ASP.NET Trust Levels and Policy Files

Securing Configuration

Configuration Inheritance

Altre risorse

ASP.NET Web Application Security

Administering Security Policy

Impostazioni di configurazione generali (ASP.NET)

Impostazioni di configurazione di ASP.NET

Configuring ASP.NET Applications

ASP.NET Configuration Files

ASP.NET Configuration API