Usare i file dei criteri di sicurezza di Reporting Services

In Reporting Services le informazioni sui criteri di sicurezza dei componenti sono archiviate in tre file di configurazione che vengono copiati nel file system durante l'installazione. Questi file possono contenere una combinazione di criteri di sicurezza per uso interno e definiti dall'utente per gli assembly del codice in Reporting Services. I tre file di configurazione corrispondono a tre componenti a sicurezza diretta in Reporting Services, ovvero il server di report e il servizio Windows, l'applicazione Web Gestione report e la finestra di anteprima Progettazione report.

Nota

In Progettazione report sono disponibili due modalità di anteprima, ovvero la scheda di anteprima e la finestra popup di anteprima visualizzate quando il Progetto report viene avviato in modalità DebugLocal. La scheda Anteprima non è un componente a protezione diretta e non applica alcuna impostazione dei criteri di sicurezza. La finestra di anteprima consente di simulare le funzionalità del server di report e pertanto dispone di un file di configurazione di criteri che l'utente o un amministratore deve modificare per utilizzare assembly ed estensioni personalizzati in Progettazione report.

I file di configurazione dei criteri di sicurezza contengono informazioni sulle classi di sicurezza, alcuni set di autorizzazioni denominati predefiniti e i gruppi di codice per gli assembly di Reporting Services. I file di configurazione dei criteri di Reporting Services sono simili al file Security.config che determina la gerarchia dei gruppi di codice e i set di autorizzazioni associati al computer e i criteri a livello aziendale in .NET Framework. Il percorso di questo file è C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\CONFIG\security.config.

File di criteri in Reporting Services

Nella tabella seguente vengono elencati i file di configurazione dei criteri di Reporting Services, i percorsi (presupponendo un'installazione predefinita) e le rispettive funzioni.

File name Percorso (installazione predefinita) Descrizione
rssrvpolicy.config C:\Programmi\Microsoft SQL Server\MSRS10_50.MSSQLSERVER\Reporting Services\ReportServer File di configurazione dei criteri del server di report. Questi criteri di sicurezza influiscono principalmente sulle espressioni del report e sugli assembly personalizzati dopo che un report è stato distribuito in un server di report. Questo file di criteri influisce inoltre sulle estensioni per i dati personalizzati, il recapito e il rendering e sulle estensioni di sicurezza distribuite nel server di report.
rsmgrpolicy.config C:\Programmi\Microsoft SQL Server\MSRS10_50.MSSQLSERVER\Reporting Services\ReportManager File di configurazione dei criteri di Gestione report. Questi criteri di sicurezza influiscono su tutti gli assembly che estendono Gestione report; ad esempio estensioni dell'interfaccia utente della sottoscrizione per il recapito personalizzato.
rspreviewpolicy.config C:\Programmi\Microsoft Visual Studio 9.0\Common7\IDE\PrivateAssemblies File di configurazione autonomo dei criteri di anteprima di Progettazione report. Questi criteri di sicurezza influiscono sugli assembly personalizzati e sulle espressioni del report utilizzate nei report durante l'anteprima e lo sviluppo. Questi criteri influiscono anche sulle estensioni personalizzate distribuite in Progettazione report, ad esempio le estensioni per l'elaborazione dati.

Modificare i file di configurazione

Le impostazioni di configurazione sono specificate come elementi o attributi XML. Se si conoscono il linguaggio XML e i file di configurazione, è possibile utilizzare un editor di testo o di codice per modificare le impostazioni definibili dall'utente. I file di configurazione della sicurezza contengono informazioni sulla gerarchia dei gruppi di codice e sui set di autorizzazioni associati a un livello di criteri in Reporting Services. È consigliabile usare Utilità di configurazione .NET Framework (Mscorcfg.msc) o Utilità criteri di sicurezza dall'accesso di codice (Caspol.exe) per modificare prima i criteri di sicurezza nel file Security.config. Questo passaggio garantisce che le modifiche dei criteri corrispondano agli elementi di configurazione XML validi per i file di criteri. A tale scopo, è possibile tagliare e incollare i nuovi gruppi di codice e i nuovi set di autorizzazioni da Security.config al file di criteri per il componente a cui si aggiungono autorizzazioni di codice.

Importante

Prima di apportare qualsiasi modifica, è necessario eseguire il backup dei file di configurazione dei criteri.

L'utilizzo di questo approccio consente di realizzare due obiettivi. Innanzitutto è possibile utilizzare uno strumento di visualizzazione per compilare i gruppi di codice e i set di autorizzazioni per Reporting Services. Questo metodo è più semplice rispetto alla scrittura di elementi di configurazione XML da zero. In secondo luogo, garantisce di non danneggiare i file di configurazione dei criteri di sicurezza con elementi e attributi XML in formato non valido. Per ulteriori informazioni sull'utilità Criteri di sicurezza dall'accesso di codice, vedere Utilizzo di file di criteri di sicurezza di Reporting Services in MSDN.

Prima di modificare i file di configurazione dei criteri, è necessario leggere tutte le informazioni disponibili in questa sezione e negli articoli correlati. La modifica della configurazione dei criteri di Reporting Services può influire significativamente sulla modalità di esecuzione dei moduli di codice esterno dei componenti di Reporting Services.

Posizionamento degli elementi CodeGroup per le estensioni

La posizione degli elementi CodeGroup in un file di criteri di sicurezza è importante. Per le estensioni e gli assembly personalizzati sviluppati, è necessario inserire i gruppi di codice personalizzati direttamente sotto la voce esistente per l'appartenenza $CodeGen$/*all'URL , come indicato nell'esempio seguente:

<CodeGroup  
    class="UnionCodeGroup"  
    version="1"  
    PermissionSetName="FullTrust">  
    <IMembershipCondition   
        class="UrlMembershipCondition"  
        version="1"  
        Url="$CodeGen$/*"  
    />  
</CodeGroup>  
<CodeGroup   
    class="UnionCodeGroup"  
    version="1"  
    PermissionSetName="FullTrust"  
    Name="MyCustomCodeGroup"  
    Description="Code group for my custom extension">  
        <IMembershipCondition class="UrlMembershipCondition"  
        version="1"  
        Url="C:\Program Files\Microsoft SQL Server\MSSQL\Reporting Services\ReportServer\bin\MyAssembly.dll"  
        />  
</CodeGroup>  

Altri gruppi di codice possono essere aggiunti uno dopo l'altro.