Condividi tramite


Caspol.exe (strumento per i criteri di sicurezza dall'accesso di codice)

Lo strumento per i criteri di protezione dall'accesso di codice (Caspol.exe) consente a utenti e amministratori di modificare i criteri di sicurezza per i livelli dei criteri relativi a computer, utente e azienda.

Nota importanteImportante

In .NET Framework versione 4 e versioni successive, Caspol.exe non influisce sui criteri di protezione dall'accesso di codice a meno che l'elemento <legacyCasPolicy> non venga impostato su true.Per ulteriori informazioni, vedere Modifiche della sicurezza in .NET Framework 4.

NotaNota

I computer a 64 bit includono sia versioni a 64 che a 32 bit dei criteri di sicurezza.Per garantire che le modifiche apportate ai criteri vengano applicate sia ad applicazioni a 32 bit che a 64 bit, eseguire la versione a 32 bit di Caspol.exe dal prompt dei comandi di Visual Studio, quindi eseguire la versione a 64 bit utilizzando Prompt dei comandi di Visual Studio per piattaforme x64 con processore Win64.

Questo strumento viene installato automaticamente con Visual Studio e con Windows SDK. Per eseguire lo strumento, si consiglia di utilizzare il prompt dei comandi di Visual Studio o il prompt dei comandi di Windows SDK (shell di CMD). Queste utilità consentono di eseguire facilmente lo strumento, senza dover passare alla cartella di installazione. Per ulteriori informazioni, vedere Prompt dei comandi di Visual Studio e Windows SDK.

  • Se si dispone di Visual Studio installato sul computer: nella barra delle applicazioni, fare clic su Start, fare clic su All Programs, fare clic su Visual Studio, fare clic su Visual Studio Tools e quindi su Visual Studio Command Prompt.

    In alternativa

    Se si dispone di Windows SDK installato sul computer: nella barra delle applicazioni, fare clic su Start, fare clic su All Programs, fare clic sulla cartella di Windows SDK e quindi su Command Prompt (o CMD Shell).

  • Al prompt dei comandi digitare quanto segue:

caspol [options]

Parametri

Opzione

Oggetto di descrizione

-addfulltrust file_assembly

oppure

-af file_assembly

Aggiunge un assembly che implementa un oggetto di sicurezza personalizzato, ad esempio un'autorizzazione o una condizione di appartenenza personalizzata, nell'elenco completamente attendibile di assembly relativo a un livello di criteri specifico. L'argomento file_assembly specifica l'assembly da aggiungere. Il file deve essere firmato con un nome sicuro. A questo scopo è possibile utilizzare lo strumento Nome sicuro (Sn.exe).

Ogni volta che un set di autorizzazioni contenente un'autorizzazione personalizzata viene aggiunto ai criteri, è necessario aggiungere l'assembly che implementa l'autorizzazione personalizzata all'elenco completamente attendibile relativo a tale livello di criteri. Gli assembly che implementano oggetti di sicurezza personalizzati, quali gruppi di codice personalizzati o condizioni di appartenenza, utilizzati nei criteri di sicurezza, quali i criteri del computer, devono essere sempre aggiunti all'elenco di assembly completamente attendibili.

Nota di avvisoAttenzione
Se l'assembly in cui è implementato l'oggetto di sicurezza personalizzato contiene un riferimento ad altri assembly, è innanzitutto necessario aggiungere gli assembly cui si fa riferimento all'elenco di quelli totalmente attendibili.Gli oggetti di sicurezza personalizzati creati con Visual Basic, C++ e JScript fanno riferimento rispettivamente a Microsoft.VisualBasic.dll, Microsoft.VisualC.dll o Microsoft.JScript.dll.Per impostazione predefinita, questi assembly non sono contenuti nell'elenco degli assembly totalmente attendibili,per cui è necessario aggiungere l'assembly appropriato all'elenco prima di aggiungere un oggetto di sicurezza personalizzato.Se questa operazione non riesce si verificheranno problemi nel sistema di sicurezza, provocando il mancato caricamento di tutti gli assembly.In questa situazione, l'opzione -all -reset di Caspol.exe non è in grado di ripristinare la sicurezza.Per ripristinare la sicurezza, modificare manualmente i file di sicurezza per rimuovere l'oggetto di sicurezza personalizzato.

-addgroup {etichetta_padre | nome_padre} mship nome_set_autorizzazioni [flag]

oppure

-ag {etichetta_padre | nome_padre} mship nome_set_autorizzazioni [flag]

Aggiunge un nuovo gruppo di codice alla gerarchia dei gruppi di codice. È possibile specificare etichetta_padre oppure nome_padre. L'argomento etichetta_padre specifica l'etichetta, ad esempio 1. o 1.1.) del gruppo di codice padre del gruppo che viene aggiunto. L'argomento nome_padre specifica il nome del gruppo di codice padre del gruppo di codice aggiunto. Dal momento che è possibile utilizzare indifferentemente etichetta_padre o nome_padre, Caspol.exe deve essere in grado di distinguerli. Pertanto nome_padre non può iniziare con un numero. Inoltre, nome_padre può contenere solo i caratteri dalla A alla Z, i numeri da 0 a 9 e il carattere di sottolineatura.

L'argomento mship specifica la condizione di appartenenza del nuovo gruppo di codice. Per ulteriori informazioni, vedere la tabella degli argomenti mship più avanti in questa sezione.

L'argomento nome_set_autorizzazioni è il nome del set di autorizzazioni che verrà associato al nuovo gruppo di codice. È inoltre possibile impostare uno o più flag per il nuovo gruppo. Per ulteriori informazioni, vedere la tabella degli argomenti flags più avanti in questa sezione.

-addpset {filesetautorizzazioni | filesetautorizzazioni nome_set_autorizzazioni}

oppure

-ap {denominato_filesetautorizzazioni | filesetautorizzazioni nome_set_autorizzazioni}

Aggiunge ai criteri un nuovo set di autorizzazioni denominato. Tale set deve essere creato in XML e archiviato in un file XML. Se il file XML contiene il nome del set di autorizzazioni, verrà specificato solo tale file (filesetautorizzazioni). Se il file XML non contiene il nome del set di autorizzazioni, sarà necessario specificare sia il nome del file XML (filesetautorizzazioni) che il nome del set di autorizzazioni (nome_set_autorizzazioni).

Tutte le autorizzazioni utilizzate in un set di autorizzazioni devono essere definite in assembly contenuti nella Global Assembly Cache.

-a[ll]

Indica che tutte le opzioni specificate dopo questa opzione verranno applicate ai criteri definiti a livello di computer, di utente e di azienda. L'opzione -all fa sempre riferimento ai criteri dell'utente correntemente connesso al sistema. Se si desidera far riferimento ai criteri relativi a un utente diverso da quello corrente, vedere l'opzione -customall.

-chggroup {etichetta |nome} {mship | pset_name |

flags}

oppure

-cg {etichetta |nome} {mship | pset_name |

flags}

Modifica la condizione di appartenenza, il set di autorizzazioni o l'impostazione dei flag exclusive, levelfinal, name o description di un gruppo di codice. È possibile specificare l'argomento etichetta o nome. L'argomento label specifica l'etichetta (ad esempio 1. or 1.1.) del gruppo di codice. L'argomento nome specifica il nome del gruppo di codice da modificare. Dal momento che è possibile utilizzare indifferentemente etichetta o nome, Caspol.exe deve essere in grado di distinguerli. Pertanto nome non può iniziare con un numero. Inoltre, nome può contenere solo i caratteri dalla A alla Z, i numeri da 0 a 9 e il carattere di sottolineatura.

L'argomento nome_set_autorizzazioni specifica il nome del set di autorizzazioni da associare al gruppo di codice. Per informazioni sugli argomenti mship e flags, vedere le tabelle più avanti in questa sezione.

-chgpset psfile pset_name

oppure

-cp filesetautorizzazioni nome_set_autorizzazioni

Modifica un set di autorizzazioni denominato. L'argomento filesetautorizzazioni fornisce la nuova definizione per il set di autorizzazioni. Si tratta di un file serializzato di set di autorizzazioni in formato XML. L'argomento nome_set_autorizzazioni specifica il nome del set di autorizzazioni che si desidera modificare.

-customall path

oppure

-ca path

Indica che tutte le opzioni specificate dopo questa opzione verranno applicate ai criteri definiti a livello di computer e di azienda, nonché ai criteri personalizzati specificati a livello di utente. È necessario specificare la posizione del file di configurazione della sicurezza utente personalizzata mediante l'argomento percorso.

-cu[stomuser] percorso

Consente di amministrare criteri utente personalizzati che non appartengono all'utente che sta eseguendo Caspol.exe. È necessario specificare la posizione del file di configurazione della sicurezza utente personalizzata mediante l'argomento percorso.

-enterprise

oppure

-en

Indica che tutte le opzioni specificate dopo questa opzione verranno applicate ai criteri definiti a livello di azienda. Gli utenti che non rivestono il ruolo di amministratori all'interno dell'azienda non dispongono di diritti sufficienti per modificare i criteri aziendali, ma possono visualizzarli. In scenari non aziendali questi criteri, per impostazione predefinita, non interferiscono con i criteri definiti a livello di computer e di utente.

- e[xecution] {on | disattivato}

Attiva o disabilita il meccanismo che verifica l'autorizzazione all'esecuzione prima dell'avvio del codice.

NotaNota
Questa opzione è stata rimossa in .NET Framework 4 e versioni successive.Per ulteriori informazioni, vedere Modifiche della sicurezza in .NET Framework 4.

-f[orce]

Evita la verifica di compatibilità con il funzionamento dello strumento e modifica i criteri in base alle specifiche dell'utente. In genere, viene verificato che eventuali modifiche apportate ai criteri non compromettano il corretto funzionamento di Caspol.exe. In questo caso, le modifiche apportate non vengono salvate e viene stampato un messaggio di errore. Se si desidera imporre la modifica dei criteri anche se questo impedirà il corretto funzionamento di Caspol.exe, utilizzare l'opzione –force.

-h[elp]

Visualizza la sintassi del comando e le opzioni di Caspol.exe.

-l[ist]

Elenca la gerarchia dei gruppi di codice e i set di autorizzazioni relativi ai criteri definiti a livello del computer, dell'utente o dell'azienda specificata oppure a tutti i livelli. In Caspol.exe viene visualizzata prima l'etichetta del gruppo di codice, seguita dal nome, se non è nullo.

-listdescription

oppure

-ld

Elenca tutte le descrizioni dei gruppi di codice per il livello di criteri specificato.

-listfulltrust

oppure

-lf

Elenca il contenuto dell'elenco completamente attendibile di assembly per il livello di criteri specificato.

-listgroups

oppure

-lg

Visualizza i gruppi di codice del livello di criteri specificato o di tutti i livelli di criteri. In Caspol.exe viene visualizzata prima l'etichetta del gruppo di codice, seguita dal nome, se non è nullo.

-listpset o -lp

Visualizza i set di autorizzazioni per il livello di criteri specificato o per tutti i livelli di criteri.

-m[achine]

Indica che tutte le opzioni specificate dopo questa verranno applicate ai criteri definiti a livello di computer. Gli utenti che non rivestono il ruolo di amministratori non dispongono di diritti sufficienti per modificare i criteri definiti a livello di computer, ma possono visualizzarli. Per gli amministratori, -machine rappresenta l'impostazione predefinita.

-polchgprompt {on | disattivato}

oppure

-pp {on | disattivato}

Attiva o disabilita la visualizzazione di una richiesta di conferma ogni volta che Caspol.exe viene eseguito con un'opzione che causerebbe modifiche ai criteri.

-quiet

oppure

-q

Disabilita temporaneamente la visualizzazione di una richiesta di conferma relativa a un'opzione che causa modifiche ai criteri. L'impostazione globale di richiesta di modifica non viene modificata. Utilizzare questa opzione esclusivamente su singoli comandi per evitare di disabilitare la richiesta di conferma per tutti i comandi Caspol.exe.

-r[ecover]

Recupera i criteri da un file di backup. Ogni volta che viene apportata una modifica ai criteri, i criteri precedenti vengono archiviati in un file di backup.

-remfulltrust file_assembly

oppure

-rf assembly_file

Rimuove un assembly dall'elenco completamente attendibile di un livello di criteri. È consigliabile effettuare questa operazione se un set di autorizzazioni contenente un'autorizzazione personalizzata non è più utilizzato dai criteri. È tuttavia importante rimuovere dall'elenco completamente attendibile un assembly che implementa un'autorizzazione personalizzata solo se tale assembly non implementa alcun'altra autorizzazione personalizzata correntemente in uso. Quando si rimuove un assembly dall'elenco, è necessario rimuovere anche eventuali altri assembly da cui esso dipende.

-remgroup {etichetta |nome}

oppure

-rg {etichetta | nome}

Rimuove il gruppo di codice specificato in base alla relativa etichetta o al nome. Se il gruppo di codice specificato presenta gruppi di codice figlio, anche questi verranno automaticamente rimossi.

-rempset nome_set_autorizzazioni

oppure

-rp nome_set_autorizzazioni

Rimuove dai criteri il set di autorizzazioni specificato. L'argomento nome_set_autorizzazioni indica il set di autorizzazioni da rimuovere. Tale set viene rimosso solo se non è associato ad alcun gruppo di codice. Non è possibile rimuovere i set di autorizzazioni predefiniti (incorporati). Per informazioni dettagliate, vedere Set di autorizzazioni denominati.

-reset

oppure

-rs

Ripristina l'impostazione predefinita dei criteri e li salva su disco. Questa opzione è utile ogni volta che non è possibile correggere criteri a cui sono state apportate modifiche errate e si desidera impostarli nuovamente a partire dai valori definiti automaticamente in fase di installazione. Il ripristino può inoltre risultare utile quando si desidera utilizzare i criteri predefiniti come punto di partenza per apportare modifiche a specifici file di configurazione della sicurezza. Per ulteriori informazioni, vedere Modifica manuale dei file di configurazione della sicurezza.

-resetlockdown

oppure

-rsld

Reimposta una versione più restrittiva dello stato predefinito dei criteri e la archivia su disco. Crea una copia di backup dei criteri del computer precedenti e la archivia in un file denominato security.config.bac. I criteri bloccati sono simili a quelli predefiniti, tranne per il fatto che non vengono concesse autorizzazioni al codice proveniente da aree Local Intranet, Trusted Sites e Internet e i gruppi di codice corrispondenti non dispongono di gruppi di codice figlio.

-resolvegroup file_assembly

oppure

-rsg file assembly

Mostra i gruppi di codice cui appartiene un assembly specifico (file_assembly). Per impostazione predefinita, questa opzione visualizza i criteri a livello di computer, utente e azienda dell'assembly. Per visualizzare solo un livello di criteri, utilizzare questa opzione con l'opzione -machine, -user o -enterprise.

-resolveperm file_assembly

oppure

-rsp file_assembly

Visualizza tutte le autorizzazioni che il livello di criteri di sicurezza specificato o predefinito assegnerebbe all'assembly se fosse consentita l'esecuzione di tale assembly. L'argomento file_assembly specifica l'assembly. Se si specifica l'opzione -all, le autorizzazioni per l'assembly verranno calcolate automaticamente sulla base dei criteri definiti a livello di utente, di computer e di azienda. Se l'opzione è omessa, verranno applicate le regole di funzionamento predefinite.

-s[icurezza] {on | disattivato}

Attiva o disabilita la sicurezza di accesso al codice. Se si specifica l'opzione -s off, la sicurezza basata sui ruoli non verrà disabilitata.

NotaNota
Questa opzione è stata rimossa in .NET Framework 4 e versioni successive.Per ulteriori informazioni, vedere Modifiche della sicurezza in .NET Framework 4.
Nota di avvisoAttenzione
Quando la sicurezza per l'accesso al codice è disabilitata, tutte le richieste di accesso avanzate dal codice verranno esaudite.La disabilitazione della sicurezza dall'accesso di codice rende il sistema vulnerabile agli attacchi di codice dannoso, tra cui virus e programmi distruttivi.La disabilitazione della sicurezza consente di migliorare le prestazioni ma è un'operazione da effettuare solo quando sono state già adottate altre misure di sicurezza per garantire che la sicurezza complessiva del sistema non venga compromessa.Esempi di precauzioni alternative sono la disconnessione da reti pubbliche, la sicurezza fisica dei computer e così via.

-u[ser]

Indica che tutte le opzioni specificate dopo questa opzione verranno applicate ai criteri utente relativi all'utente che sta eseguendo Caspol.exe. Per gli utenti che non rivestono il ruolo di amministratori, -user rappresenta l'opzione predefinita.

-?

Visualizza la sintassi del comando e le opzioni di Caspol.exe.

L'argomento mship, che specifica la condizione di appartenenza di un gruppo di codice, è utilizzabile con le opzioni -addgroup e -chggroup. Ogni argomento mship viene implementato come classe di .NET Framework. Per specificare mship, utilizzare uno degli argomenti elencati di seguito.

Argomento

Oggetto di descrizione

-allcode

Specifica tutto il codice. Per ulteriori informazioni su questa condizione di appartenenza, vedere la Classe AllMembershipCondition.

-appdir

Specifica la directory dell'applicazione. Se si specifica –appdir come condizione di appartenenza, l'evidenza URL del codice verrà confrontata con l'evidenza della directory dell'applicazione di tale codice. Se i valori delle evidenze sono identici, questa condizione di appartenenza è soddisfatta. Per ulteriori informazioni su questa condizione di appartenenza, vedere la Classe ApplicationDirectoryMembershipCondition.

-custom xmlfile

Aggiunge una condizione di appartenenza personalizzata. L'argomento obbligatorio filexml specifica il file XML contenente la serializzazione XML della condizione di appartenenza personalizzata.

-hash Algoritmohash {-hex valorehash | -file file_assembly }

Specifica il codice che include l'hash di assembly specificato. Per utilizzare un hash come condizione di appartenenza di un gruppo di codice, è necessario specificare il valore hash oppure il file di assembly. Per ulteriori informazioni su questa condizione di appartenenza, vedere la Classe HashMembershipCondition.

-pub { -cert nome_file_certificato ||

-file nome_file_firmato | -hex stringa_hex } | -hex stringa_hex }

Specifica il codice che include l'editore di software specificato, come indicato da un file di certificato, da una firma su un file o dalla rappresentazione esadecimale di un certificato X509. Per ulteriori informazioni su questa condizione di appartenenza, vedere la Classe PublisherMembershipCondition.

-site sitoweb

Specifica il codice che include il sito di origine specificato. Di seguito è riportato un esempio.

-site www.proseware.com

Per ulteriori informazioni su questa condizione di appartenenza, vedere la Classe SiteMembershipCondition.

-strong -file nome_file {nome | -noname} {versione | - noversion}

Specifica il codice che include un nome sicuro specifico, composto dal nome del file, dal nome dell'assembly sotto forma di stringa e dalla versione dell'assembly nel formato principale.secondario.build.revisione. Di seguito è riportato un esempio.

-strong -file myAssembly.exe myAssembly 1.2.3.4

Per ulteriori informazioni su questa condizione di appartenenza, vedere la Classe StrongNameMembershipCondition.

-url URL

Specifica il codice originario dell'URL specificato. L'URL deve includere un protocollo, quale http:// o ftp://. È inoltre possibile utilizzare un carattere jolly (*) per specificare più assembly da un determinato URL.

NotaNota
Poiché un URL può essere identificato utilizzando più nomi, l'utilizzo di un URL come condizione di appartenenza non è un metodo sicuro per determinare l'identità del codice.Se possibile, è consigliabile utilizzare una condizione di appartenenza con un nome sicuro, una condizione di appartenenza editore o una condizione di appartenenza hash.

Per ulteriori informazioni su questa condizione di appartenenza, vedere la Classe UrlMembershipCondition.

-zone nomezona

Specifica il codice che presenta la zona di origine specificata. L'argomento nomezona può essere impostato su MyComputer, Intranet, Trusted, Internet o Untrusted. Per ulteriori informazioni su questa condizione di appartenenza, vedere la classe ZoneMembershipCondition.

L'argomento flag, utilizzabile con le opzioni –addgroup e –chggroup, viene specificato mediante uno degli argomenti elencati di seguito.

Argomento

Oggetto di descrizione

-description "descrizione"

Se viene utilizzato con l'opzione –addgroup, specifica la descrizione di un gruppo di codice da aggiungere. Se viene utilizzato con l'opzione –chggroup, specifica la descrizione di un gruppo di codice da modificare. L'argomento descrizione deve essere racchiuso tra virgolette doppie.

-exclusive {on|disattivato}

Quando è impostato su on, indica che solo il set di autorizzazioni associato al gruppo di codice da aggiungere o modificare verrà considerato quando un codice soddisferà la condizione di appartenenza del gruppo di codice. Quando questa opzione è impostata su off, vengono automaticamente considerati i set di autorizzazioni di tutti i gruppi di codice del livello di criteri che soddisfano la condizione di appartenenza.

-levelfinal {on|disattivato}

Quando è impostato su on, indica che non verrà considerato alcun livello di criteri inferiore al livello del gruppo di codice aggiunto o modificato. Questa opzione è in genere utilizzata al livello di criteri relativo al computer. Se ad esempio si imposta questo flag per un gruppo di codice a livello di computer ed esiste un codice che soddisfa la condizione di appartenenza di tale gruppo di codice, i criteri definiti a livello utente per questo codice non verranno né calcolati né applicati.

-name "name"

Se viene utilizzato con l'opzione –addgroup, specifica il nome di script di un gruppo di codice da aggiungere. Se viene utilizzato con l'opzione -chggroup, specifica il nome di script di un gruppo di codice da modificare. L'argomento nome deve essere racchiuso tra virgolette doppie. L'argomento nome non può iniziare con un numero e può contenere solo i caratteri dalla A alla Z, i numeri da 0 a 9 e il carattere di sottolineatura. È possibile fare riferimento ai gruppi di codice in base al nome anziché in base all'etichetta numerica. Il nome è inoltre estremamente utile per la creazione di script.

Note

I criteri di sicurezza vengono espressi mediante tre livelli, ovvero quello relativo al computer, all'utente e all'azienda. Il set di autorizzazioni che un assembly riceve è determinato dall'intersezione dei set di autorizzazioni consentiti da questi tre livelli di criteri. Ciascun livello di criteri è rappresentato da una struttura gerarchica di gruppi di codice. Ciascun gruppo di codice presenta una condizione di appartenenza che determina quale codice appartiene a tale gruppo. A ciascun gruppo di codice è inoltre associato un set di autorizzazioni denominato. Questo set di autorizzazioni specifica le autorizzazioni concesse dal runtime al codice che soddisfa la condizione di appartenenza. Una gerarchia dei gruppi di codice, insieme ai set di autorizzazioni denominati a essa associati, definisce e mantiene ciascun livello dei criteri di sicurezza. È possibile utilizzare le opzioni –user, -customuser, –machine ed -enterprise per impostare il livello dei criteri di sicurezza.

Per ulteriori informazioni sui criteri di sicurezza e sulle modalità con cui il runtime determina quali autorizzazioni assegnare al codice, vedere Gestione dei criteri di sicurezza.

Riferimenti a gruppi di codice e a set di autorizzazioni

Per facilitare i riferimenti ai gruppi di codice presenti in una gerarchia, l'opzione -list visualizza un elenco rientrato dei gruppi di codice contrassegnati dalle corrispondenti etichette numeriche (1, 1.1, 1.1.1 e così via). Le altre operazioni della riga di comando relative ai gruppi di codice utilizzano a loro volta etichette numeriche per far riferimento a gruppi di codice specifici.

Ai set di autorizzazioni denominati viene fatto riferimento mediante il nome. L'opzione –list visualizza l'elenco dei gruppi di codice seguito dall'elenco dei set di autorizzazioni denominati disponibili in tali criteri. Per l'elenco e la descrizione dei set di autorizzazioni incorporati forniti dal runtime, vedere Set di autorizzazioni denominati.

Funzionamento di Caspol.exe

Tutte le opzioni tranne - s[icurezza] {on | off} utilizzano la versione di.NET Framework con cui è stato installato Caspol.exe. Se si esegue la versione di Caspol.exe installata con la versione X del runtime, le modifiche verranno applicate solo a quella versione. Eventuali altre installazioni parallele del runtime non verranno modificate. Se si esegue Caspol.exe dalla riga di comando, ma non da una directory relativa a una versione specifica del runtime, lo strumento verrà eseguito dalla prima directory della versione del runtime presente nel percorso, generalmente la più recente.

-s[ecurity] {on | L'opzione off} è un'operazione eseguita a livello di computer. Se si disabilita la sicurezza dall'accesso di codice, termineranno tutti i controlli di sicurezza eseguiti durante il funzionamento del computer su tutto il codice gestito e su tutti gli utenti del computer. Se sono installate versioni affiancate di .NET Framework, con questo comando verrà disabilitata la sicurezza per ogni versione installata nel computer. Sebbene l'opzione –list indichi che la sicurezza è disabilitata, nessun altro elemento indica chiaramente agli altri utenti che la sicurezza è stata disabilitata.

Quando Caspol.exe viene eseguito da un utente che non dispone di diritti amministrativi, tutte le opzioni faranno riferimento ai criteri definiti a livello di utente, se non è specificata l'opzione –machine. Quando Caspol.exe viene eseguito da un amministratore, tutte le opzioni faranno riferimento ai criteri definiti a livello di computer, se non è specificata l'opzione –user.

Per consentire l'esecuzione di Caspol.exe, è necessario assegnare allo strumento l'equivalente del set di autorizzazioni Everything. Caspol.exe dispone di un meccanismo protettivo che impedisce che i criteri vengano modificati in modo tale da compromettere l'assegnazione delle autorizzazioni necessarie per l'esecuzione. Se si tenta di apportare modifiche di questo tipo, verrà visualizzato un messaggio che comunica che le modifiche richieste per i criteri impedirebbero il corretto funzionamento dello strumento e pertanto tali modifiche verranno rifiutate. È possibile disabilitare questo meccanismo protettivo per un determinato comando utilizzando l'opzione –force.

Modifica manuale dei file di configurazione della sicurezza

Sono disponibili tre file di configurazione della sicurezza, corrispondenti ai tre livelli di criteri supportati da Caspol.exe: uno per i criteri a livello di computer, uno per i criteri relativi a un determinato utente e uno per i criteri aziendali. Questi file vengono creati nel disco solo quando vengono modificati criteri relativi a computer, utente o azienda utilizzando Caspol.exe. È possibile utilizzare l'opzione –reset in Caspol.exe per salvare i criteri di sicurezza predefiniti nel disco, se necessario.

Nella maggior parte dei casi la modifica manuale dei file di configurazione della sicurezza non è consigliata. In alcuni scenari, tuttavia, la modifica di questi file può essere effettivamente necessaria, ad esempio quando un amministratore desidera modificare la configurazione di sicurezza per un particolare utente.

Esempi

-addfulltrust

Si supponga che un set di autorizzazioni contenente un'autorizzazione personalizzata sia stato aggiunto ai criteri a livello di computer. Questa autorizzazione personalizzata viene implementata in MyPerm.exe e MyPerm.exe fa riferimento a classi contenute in MyOther.exe. Entrambi gli assembly dovranno essere aggiunti all'elenco completamente attendibile di assembly. Il comando che segue aggiunge l'assembly MyPerm.exe all'elenco completamente attendibile relativo ai criteri a livello di computer.

caspol -machine -addfulltrust MyPerm.exe

Il comando che segue aggiunge l'assembly MyOther.exe all'elenco completamente attendibile relativo ai criteri a livello di computer.

caspol -machine -addfulltrust MyOther.exe

-addgroup

Il comando che segue aggiunge un gruppo di codice figlio al primo livello della gerarchia dei gruppi di codice dei criteri definiti a livello di computer. Il nuovo gruppo di codice appartiene alla zona Internet ed è associato al set di autorizzazioni Execution.

caspol -machine -addgroup 1.  -zone Internet Execution

Il comando che segue aggiunge un gruppo di codice figlio che fornisce le autorizzazioni Local Intranet per la condivisione \\netserver\netshare.

caspol -machine -addgroup 1. -url \\netserver\netshare\* LocalIntranet

-addpset

Il comando che segue aggiunge il set di autorizzazioni Mypset ai criteri definiti a livello di utente.

caspol -user -addpset Mypset.xml Mypset

-chggroup

Il comando che segue sostituisce il set di autorizzazioni dei criteri definiti a livello di utente del gruppo di codice con etichetta 1.2. al set di autorizzazioni Esecuzione.

caspol -user -chggroup 1.2. Execution

Il comando che segue modifica la condizione di appartenenza dei criteri predefiniti del gruppo di codice con etichetta 1.2.1. e modifica l'impostazione del contrassegno esclusivo. La condizione di appartenenza viene definita come codice originato nella zona Internet e viene attivato il flag exclusive.

caspol -chggroup 1.2.1. -zone Internet -exclusive on

-chgpset

Il comando che segue sostituisce il set di autorizzazioni denominato Mypset con il set di autorizzazioni contenuto in newpset.xml. Si noti che l'attuale versione dello strumento non supporta la modifica dei set di autorizzazioni utilizzati dalla gerarchia dei gruppi di codice.

caspol -chgpset Mypset newpset.xml

-force

Il comando che segue consente di associare il gruppo di codice di primo livello (con etichetta 1) dei criteri definiti a livello di utente al set di autorizzazioni denominato Nothing. Questo impedisce l'esecuzione di Caspol.exe.

caspol -force -user -chggroup 1 Nothing

-recover

Il comando che segue recupera gli ultimi criteri salvati a livello di computer.

caspol -machine -recover

-remgroup

Il comando che segue rimuove il gruppo di codice con etichetta 1.1. Se tale gruppo di codice presenta gruppi di codice figlio, anche questi verranno eliminati.

caspol -remgroup 1.1.

-rempset

Il comando che segue rimuove il set di autorizzazioni Execution dai criteri definiti a livello di utente.

caspol -user -rempset Execution

Il comando che segue rimuove Mypset dal livello dei criteri utente.

caspol -rempset MyPset

-resolvegroup

Il comando che segue mostra tutti i gruppi di codice dei criteri a livello di computer cui myassembly appartiene.

caspol -machine -resolvegroup myassembly

Il comando che segue mostra tutti i gruppi di codice dei criteri definiti a livello di computer e di azienda nonché dei criteri personalizzati definiti a livello di utente ai quali myassembly appartiene.

caspol -customall "c:\config_test\security.config" -resolvegroup myassembly

-resolveperm

Il comando che segue calcola le autorizzazioni di testassembly sulla base dei livelli di criteri per computer e utente.

caspol -all -resolveperm testassembly

Vedere anche

Riferimenti

Prompt dei comandi di Visual Studio e Windows SDK

Altre risorse

Strumenti di .NET Framework

Configurazione dei criteri di sicurezza tramite lo Strumento criteri di sicurezza per l'accesso al codice (Caspol.exe)

Gestione dei criteri di sicurezza

Cronologia delle modifiche

Data

Cronologia

Motivo

Aprile 2011

Sono state aggiunte informazioni sull'utilizzo di Visual Studio e dei prompt dei comandi di Windows SDK.

Miglioramento delle informazioni.

Agosto 2010

Sono state aggiunte informazioni sulla versione a 64 bit di Caspol.exe.

Miglioramento delle informazioni.

Agosto 2010

È stata corretta la sintassi nell'ultimo esempio.

Commenti e suggerimenti dei clienti.