Aumento delle autorizzazioni
A seconda del modo in cui è stata creata, un'applicazione gestita la cui esecuzione richieda un numero di autorizzazioni maggiore rispetto a quello consentito dai criteri correnti genererà un'eccezione, non potrà essere eseguita o non funzionerà correttamente. È possibile utilizzare lo strumento Permissions View (Permview.exe) per visualizzare il minimo delle autorizzazioni necessarie, le autorizzazioni facoltative richieste e le autorizzazioni negate per assembly, in modo da confrontare le autorizzazioni richieste dall'assembly con quelle effettivamente ricevute. Mediante questo strumento è possibile visualizzare esclusivamente le autorizzazioni che sono state richieste in modo esplicito dall'applicazione mediante sintassi dichiarativa. Una volta in possesso di queste informazioni, sarà possibile aumentare le autorizzazioni concesse all'assembly creando un nuovo codice di gruppo personalizzato e associandolo a un nuovo set di autorizzazioni personalizzato contenente tutte le autorizzazioni necessarie a un corretto funzionamento dell'applicazione. È tuttavia consigliabile aumentare le autorizzazioni solo nel caso si consideri attendibile l'origine dell'applicazione e sempre che l'attendibilità sia basata su evidenza adeguatamente affidabile. Nella maggior parte dei casi, gli amministratori dispongono di vari gruppi di codice personalizzati tramite i quali classificano le varie applicazioni che richiedono autorizzazioni analoghe.
Si supponga di avere un'applicazione alla quale accedono frequentemente numerosi utenti da una condivisione di rete. In un contesto non gestito, questa situazione non presenta in genere alcun problema di esecuzione. In un contesto gestito invece potrebbe essere necessario concedere a questa applicazione un set limitato di autorizzazioni, dal momento che ha origine nell'area dell'Intranet locale. L'applicazione, ad esempio, potrebbe non essere autorizzata illimitatamente alle operazioni di stampa, con conseguente limitazione dell'utilità dell'applicazione stessa. Invece di estendere le impostazioni specificate per l'intera area dell'Intranet locale, è preferibile attenersi alla seguente procedura:
Utilizzare lo strumento Permission View (Permview.exe) per visualizzare il minimo di autorizzazioni richieste dall'assembly per il quale si intende aumentare le autorizzazioni. Queste sono le autorizzazioni minime necessarie all'esecuzione dell'applicazione.
Individuare una caratteristica univoca dell'assembly. Tale caratteristica può consistere nel nome sicuro, nella chiave pubblica, nell'hash o in un attributo univoco personalizzato dell'assembly. Se l'applicazione ha origine in un server attendibile, anche la posizione può essere utilizzata per identificare l'applicazione. Tutto il codice che presenta questa caratteristica verrà considerato attendibile.
Creare un nuovo gruppo di codice per la cui appartenenza è richiesta la presenza dell'identificatore univoco. Utilizzare lo strumento .NET Framework Configuration (Mscorcfg.msc) o lo strumento Criteri di protezione dall'accesso di codice (Caspol.exe) per creare il gruppo di codice.
Creare un nuovo set di autorizzazioni che comprende tutte le autorizzazioni minime necessarie all'esecuzione dell'assembly utilizzando lo strumento .NET Framework Configuration o lo Strumento criteri di protezione dall'accesso di codice.
Associare il nuovo set di autorizzazioni al nuovo gruppo di codice mediante lo strumento .NET Framework Configuration o lo Strumento criteri di protezione dall'accesso di codice.
Una volta eseguiti questi passaggi, l'applicazione potrà essere eseguita e riceverà le autorizzazioni sufficienti al funzionamento. Le altre applicazioni, ritenute meno affidabili, non riceveranno ulteriori autorizzazioni e il sistema sarà protetto da eventuale codice dannoso. Per informazioni sull'utilizzo degli strumenti di protezione per l'esecuzione di attività specifiche, vedere Configurazione dei criteri di protezione.
Vedere anche
Altre risorse
Amministrazione generale dei criteri di protezione
Suggerimenti per i criteri di protezione