Gestione dei criteri di sicurezza

Nota importanteImportante

In .NET Framework versione 4, Common Language Runtime non fornisce più criteri di sicurezza per i computer.È consigliabile l'utilizzo di criteri di restrizione software Windows in sostituzione dei criteri di sicurezza CLR.Le informazioni incluse in questo argomento si applicano a .NET Framework 3.5 e versioni precedenti e non alle versioni 4 e successive.Per ulteriori informazioni su questa e altre modifiche, vedere Modifiche della sicurezza in .NET Framework 4.

I criteri di sicurezza (security policy) rappresentano la serie di regole configurabili in base alle quali vengono individuate le autorizzazioni che saranno concesse al codice dal Common Language Runtime. Il codice viene identificato dal relativo file di assembly che è un file eseguibile (con estensione exe) o una libreria (con estensione dll). A fronte di queste regole vengono esaminate le caratteristiche identificabili dell'assembly, ad esempio il sito Web o l'area di origine del codice, per determinare l'accesso alle risorse di cui il codice può disporre. Tali caratteristiche sono definite come oggetto System.Security.Policy.Evidence, associato all'assembly. Oggetti Evidence tipici per un assembly sono Url, Zone, StrongName e Hash. Durante l'esecuzione, il runtime utilizza Evidence per garantire che il codice acceda solo alle risorse per le quali dispone dell'autorizzazione di accesso.

I criteri di sicurezza definiscono diversi gruppi di codice e associano ciascuno di essi a un set di autorizzazioni. Il sistema di sicurezza utilizza Evidence per determinare i gruppi di codice a cui appartiene un assembly. Dopo che sono state considerate tutte le evidenze, l'assembly viene associato a uno o più gruppi di codice e la concessione di autorizzazioni risultante è data dal set totale di autorizzazioni associate a tutti i gruppi di codice corrispondenti.

Per impostazione predefinita, gli assembly che si trovano nel computer in cui devono essere eseguiti sono inclusi nell'area MyComputer. L'evidenza dell'area MyComputer comporta l'inserimento del codice nel gruppo di codice My_Computer_Zone e la concessione di autorizzazioni di attendibilità totale. Il set di autorizzazioni di attendibilità totale consente di ignorare i controlli di sicurezza e di disporre di accesso a tutte le risorse protette. Per questo motivo, è molto importante che nel computer vengano installate solo applicazioni provenienti da origini completamente attendibili. In .NET Framework versione 3.5 Service Pack 1 (SP1) l'attendibilità totale viene estesa agli assembly eseguiti sia da una rete Intranet che dal proprio computer. Anche in questo caso, è necessario eseguire solo applicazioni Intranet ritenute completamente attendibili. Gli amministratori dei criteri di sicurezza possono decidere di ripristinare i criteri per le applicazioni Intranet allo stato parzialmente attendibile concesso in precedenza.

Sebbene i criteri di sicurezza predefiniti siano appropriati per la maggior parte delle situazioni, gli amministratori possono modificarli o personalizzarli in base alle esigenze specifiche delle relative organizzazioni. Nell'ambiente di esecuzione vengono concesse autorizzazioni ad assembly e domini applicazione in base ai criteri di sicurezza.

In questa sezione

Sezioni correlate

  • Suggerimenti per i criteri di sicurezza
    Vengono descritte le tecniche che gli amministratori possono adottare per conservare i criteri di sicurezza su un computer o in un'azienda.

  • Concetti principali sulla sicurezza
    Vengono introdotti concetti fondamentali che è necessario comprendere a fondo prima di affrontare il tema della sicurezza di .NET Framework.

  • Autorizzazioni
    Vengono descritti gli oggetti autorizzazione e le modalità con cui vengono utilizzati dal runtime.

  • sicurezza dall'accesso di codice
    Viene descritta in modo dettagliato la sicurezza dall'accesso di codice di .NET Framework e viene illustrato come utilizzarla nel codice.

  • Strumenti di sicurezza
    Vengono elencati e descritti brevemente gli strumenti di sicurezza inclusi in .NET Framework.