Pianificazione della distribuzione in Internet o in reti Extranet
Sebbene SQL ServerReporting Services non sia espressamente progettato per scenari di distribuzione dei report in Internet o in reti Extranet, è possibile inserire Reporting Services in un server Web che si interfaccia a Internet per distribuire informazioni generali al pubblico sul Web o dati aziendali privati a utenti autorizzati e autenticati.
[!NOTA]
La distribuzione di Reporting Services in un server Web che si interfaccia a Internet richiede un'attenta valutazione. Il software di rete e di protezione, la topologia di rete e la configurazione del dominio possono introdurre variabili che rendono difficile indicare la corretta serie di passaggi per la distribuzione del server di report. Quando si valuta un server di report per l'accesso a Internet, assicurarsi che gli scenari di test includano tutte le funzionalità che si intende utilizzare e che i test vengano sempre eseguiti utilizzando connessioni protette.
Diagramma dell'architettura su Internet o reti Extranet
Nell'illustrazione seguente viene fornito un esempio di una configurazione di distribuzione consigliata per la distribuzione in Internet o in reti Extranet.
I principali punti da notare per quanto riguarda il diagramma sono i seguenti:
Tre firewall forniscono una difesa approfondita nell'intera distribuzione. In questo argomento vengono forniti consigli per la configurazione dei firewall.
Il punto di ingresso è un'applicazione Internet personalizzata che contiene il controllo ReportViewer. Il controllo ospita un report che viene eseguito in un server di report dietro il secondo firewall.
Per i report si utilizzano i dati di origini dati di sola lettura create appositamente per le operazioni con i report. Le origini dati contengono dati copiati da altre origini, ma senza valori di dati sensibili che non si utilizzerebbero mai in un report.
I server di dati aziendali contengono dati sensibili protetti tramite autorizzazioni e impostazioni firewall restrittive. È inoltre opportuno scegliere di includere il database del server di report in questa area di protezione, in modo che tutti i server di database che richiedono l'accesso in lettura/scrittura possano utilizzare la protezione fornita dal terzo firewall.
Linee guida generali
Nell'elenco seguente sono fornite linee guida generali per la distribuzione di Reporting Services nella topologia illustrata in questo argomento. Questo elenco viene offerto come un punto iniziale per la creazione di un piano di distribuzione. La configurazione specifica della topologia di rete richiederà probabilmente passaggi aggiuntivi non descritti in tale elenco.
È importante distribuire la configurazione in un ambiente di test per verificare di aver identificato tutti i requisiti, le impostazioni, i passaggi e l'ordine ottimale di tali passaggi:
Installare i firewall e identificare i server, gli account e le autorizzazioni.
Creare o ottenere certificati server per le connessioni SSL. Installare i certificati in tutti i computer che ospitano i componenti server. Se i certificati sono stati installati con impostazioni basate su caratteri jolly, è possibile utilizzare lo stesso certificato per più URL.
Progettare e implementare un approccio per la copia di dati aziendali in modo da separare le origini dati dei report. È possibile utilizzare tecnologie quali la replica, SQL ServerIntegration Services o un prodotto di terze parti.
Installare Reporting Services in modalità di installazione di tipo "solo file" in modo che sia possibile configurarlo con impostazioni valide per l'accesso esterno. Nell'Installazione guidata di SQL Server utilizzare l'opzione Installa senza configurare il server.
Eseguire lo strumento di configurazione di Reporting Services al termine dell'installazione per configurare il server di report:
Verificare che il servizio venga eseguito con un account con privilegi minimi. Evitare di utilizzare Sistema locale. Se è stato selezionato Sistema locale, modificare l'account per utilizzare NetworkService o un account utente di dominio.
Definire un URL del server di report e, se si desidera, un URL di Gestione report:
È necessario creare più URL per supportare l'accesso tramite un nome di dominio completo (FQDN) che verrà utilizzato dagli utenti esterni e un URL diverso basato sul nome di rete. Se si utilizzano due URL diversi, sarà possibile connettersi al server di report qualora la connessione Internet sia disattivata o non in linea.
È consigliabile selezionare i certificati SSL per gli URL di FQDN definiti.
Creare il database del server di report. Se l'istanza di SQL Server si trova in un dominio diverso e Kerberos 5.0 non è attivato, utilizzare l'autenticazione di SQL Server per la connessione al database del server di report. Proteggere la connessione tra il computer del server di report e l'istanza del Motore di database di SQL Server utilizzando SSL o IPsec.
Creare e distribuire un'estensione di autenticazione personalizzata. Se si utilizza una tecnologia Single Sign-On implementata come filtro ISAPI, è necessario utilizzare ISA Server per supportare il filtro ISAPI. Il listener HTTP di Reporting Services non supporta i filtri ISAPI.
Configurare le assegnazioni di ruolo in base ai principi di protezione dell'estensione di autenticazione personalizzata e mapparle ai ruoli che comportano le autorizzazioni per le operazioni del server di report.
Creare e distribuire un'applicazione Internet front-end che utilizza il controllo server Web ReportViewer.
Pubblicare report e altri tipi di contenuto sul server di report.
Configurare le impostazioni del firewall. Verificare che le impostazioni del firewall consentano un accesso minimo a computer e applicazioni a valle.
Configurazioni del firewall
Gli URL predefiniti per le applicazioni del server di report presuppongono che la porta 80 sia attivata e disponibile per il server di report. Se si utilizza Windows Firewall, è necessario aprire la porta 80 o un'altra porta disponibile per le richieste HTTP del server di report. Se si utilizza una porta diversa, assicurarsi di specificarla negli URL del server di report. Per ulteriori informazioni, vedere Procedura: Configurazione di un firewall per l'accesso al server di report. Per ulteriori informazioni sulle impostazioni predefinite di Windows Firewall e per una descrizione delle porte TCP che interessano il Motore di database, Analysis Services, Reporting Services e Integration Services, vedere Configurazione di Windows Firewall per consentire l'accesso a SQL Server.
Controllo server Web ReportViewer in un'applicazione Internet
Per distribuire report in un'applicazione Internet, è possibile incorporare il controllo server Web ReportViewer in un'applicazione Internet personalizzata creata e distribuita. Il controllo server Web ReportViewer è incluso in Visual Studio 2005 e versioni successive e può essere distribuito liberamente con l'applicazione. È possibile configurare il controllo in modo da visualizzare i report che vengono eseguiti in un server di report. La connessione tra l'applicazione e il server di report è gestita dal controllo, attraverso l'interfaccia di programmazione del servizio Web. Tutte le autenticazioni e le autorizzazioni vengono gestite dall'applicazione in uso, che si connette al server di report tramite un'unica connessione trusted a livello di utente.
Per ulteriori informazioni, vedere Controlli di Visualizzatore report e Reporting Services in Visual Studio.
Gestione report come front-end Web per Internet o reti Extranet
Gestione report non è progettato come applicazione Internet, ma se non è possibile creare un'applicazione Internet personalizzata, è possibile utilizzare Gestione report per visualizzare report tramite una connessione Internet. I suggerimenti seguenti vengono offerti come indicazioni di procedure consigliate per la distribuzione:
Installare Gestione report come istanza distinta in un server applicazioni. Gestione report viene eseguito all'interno del servizio del server di report. Pertanto, per installare Gestione report è necessario installare Reporting Services e quindi disattivare il servizio Web e le funzionalità di pianificazione e recapito nel servizio. Per ottimizzare i risultati, installare Reporting Services in un server Web che si interfaccia a Internet utilizzando la modalità di installazione di tipo "solo file". Nell'Installazione guidata di SQL Server utilizzare l'opzione Installa senza configurare il server.
Creare e distribuire un'estensione di protezione personalizzata per supportare l'autenticazione basata su form o una tecnologia Single-Sign On.
Configurare Gestione report per autorizzazioni minime. Il ruolo Visualizzazione e il ruolo Utente sistema sono sufficienti per la visualizzazione di report.
Per puntare Gestione report a un'istanza del server di report diversa eseguita in un computer distinto, è necessario configurare l'URL di Gestione report e quindi modificare le impostazioni <ReportServerVirtualDirectory> e <ReportServerUrl> nel file RSReportServer.config in modo da puntare Gestione report all'istanza del server di report.
Nel server di report a cui ci si connette, disattivare le funzionalità che non si prevede di utilizzare, ad esempio Report personali, sottoscrizione e recapito, Generatore report e stampa lato client.
Configurazione delle impostazioni proxy nei file Web.config
Se si utilizza Gestione report come applicazione front-end per la distribuzione in Internet e nello stesso computer è installato anche il server di report, è necessario specificare un'impostazione di Web.config che consenta a Gestione report di ignorare il server proxy in caso di invio di richieste a un server di report locale installato nello stesso computer.
L'impostazione di Web.config è l'impostazione della rete System.NET defaultProxy. Per impostazione predefinita, nel file Web.config defaultProxy è disattivata per Gestione report. Questa è la configurazione consigliata quando Gestione report e il server di report sono distribuiti nello stesso computer.
Se è stato eseguito un aggiornamento da una versione precedente di Reporting Services, il file Web.config di Gestione report non include l'impostazione di configurazione defaultProxy. È possibile aggiungere e configurare l'impostazione defaultProxy per ignorare il server proxy per le installazioni in cui Gestione report e il server di report vengono eseguiti nello stesso computer. Copiare le impostazioni di configurazione seguenti nel file Web.config di Gestione report:
<configuration>
...
<system.net>
<defaultProxy enabled="false" />
</system.net>
</configuration>
Per ulteriori informazioni su queste impostazioni, vedere gli argomenti relativi alla configurazione delle applicazioni Internet e all'elemento defaultProxy (impostazioni di rete) nella Guida per gli sviluppatori di Microsoft.NET Framework.
Considerazioni sull'autenticazione per la distribuzione in Internet e in reti Extranet
Per distribuire un server di report in uno scenario Extranet che supporta connessioni da account di Microsoft Active Directory predefiniti, è possibile utilizzare l'estensione di protezione predefinita dell'autenticazione di Windows. Pianificare la configurazione del server per connessioni SSL (Secure Sockets Layer) e l'autenticazione di base. È possibile utilizzare lo strumento di configurazione di Reporting Services per mappare un certificato esistente a un URL del server di report. È possibile modificare i file di configurazione per specificare il tipo di autenticazione.
Per distribuire un server di report in uno scenario Extranet che supporta connessioni da una tecnologia con punto di accesso singolo o modello di autenticazione basato su form che archivia le informazioni sull'identità dell'utente in un database, è necessario creare un'estensione di autenticazione personalizzata per sostituire l'estensione di protezione predefinita dell'autenticazione di Windows. L'autenticazione basata su form è in genere utilizzata quando si apre un server di report al pubblico ma si desidera che solo gli utenti autenticati visualizzino il contenuto. Per impostazione predefinita, in SQL ServerReporting Services non è disponibile un modulo di autenticazione basata su form. Per ulteriori informazioni su come crearne uno, vedere Implementazione di un'estensione di protezione nella documentazione in linea di SQL Server.
Verifica della distribuzione tramite Internet
Per verificare che la connessione al server di report sia accessibile, è necessario poter visualizzare lo spazio dei nomi della cartella del server di report su una connessione Internet digitando http: (oppure https:)//<your-web-server-fully-qualified-domain-name>/reportserver, dove /reportserver è il nome predefinito della directory virtuale del server di report.