Elemento trust (schema delle impostazioni ASP.NET)
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 illustrati attributi, elementi figlio e padre.
Attributi
Attribute |
Oggetto di 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:
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 Livelli di attendibilità e file di criteri ASP.NET. 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à.
ValueOggetto di descrizione
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:
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:
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:
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 |
Oggetto di 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 per la configurazione di applicazioni Web ASP.NET e il controllo del comportamento delle stesse. |
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 dell'insieme 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 Livelli di attendibilità e file di criteri ASP.NET.
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 |
|
Membro di configurazione |
|
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à
Procedura: configurare directory specifiche utilizzando impostazioni di percorso
Procedura: bloccare le impostazioni di configurazione di ASP.NET
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)
Concetti
Livelli di attendibilità e file di criteri ASP.NET
Livelli di attendibilità e file di criteri ASP.NET
Amministrazione dei criteri di sicurezza
Protezione della configurazione di ASP.NET
Scenari di configurazione ASP.NET
Altre risorse
Sicurezza delle applicazioni Web ASP.NET
Impostazioni di configurazione generali (ASP.NET)
Impostazioni di configurazione di ASP.NET
Amministrazione di siti Web ASP.NET