Aggiunta di gruppi di codice

Quando si utilizza Caspol.exe per aggiungere un gruppo di codice a una gerarchia di gruppi di codice, è necessario definire sia una condizione di appartenenza sia un set di autorizzazioni per il nuovo gruppo di codice. È inoltre necessario definire l'etichetta o il nome del gruppo di codice padre a cui si aggiunge il nuovo gruppo di codice. Se lo si desidera, è inoltre possibile impostare altri flag per il gruppo di codice. Per ulteriori informazioni su questi flag, vedere Strumento criteri di protezione per l'accesso al codice (Caspol.exe).

Per aggiungere un nuovo gruppo di codice alla gerarchia dei gruppi di codice

  • Digitare il seguente comando al prompt dei comandi:

    caspol [-enterprise|-machine|-user] -addgroup ** {parentLabel|parentName} mship pset_name [-exclusive {on|off}][-levelfinal {on|off}] [-name name] [-description description text]

    Specificare l'opzione per il livello di criteri prima dell'opzione –addgroup. Se si omette tale opzione, Caspol.exe aggiungerà il gruppo di codice al livello di criteri predefinito. Il livello predefinito per gli amministratori di sistema è il livello di criteri per il computer, per gli altri, è il livello di criteri per l'utente. In questo comando:

    • L'argomento parentLabel è l'etichetta del gruppo di codice padre per il nuovo gruppo di codice. In alternativa è possibile utilizzare il nome del gruppo di codice padre (parentName) anziché parentLabel. Per ottenere queste informazioni, elencare i gruppi di codice come descritto in Visualizzazione dei gruppi di codice.

    • L'argomento pset_name è il nome del set di autorizzazioni da associare al nuovo gruppo di codice. Prima di associare un set di autorizzazioni denominate a un gruppo di codice, è necessario conoscere il livello di criteri a cui aggiungere il nuovo gruppo di codice. Se, ad esempio, si desidera associare un set di autorizzazioni MyPset a un nuovo gruppo di codice del livello di criteri utente, è necessario avere aggiunto in precedenza il set di autorizzazioni MyPset a tale livello di criteri. L'unico caso in cui non è necessario aggiungere il set di autorizzazioni, è quando si utilizza uno dei set di autorizzazioni standard fornito da .NET Framework. Per informazioni su come aggiungere un set di autorizzazioni a un livello di criteri, vedere Aggiunta di set di autorizzazioni.

    • L'argomento mship è la condizione di appartenenza per il nuovo gruppo di codice. Per ulteriori informazioni sull'elenco di valori dell'argomento mship, vedere Strumento criteri di protezione per l'accesso al codice (Caspol.exe).

      Nota    L'opzione –addgroup consente di aggiungere un gruppo di codice a un solo livello alla volta. Ogni aggiunta di questo tipo deve essere eseguita separatamente, poiché più etichette di gruppi di codice e la disponibilità di determinati set di autorizzazioni possono generare confusione.

Attività di aggiunta di gruppi di codice comuni

Nelle procedure illustrate di seguito viene descritto come eseguire le più comuni attività di aggiunta di gruppi di codice.

Per aggiungere un gruppo di codice destinato al codice derivato da una Intranet

  • Utilizzare l'opzione -zone e specificare Intranet come valore di appartenenza.

    Mediante il seguente comando, il set di autorizzazioni Everything viene associato al codice da Intranet. Al gruppo di codice viene inoltre assegnato il nome Intranet_CG. Per indicare il nuovo gruppo di codice, è possibile utilizzare questo nome anziché le etichette numeriche.

    caspol –addgroup 1.1. –zone Intranet Everything –name "Intranet_CG"
    

Per aggiungere un gruppo di codice destinato a codice derivato da siti attendibili di Internet Explorer

  • Utilizzare l'opzione -zone e specificare Trusted come valore di appartenenza.

    Mediante il seguente comando il set di autorizzazioni LocalIntranet viene associato al codice derivato dall'area attendibile e il nuovo gruppo di codice viene inserito come figlio della gerarchia dei gruppi di codice di primo livello.

    caspol -addgroup All_Code -zone Trusted LocalIntranet
    

Per aggiungere un gruppo di codice destinato a uno specifico editore di software

  • Utilizzare l'opzione –pub e specificare un file di certificato, un file firmato o la rappresentazione esadecimale di un certificato X.509.

    I file di un editore di software devono essere firmati in modo corretto, per consentire il funzionamento della condizione di appartenenza. La condizione di appartenenza può essere costruita sulla base di un file di certificato o di un file EXE firmato.

    Se, ad esempio, il file di certificato per FourthCoffee (FourthCoffee.cer) è disponibile, mediante il seguente comando viene aggiunto un gruppo di codice ai criteri del computer per il codice pubblicato da FourthCoffee e viene associato il set di autorizzazioni Nothing al nuovo gruppo. Il gruppo di codice viene aggiunto come gruppo di codice figlio di primo livello.

    caspol –machine –addgroup 1 –pub –cert FourthCoffee.cer Nothing
    

Per aggiungere un gruppo di codice destinato al codice derivato da un particolare sito Web

  • Utilizzare l'opzione –site e specificare l'URL del sito Web.

    Nota   A causa della possibilità di spoofing del nome DNS, l'utilizzo di un sito Web come condizione di appartenenza non è un metodo sicuro per garantire 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.

    Mediante il seguente comando viene associato il set di autorizzazioni Intranet al codice derivato da www.microsoft.com.

    caspol –addgroup 1 –site www.microsoft.com Intranet
    

Per aggiungere un gruppo di codice destinato al codice derivato da un particolare URL

  • Utilizzare l'opzione –url e specificare l'URL del sito.

    Con l'URL occorre specificare un protocollo, quale http:// o ftp://. È inoltre possibile utilizzare un carattere jolly (*) per specificare più assembly da un determinato URL.

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

    caspol –user –addgroup 1 –url http://www.contoso.com/bin/* FullTrust
    caspol –user –addgroup 1 –url http://www.contoso.com/bin/MyAssembly.dll FullTrust
    

Per aggiungere un gruppo di codice che esegue l'override di altre autorizzazioni a un livello di criteri

  • Impostare il flag –exclusive per il nuovo gruppo di codice.

    Mediante il seguente comando viene aggiunto un gruppo di codice al gruppo Intranet_cg. Se l'area è attendibile, il nuovo gruppo di codice concede il set di autorizzazioni Everything eseguendo l'override di altre eventuali autorizzazioni che possono essere state concesse da altri gruppi di codice.

    caspol –addgroup "Intranet_cg" –zone Trusted Everything –exclusive on
    

Per aggiungere un gruppo di codice con una condizione di appartenenza personalizzata

  • Utilizzare l'opzione –custom e specificare un file XML contenente la serializzazione XML della condizione di appartenenza personalizzata.

    Caspol.exe supporta l'utilizzo di condizioni di appartenenza personalizzate nei criteri. In tal modo il sistema dei criteri diviene particolarmente estensibile.

    Mediante il seguente comando viene aggiunto un nuovo gruppo di codice alla directory principale dei criteri per l'utente. Il nuovo gruppo di codice è caratterizzato da una condizione di appartenenza personalizzata rilevata nel file NewMembershipCondition.xml e concede l'attendibilità totale agli assembly che corrispondono a questa condizione di appartenenza.

    caspol –user –addgroup All_Code –custom NewMembershipCondition.xml FullTrust
    

Per aggiungere un gruppo di codice con un nome e una descrizione

  1. Utilizzare l'opzione –name e specificare un nome per il gruppo di codice. È necessario racchiudere tra virgolette doppie (" ") i nomi che includono spazi.
  2. Utilizzare l'opzione –description e specificare una descrizione per il gruppo di codice.

È possibile utilizzare successivamente tale nome per indicare un gruppo di codice. Il nome fornisce un supporto migliore rispetto alle etichette numeriche, per la creazione di script per le modifiche dei criteri.

I criteri predefiniti sono forniti con nomi predefiniti. Se non vengono modificati esplicitamente da un amministratore, i nomi predefiniti consentono agli amministratori che utilizzano Caspol.exe di accedere con maggiore facilità a gruppi di codice specifici in diversi criteri e computer.

Mediante il seguente comando viene aggiunto un gruppo di codice al gruppo All_Code dei criteri per il computer. Il nuovo gruppo di codice ricerca un nome sicuro FourthCoffee (come riportato in Signed.exe) e concede FullTrust a tutto il codice che viene così firmato. Al gruppo del codice viene assegnato il nome FouthCoffeeStrongName e una descrizione appropriata.

caspol –machine –addgroup All_Code –strong –file signed.exe FullTrust –name FouthCoffeeStrongName –description "Code group granting trust to code signed by FourthCoffee"

Nota   Se lo stesso nome è presente in più gruppi di codice, Caspol.exe prende in considerazione il primo gruppo di codice individuato con il nome specificato. Esegue una ricerca in tutti i gruppi di codice figlio di un gruppo di codice, prima di cercare gruppi di pari livello.

Vedere anche

Configurazione dei criteri di protezione tramite lo Strumento criteri di protezione per l'accesso al codice (Caspol.exe) | Configurazione dei gruppi di codice tramite Caspol.exe | Modello dei criteri di protezione | Strumento criteri di protezione per l'accesso al codice (Caspol.exe)