Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
Di default, Reporting Services accetta richieste che specificano l'autenticazione Negotiate o NTLM. Se la tua distribuzione include applicazioni client e browser che utilizzano questi provider di sicurezza, puoi usare i valori predefiniti senza altre configurazioni. Supponiamo che tu voglia usare un altro fornitore di sicurezza per la sicurezza integrata di Windows, oppure se modifichi i valori predefiniti e vuoi ripristinare le impostazioni originali. Puoi utilizzare le informazioni contenute in questo articolo per specificare le impostazioni di autenticazione sul server di report.
Per utilizzare la sicurezza integrata di Windows, ogni utente che necessita di accesso a un server di report deve avere un account utente locale o di dominio Windows valido. Oppure, devono essere membri di un account locale o di un gruppo di dominio di Windows. Puoi includere account di altri domini purché quei domini siano affidabili. Gli account devono avere accesso al computer del server di report e devono quindi essere assegnati a ruoli per poter accedere a specifiche operazioni del server di report.
Devono essere soddisfatti anche i seguenti requisiti:
I file RSReportServer.config devono avere
AuthenticationTypeimpostato aRSWindowsNegotiate,RSWindowsKerberos, oRSWindowsNTLM. Di default, il file RSReportServer.config include l'impostazioneRSWindowsNegotiatese l'account del servizio Report Server è NetworkService o LocalSystem; altrimenti, viene utilizzata l'impostazioneRSWindowsNTLM. Puoi aggiungereRSWindowsKerberosse hai applicazioni che usano solo l'autenticazione Kerberos.Importante
Quando usi
RSWindowsNegotiate, si verifica un errore di autenticazione Kerberos se hai configurato il servizio Report Server per farlo eseguire sotto un account utente di dominio e non hai registrato un Nome Principale del Servizio (SPN) per l'account. Per ulteriori informazioni, vedi Risolvere gli errori di autenticazione di Kerberos quando si connette a un server di report in questo argomento.ASP.NET deve essere configurato per l'autenticazione Windows. Di default, i file Web.config per il servizio Web Report Server includono l'impostazione
<authentication mode="Windows">. Se lo cambi su<authentication mode="Forms">, l'autenticazione di Windows per Reporting Services fallisce.I file Web.config per il servizio Web del Report Server devono avere
<identity impersonate= "true" />.L'applicazione client o il browser deve supportare la sicurezza integrata di Windows.
Il portale web non ha bisogno di più configurazioni.
Per modificare le impostazioni di autenticazione del server di report, modifica gli elementi XML e i valori nel file RSReportServer.config. Puoi copiare e incollare gli esempi di questo articolo per implementare combinazioni specifiche.
Le impostazioni predefinite funzionano meglio se tutti i computer client e server sono nello stesso dominio o in un dominio affidabile. Inoltre, il server di report viene distribuito per l'accesso all'intranet dietro un firewall aziendale. I domini affidabili e i singoli domini sono un requisito per passare le credenziali di Windows. Le credenziali possono essere passate più di una volta se abiliti il protocollo Kerberos versione 5 per i tuoi server. Altrimenti, le credenziali possono essere trasmesse una sola volta prima che scadano. Per maggiori informazioni sulla configurazione delle credenziali per più connessioni informatiche, vedi Specifica informazioni sulle credenziali e sulle connessioni per le fonti di dati del report.
Le istruzioni seguenti sono destinate a un server di report in modalità nativa. Se il server di report viene distribuito in modalità integrata SharePoint, è necessario utilizzare le impostazioni di autenticazione predefinite che specificano la sicurezza integrata di Windows. Il server di report utilizza funzionalità interne nell'estensione predefinita di Windows Authentication per supportare server di report in modalità integrata SharePoint.
Protezione estesa per l'autenticazione
A partire da SQL Server 2008 R2 (10.50.x), è disponibile il supporto per la protezione estesa per l'autenticazione. La funzionalità di SQL Server supporta l'uso dell'associazione di canale e dell'associazione a servizi per migliorare la protezione dell'autenticazione. Le funzionalità di Reporting Services devono essere utilizzate con un sistema operativo che supporti la Protezione Estesa. È possibile definire la configurazione di Reporting Services per la protezione estesa tramite impostazioni specifiche nel file RSReportServer.config. Puoi aggiornare il file modificandolo o usando le API di WMI. Per ulteriori informazioni, consulta Protezione estesa per l'autenticazione con Reporting Services.
Configura un server di report per utilizzare la sicurezza integrata di Windows
Apri RSReportServer.config in un editor di testo.
Trova
<Authentication>.Copia una delle seguenti strutture XML che meglio si adattano alle tue esigenze. Puoi specificare
RSWindowsNegotiate,RSWindowsNTLM, eRSWindowsKerberosin qualsiasi ordine. Dovresti abilitare la persistenza dell'autenticazione se vuoi autenticare la connessione invece che ogni singola richiesta. Con la persistenza dell'autenticazione, tutte le richieste che richiedono autenticazione sono consentite durante la connessione.La prima struttura XML è la configurazione predefinita quando l'account del servizio Report Server è NetworkService o LocalSystem:
<Authentication> <AuthenticationTypes> <RSWindowsNegotiate /> </AuthenticationTypes> <EnableAuthPersistence>true</EnableAuthPersistence> </Authentication>La seconda struttura XML è la configurazione predefinita quando l'account del servizio Report Server non è NetworkService o LocalSystem:
<Authentication> <AuthenticationTypes> <RSWindowsNTLM /> </AuthenticationTypes> <EnableAuthPersistence>true</EnableAuthPersistence> </Authentication>La terza struttura XML specifica tutti i pacchetti di sicurezza utilizzati nella sicurezza integrata di Windows:
<AuthenticationTypes> <RSWindowsNegotiate /> <RSWindowsKerberos /> <RSWindowsNTLM /> </AuthenticationTypes>La quarta struttura XML specifica NTLM solo per le implementazioni che non supportano Kerberos o per aggirare errori di autenticazione Kerberos:
<AuthenticationTypes> <RSWindowsNTLM /> </AuthenticationTypes>Incollalo sulle voci esistenti per
<Authentication>.Non puoi usare
Customcon i tipiRSWindows.Modifica se appropriato le impostazioni per una protezione estesa. La protezione estesa è disabilitata di default. Se queste voci non sono presenti, il computer in uso potrebbe non eseguire una versione di Reporting Services che supporta la protezione estesa. Per ulteriori informazioni, vedi Protezione estesa per l'autenticazione con Reporting Services
<RSWindowsExtendedProtectionLevel>Allow</RSWindowsExtendedProtectionLevel> <RSWindowsExtendedProtectionScenario>Proxy</RSWindowsExtendedProtectionScenario>Salva il file.
Se hai configurato una distribuzione scale-out, ripeti questi passaggi per altri server di report nella distribuzione.
Riavvia il server dei report per cancellare tutte le sessioni attualmente aperte.
Risolvere errori di autenticazione di Kerberos durante la connessione a un server di report
Su un server di report configurato per l'autenticazione Negotiate o Kerberos, una connessione client al server di report fallisce se c'è un errore di autenticazione Kerberos. Gli errori di autenticazione Kerberos sono noti quando:
Il servizio Report Server funziona come account utente del dominio Windows e non hai registrato un Nome Principale del Servizio (SPN) per l'account.
Il server di report è configurato con questa
RSWindowsNegotiateimpostazione.Il browser sceglie Kerberos invece di NTLM nell'intestazione di autenticazione nella richiesta che invia al server di report.
Puoi rilevare l'errore se hai attivato il logging di Kerberos. Un altro sintomo dell'errore è che ti vengono richieste le credenziali più volte e poi vedi una finestra del browser vuota.
Puoi confermare che stai riscontrando un errore di autenticazione Kerberos rimuovendo <RSWindowsNegotiate> dal file di configurazione e ritentando la connessione.
Dopo aver confermato il problema, puoi affrontarlo nei seguenti modi:
Registra un SPN per il servizio Report Server sotto l'account utente del dominio. Per ulteriori informazioni, consultare Registrare un nome dell'entità del servizio (SPN) per un server di reportistica.
Cambia l'account di servizio per farlo funzionare su un account integrato come Network Service. Gli account integrati mappano il SPN HTTP al SPN dell'host, che viene definito quando si collega un computer alla rete. Per altre informazioni, vedere Configurare un account del servizio (Gestione configurazione del server di report).
Usa NTLM. NTLM generalmente funziona nei casi in cui l'autenticazione Kerberos fallisce. Per usare NTLM, rimuovi
RSWindowsNegotiatedal file RSReportServer.config e verifica che sia specificato soloRSWindowsNTLM. Se scegli questo approccio, puoi continuare a usare un account utente di dominio per il servizio Report Server anche se non definisci uno SPN per esso.
In sintesi, dovresti eseguire comandi simili al seguente esempio. Sostituisci i valori secondo opportunità.
setspn -S HTTP/<SSRS Server FDQN> <SSRS Service Account>
setspn -S HTTP/<host header for Report server web site> <SSRS Service Account>
setspn -S HTTP/<SharePoint Server FDQN> <SharePoint Application Pool Account>
setspn -S HTTP/<host header for SharePoint site> <SharePoint Application Pool Account>
setspn -S HTTP/Dummy <Claims to Windows Taken Service Account>
Informazioni sul log
Esistono diverse fonti di informazioni di logging che possono aiutare a risolvere problemi legati a Kerberos.
Attributo utenteAccount-Control
Determina se l'account del servizio Reporting Services ha l'attributo sufficiente impostato in Active Directory. Esamina il file di tracciamento del servizio Reporting Services per trovare il valore registrato per l'attributo UserAccountControl. Il valore registrato è in forma decimale. Devi convertire il valore decimale in forma esadecimale e poi trovare quel valore nell'articolo MSDN che descrive l'Attributo User-Account-Control.
La voce del log di traccia del servizio Reporting Services ha un aspetto simile al seguente esempio:
appdomainmanager!DefaultDomain!8f8!01/14/2010-14:42:28:: i INFO: The UserAccountControl value for the service account is 590336Un'opzione per convertire il valore Decimal in forma esadecimale è, per noi, la Microsoft Windows Calculator. Windows Calculator supporta diverse modalità che mostrano l'opzione
Hexe le opzioniDec. Seleziona l'opzioneDec, incolla o digita il valore decimale trovato nel file di log e poi seleziona l'opzione 'Hex'.Poi consulta l'articolo User-Account-Control Attribute per ricavare l'attributo per l'account del servizio.
SPN configurati in Active Directory per l'account di servizio di Reporting Services
Per registrare gli SPN nel file di tracciamento del servizio Reporting Services, puoi attivare temporaneamente la funzione Reporting Services Extended Protection.
Modifica il file di configurazionersreportserver.config impostando quanto segue:
<RSWindowsExtendedProtectionLevel>Allow</RSWindowsExtendedProtectionLevel> <RSWindowsExtendedProtectionScenario>Any</RSWindowsExtendedProtectionScenario>Riavviare il servizio Reporting Services.
Se non vuoi continuare a usare Extended Protection, allora riimposta i valori di configurazione ai valori predefiniti e riavvia l'account Reporting Services Service.
<RSWindowsExtendedProtectionLevel>Off</RSWindowsExtendedProtectionLevel>
<RSWindowsExtendedProtectionScenario>Proxy</RSWindowsExtendedProtectionScenario>
Per ulteriori informazioni, consulta Protezione estesa per l'autenticazione con Reporting Services.
Come il browser sceglie Kerberos negoziato o NTLM negoziato
Quando usi Internet Explorer per connetterti al server di report, nell'intestazione di autenticazione viene specificato Kerberos negoziato oppure NTLM. NTLM viene usato al posto di Kerberos quando:
La richiesta viene inviata a un server di report locale.
La richiesta viene inviata a un indirizzo IP del computer server di report invece che a un header host o a un nome server.
Il software del firewall blocca le porte utilizzate per l'autenticazione Kerberos.
Il sistema operativo di un determinato server non ha abilitato Kerberos.
Il dominio include versioni più vecchie dei sistemi operativi client e server Windows che non supportano la funzione di autenticazione Kerberos integrata nelle versioni più recenti del sistema operativo.
Inoltre, Internet Explorer potrebbe scegliere tra Negotiated Kerberos o NTLM a seconda di come hai configurato URL, LAN e impostazioni di proxy.
URL del server di report
Se l'URL include un dominio completamente qualificato, Internet Explorer seleziona NTLM. Se l'URL specifica localhost, Internet Explorer seleziona NTLM. Se l'URL specifica il nome di rete del computer, Internet Explorer seleziona Negozia, che ha successo o meno, a seconda che esista o meno un SPN per l'account del servizio Report Server.
Impostazioni LAN e proxy sul client
Le impostazioni LAN e proxy impostate in Internet Explorer possono determinare se NTLM viene scelto invece di Kerberos. Tuttavia, poiché le impostazioni LAN e proxy variano tra le organizzazioni, non è possibile determinare con precisione quali impostazioni esatte contribuiscono agli errori di autenticazione di Kerberos. Ad esempio, la tua organizzazione potrebbe imporre impostazioni proxy che trasformano gli URL da URL intranet a URL di nomi di dominio completamente qualificati che si risolvono tramite connessioni Internet. Se vengono utilizzati diversi fornitori di autenticazione per tipi differenti di URL, potresti notare che alcune connessioni hanno successo quando ti aspetti che falliscano.
Potresti incontrare errori di connessione che pensi siano dovuti a fallimenti di autenticazione. Se sì, puoi provare diverse combinazioni di impostazioni LAN e proxy per isolare il problema. In Internet Explorer, le impostazioni LAN e proxy sono presenti nella finestra di dialogo Impostazioni della Rete Locale (LAN), che si apre selezionando le impostazioni LAN nella scheda Connessione delle Opzioni Internet.
Informazioni aggiuntive per Kerberos e i server di report
- Per ulteriori informazioni su Kerberos e i server di report, vedere Distribuzione di una soluzione di business intelligence tramite SharePoint, Reporting Services e PerformancePoint Monitoring Server con Kerberos.
Contenuti correlati
- Autenticazione in un server di report
- Concessione di autorizzazioni in un server di report in modalità nativa
- File di configurazione RsReportServer.config
- Configura l'autenticazione di base sul server di report
- Configura l'autenticazione personalizzata o basata su moduli nel server di report
- Protezione estesa per l'autenticazione con Reporting Services