Configurare le connessioni TLS in un server di report in modalità nativa
Si applica a: SQL Server Reporting Services 2016 (13.x) e versioni successive Server di report di Power BI
Nella modalità nativa di SQL Server Reporting Services è possibile usare il protocollo TLS (Transport Layer Security) per stabilire connessioni crittografate in un server di report. Il protocollo TLS era noto in precedenza come Secure Sockets Layer (SSL). Se si dispone di un file di certificato (con estensione cer) installato in un archivio certificati locale nel server di report, è possibile associare il certificato a una prenotazione di URL di SSRS per supportare le connessioni al server di report tramite un canale crittografato.
Suggerimento
Per altre informazioni sulla modalità SharePoint di SQL Server Reporting Services, vedere Server di report di Reporting Services (modalità SharePoint).
Poiché anche Internet Information Services (IIS) usa TLS, si verificano problemi di interoperabilità significativi di cui è necessario tenere conto se si sceglie di eseguire IIS e SSRS nello stesso computer. Esaminare la sezione Problemi di interoperabilità con IIS per indicazioni su come risolvere tali problemi.
Prerequisiti
- Server di report configurato in modalità nativa
- Un certificato server installato nel computer
Installare un certificato del server
È necessario installare un certificato server nel server di report nell'archivio locale. I certificati client non sono supportati.
In SSRS non sono disponibili funzionalità per la richiesta, la generazione, il download o l'installazione di un certificato. È possibile scegliere le proprietà specificate per il certificato e l'autorità di certificazione da cui è stato ottenuto. Si decide anche gli strumenti e le utilità usati per richiedere e installare il certificato.
Esistono alcune possibilità per ottenere un certificato:
Windows Server fornisce uno snap-in Certificati che è possibile usare per richiedere un certificato da un'autorità di certificazione attendibile.
Se si vuole generare un certificato in locale a scopo di test, è possibile eseguire lo script di PowerShell seguente.
- Eseguire lo script come amministratore.
- Sostituire i segnaposto con i valori appropriati per l'ambiente.
# Create a self-signed certificate in the local store. $newCertificate = New-SelfSignedCertificate -CertStoreLocation cert:\LocalMachine\My -DnsName <server-name> -FriendlyName "<friendly-name>" # Convert the report server password to a secure string. $secureStringPassword = ConvertTo-SecureString "<server-password>" -AsPlainText -Force # Set up a temporary folder if one doesn't exist. $folderPath = "C:\Temp" if (-not (Test-Path -Path $folderPath)) { New-Item -Path $folderPath -ItemType Directory } # Set up a variable for the path of a certificate file. $certificateFilePath = $folderPath, "\certificate-export.pfx" -join "" # Set up a variable for the path of the certificate's store location. $certificateStoreLocation = "cert:\LocalMachine\My\", $newCertificate.Thumbprint -join "" # Export the certificate to the file. Export-PFXCertificate -Cert $certificateStoreLocation -File $certificateFilePath -Password $secureStringPassword # Import the certificate from the file to the trusted root to avoid problems with the certificate not being trusted. Import-PfxCertificate -FilePath $certificateFilePath cert:\LocalMachine\Root -Password $secureStringPassword
Il certificato è ora disponibile per l'uso in Gestione configurazione server di report.
Se si eseguono IIS e SSRS nello stesso computer, è possibile usare l'applicazione console IIS Manager per richiedere e installare un certificato:
- In IIS Manager, creare e assemblare un file di richiesta di certificato (con estensione crt) per l'elaborazione successiva da parte di un'autorità di certificazione attendibile. Per altre informazioni, vedere Richiedi un certificato server.
- Dopo che l'autorità di certificazione invia il file del certificato (.cer), usare Gestione IIS per installare il file del certificato nell'archivio locale. Per altre informazioni, vedere Installa un certificato server.
Problemi di interoperabilità con IIS
La presenza di IIS nello stesso computer di SSRS influirà in modo significativo sulle connessioni TLS a un server di report:
- Quando si configurano gli URL del server di report per le connessioni TLS, viene creata una dipendenza in IIS. IIS, a sua volta, ha una dipendenza dal servizio pubblicazione Web globale. Di conseguenza, il servizio pubblicazione Web globale deve essere in esecuzione quando si configurano gli URL del server di report per le connessioni TLS.
- La disinstallazione di IIS può interrompere temporaneamente il servizio per un URL del server di report associato a TLS. Dopo aver disinstallato IIS, è necessario riavviare il computer per cancellare tutte le sessioni TLS dalla cache. Alcuni sistemi operativi memorizzano nella cache le sessioni TLS fino a 10 ore. Di conseguenza, un URL associato a TLS può continuare a funzionare dopo la rimozione dell'associazione TLS dalla prenotazione URL nel repository HTTP.sys. Con il riavvio del computer vengono chiuse tutte le connessioni aperte che utilizzano il canale.
Associare TLS a una prenotazione URL SSRS
Le prenotazioni per l'URL del servizio Web ReportServer vengono configurate in modo indipendente.
Configurare l'accesso al servizio Web tramite un canale crittografato TLS
Per configurare un URL che è possibile usare per accedere al server di report, seguire questa procedura:
Aprire Gestione configurazione server di report e connettersi al server di report.
Nella pagina Stato Server di report selezionare Arresta.
Un messaggio nella finestra Risultati indica che il server è stato arrestato.
Selezionare Inizio. Un messaggio nella finestra Risultati indica che il server è in esecuzione.
Nel riquadro Connetti, selezionare URL servizio Web.
Nell'elenco Certificato HTTPS selezionare il certificato installato.
Selezionare Applica. I messaggi nella finestra Risultati indicano lo stato di avanzamento dello strumento di configurazione.
In URL del servizio Web ReportServer, selezionare l'URL riservato. Se richiesto, immettere le credenziali per il server di report. Viene visualizzata una finestra del browser per fornire l'accesso al server di report.
Se l'URL non si connette al server di report, controllare il database del server di report. Affinché l'URL funzioni, è prima necessario creare e configurare il database.
Configurare l'accesso al portale Web tramite un canale crittografato TLS
Se si vuole configurare anche l'accesso al portale Web tramite un canale crittografato con TLS, continuare con i passaggi seguenti:
In Gestione configurazione server di report, nel pannello Connetti, selezionare l'URL del portale Web.
Seleziona Avanzate.
In Più identità HTTPS per la funzionalità Reporting Services attualmente selezionata, selezionare Aggiungi.
Nell'elenco Certificato selezionare il certificato installato e quindi selezionare OK.
I messaggi nella finestra Risultati indicano lo stato di avanzamento dello strumento di configurazione.
In Identificazione sito portale Web selezionare l'URL riservato. Se richiesto, immettere le credenziali per il server di report. Viene visualizzata una finestra del browser che visualizza la home page di SSRS.
Modalità di archiviazione delle associazioni certificato
Le associazioni certificato vengono archiviate nel repository HTTP.sys. Una rappresentazione delle associazioni definite viene archiviata anche nella sezione URLReservations del file RSReportServer.config.
Le impostazioni nel file di configurazione sono solo una rappresentazione dei valori effettivi specificati altrove. Non modificare i valori direttamente nel file di configurazione.
Le impostazioni di configurazione vengono visualizzate nel file solo dopo che è stato utilizzato il Configuration Manager di Reporting Services o il provider WMI (Windows Management Instrumentation, Strumentazione gestione Windows) del server di report per associare un certificato.
Nota
Se si configura un'associazione con un certificato TLS in SSRS e successivamente si vuole rimuovere il certificato dal computer, rimuovere l'associazione da SSRS prima di rimuovere il certificato dal computer. In caso contrario, non è possibile rimuovere l'associazione usando Gestione configurazione del server di report o WMI e viene visualizzato un messaggio "Parametro non valido".
Dopo aver rimosso il certificato dal computer, è possibile utilizzare lo strumento HttpCfg.exe per rimuovere l'associazione da HTTP.sys. Per altre informazioni, vedere HttpCfg.exe.
Le associazioni TLS sono una risorsa condivisa in Windows. Quando si usa Gestione configurazione server di report o altri strumenti come Gestione IIS pere modificare le associazioni, tali modifiche possono influire su altre applicazioni presenti nello stesso computer.
Per creare e modificare le associazioni è quindi consigliabile utilizzare lo stesso strumento. Ad esempio, se le associazioni TLS sono state create mediante Gestione configurazione server di report, usare questo stesso strumento anche per gestire il ciclo di vita delle associazioni. Se si utilizza Gestione IIS per creare associazioni, utilizzare Gestione IIS per gestire il ciclo di vita delle associazioni.
Se IIS viene installato nel computer prima di SSRS, è consigliabile esaminare la configurazione TLS in IIS prima di configurare SSRS.