Condividi tramite


Risoluzione dei problemi relativi alla protezione estesa (Reporting Services)

Utilizzare le informazioni incluse in questo argomento per risolvere i problemi che possono verificarsi durante l'utilizzo della protezione estesa con SQL Server 2008 R2 Reporting Services. Queste informazioni possono inoltre rivelarsi utili per risolvere i problemi di autenticazione generici la cui causa potrebbe dipendere dalla configurazione della protezione estesa. Per informazioni sugli sviluppi recenti della protezione estesa, vedere la pagina relativa alle informazioni aggiornate sulla protezione estesa.

Common issues and support scenarios

Error messages

Error states

Problemi comuni e scenari di supporto

Come è possibile verificare le impostazioni correnti relative alla protezione estesa?

library!DefaultDomain!698!12/29/2009-10:14:49:: i INFO: Initializing RSWindowsExtendedProtectionLevel to 'Off' as specified in Configuration file.

library!DefaultDomain!698!12/29/2009-10:14:49:: i INFO: Initializing RSWindowsExtendedProtectionScenario to 'Proxy' as specified in Configuration file.

Come è possibile stabilire se il problema di autenticazione non riuscita è causato dalla protezione estesa?

Nel file di log di traccia del server di report saranno incluse voci simili alla seguente:

http!rshost!ec0!12/29/2009-11:01:37:: i INFO: Authentication failed with error state: 46

Individuare il numero di contesto dell'errore e le informazioni aggiuntive nell'elenco di error states alla fine di questo argomento.

Come è possibile verificare se i controlli della protezione estesa sono in esecuzione?

Abilitare la registrazione dettagliata mediante l'aggiornamento del file di configurazione reportingservicesservice.exe.config. Nella sezione <RStrace> impostare:

<add name=”Components” value=”all:4” /> 
  • Riavviare il servizio.

  • Con la registrazione dettagliata abilitata, il processo di autenticazione determinerà la scrittura di righe simili a quelle riportate di seguito, indicando se è in corso la verifica del binding di canale, dell'associazione al servizio o di entrambi:

http!rshost!ec0!12/29/2009-11:01:37:: v VERBOSE: Esecuzione della verifica del binding di canale come proxy.

http!rshost!7b0!12/29/2009-11:26:23:: v VERBOSE: Esecuzione della verifica del binding di canale.

Per ulteriori informazioni, vedere File di configurazione ReportingServicesService.

Catalogo del server di report

Microsoft SQL Client non è stato aggiornato per supportare la protezione estesa al momento del rilascio di SQL Server 2008 R2. SQL Client viene utilizzato per connettersi alle origini dati di SQL Server e al database del catalogo Reporting Services. Questa limitazione di SQL Client determina un impatto su Reporting Services nei modi seguenti:

  • Per l'istanza di SQL Server che esegue il database del catalogo di Reporting Services non è possibile abilitare la protezione estesa. In caso contrario, il server di report non sarà in grado di connettersi al database del catalogo e restituirà errori di autenticazione.

  • Per tutte le istanze di Server SQL utilizzate come origini dati di report Reporting Services non è possibile abilitare la protezione estesa. In caso contrario, i tentativi di connessione effettuati dal server di report alle origini dati dei report avranno esito negativo e verranno restituiti errori di autenticazione. Per risolvere il problema è possibile modificare le origini dati Reporting Services in modo che utilizzino provider nativi anziché SQL Client. Configurare ad esempio le origini dati per il driver ODBC che comporta l'utilizzo di SQL Native Client dotato del supporto per la protezione estesa.

Cosa accade se si abilita la protezione estesa senza configurare SSL?

Il comportamento dipende dall'impostazione di RSWindowsExtendedProtectionScenario nel file di configurazione rsreportserver.config.

Impostazione di RSWindowsExtendedProtectionScenario su Direct e SSL mancante

Quando l'impostazione di RSWindowsExtendedProtectionScenario è Direct e non è presente alcuna prenotazione URL SSL per il server di report o Gestione report, agli utenti che visualizzano il server di report o Gestione report viene in genere presentata una finestra Gestione report vuota,

poiché la mancanza di SSL e l'impostazione di RSWindowsExtendedProtectionScenario su Direct determina la disabilitazione dei tipi di autenticazione <RSWindowsNTLM />, <RSWindowsNegotiate /> e <RSWindowsKerberos /> da parte del server di report. Non risulterà pertanto abilitato alcun tipo di autenticazione e il server di report non risponderà alle richieste. Ciò comporta la visualizzazione di finestre vuote.

Nel file di log di traccia saranno presenti messaggi di errore simili ai seguenti:

configmanager!DefaultDomain!938!12/29/2009-11:39:39:: e ERROR: SSL is required on Report Server connections when ExtendedProtectionScenario is set to Direct

configmanager!DefaultDomain!938!12/29/2009-11:39:39:: e ERROR: SSL is required on Report Manager connections when ExtendedProtectionScenario is set to Direct

Impostazione di RSWindowsExtendedProtectionScenario su proxy e SSL mancante

Quando l'impostazione di RSWindowsExtendedProtectionScenario corrisponde a Proxy e SSL non fa parte dell'ambiente, agli utenti che visualizzano il server di report o Gestione report verrà presentata una pagina di richiesta delle credenziali, che in nessun caso comporterà un'autenticazione corretta. Se SSL è configurato nel server di report, l'aggiunta di "s" all'URL utilizzato nel browser per il server di report o Gestione report consentirà di risolvere il problema. Ad esempio, l'utilizzo di https://<uri> risolverà il problema della visualizzazione della pagina di autenticazione, se ciò dipende dall'impostazione di RSWindowsExtendedProtectionSscenario su proxy.

Nel file di log di traccia del server di report saranno inclusi messaggi simili ai seguenti:

http!rshost!ec0!12/29/2009-11:01:37:: i INFO: Performing Channel Binding Check as Proxy

http!rshost!76c!12/29/2009-10:26:12:: i INFO: Authentication failed with error state: 45

http!rshost!ec0!12/29/2009-11:01:37:: i INFO: Performing Channel Binding Check as Proxy

http!rshost!ec0!12/29/2009-11:01:37:: i INFO: Authentication failed with error state: 46

Dopo avere abilitato la protezione estesa, è possibile connettersi con Internet Explorer, ma non tramite Generatore report, Management Studio o qualsiasi client .NET

Questo scenario si applica solo ai sistemi operativi antecedenti a Windows 7 e Windows 2008 R2. Le versioni di Windows precedenti non sono state inizialmente rilasciate con la funzionalità di protezione estesa e pertanto un computer con una versione precedente del sistema operativo potrebbe non disporre di tutti gli aggiornamenti della protezione estesa, incluso l'aggiornamento della protezione estesa per .NET Framework.

Quando l'impostazione di RSWindowsExtendedProtectionLevel corrisponde a Allow o Require, un'applicazione client in esecuzione in un sistema operativo che supporta la protezione estesa deve fornire il binding di canale e talvolta l'associazione al servizio. In questo esempio:

  • Internet Explorer è stato aggiornato per la protezione estesa nell'ambito dell'aggiornamento della protezione estesa di Windows.

  • A .NET Framework non è stato tuttavia applicata una patch. .NET Framework è necessario per i client .NET quali Generatore report e Management Studio.

Per diagnosticare questo problema, disabilitare la protezione estesa e verificare che l'applicazione client .NET sia in grado di connettersi. Per disabilitare la protezione estesa:

  1. Impostare RSWindowsExtendedProtectionLevel su Off nel file RSReportServer.config.

  2. Riavviare il servizio del server di report.

La soluzione consiste nello scaricare tutti gli aggiornamenti di .NET Framework.

Con la protezione estesa abilitata, l'autenticazione delle connessioni locali ha esito positivo, mentre quella delle connessioni remote non riesce

Quando si esegue un'autenticazione di loopback, il sistema operativo ignora il meccanismo di autenticazione e non impone il binding di canale.

Pertanto, quando si utilizza una connessione HTTP con le impostazioni di configurazione seguenti:

  • RSWindowsExtendedProtectionLevel impostato su Require

    E

  • RSWindowsExtendedProtectionScenario impostato su Proxy

Le connessioni locali avranno esito positivo, ma non le connessioni remote.

A seconda dell'URL utilizzato per stabilire la connessione locale e dalle prenotazioni di URL configurate nel server di report, è comunque possibile che la connessione locale non riesca con un errore di associazione al servizio, in quanto il nome SPN creato in base alla prenotazione di URL potrebbe non corrispondere a un nome SPN nell'elenco di nomi SPN validi.

La connessione remota avrà sempre esito negativo quando si stabilisce una connessione HTTP senza che sia presente un gateway tra il client e il server di report configurato per stabilire una connessione SSL.

Errore 401: autorizzazione negata quando si utilizza un'intestazione host

Questo scenario è specifico per una distribuzione con scalabilità orizzontale di Reporting Services e si presenta quando Gestione report e il server di report si trovano nello stesso computer e utilizzano entrambi intestazioni host e l'autenticazione di Windows. Ad esempio, se si tenta di accedere a Gestione report all'indirizzo http://<nome>/reports, non verrà visualizzato un elenco di report e cartelle come previsto, ma si riceverà il messaggio di errore "HTTP 401 (autorizzazione negata)".

Il riferimento <nome> non corrisponde al nome fisico del computer e viene considerato come un'intestazione host. Si tratta di un nome alternativo per il computer in cui è installato Reporting Services. Le intestazioni host vengono inoltre utilizzate come un'origine per i nomi SPN validi quando Reporting Services elabora l'elenco di nomi SPN validi per la protezione estesa.

Per evitare che si verifichi l'errore 401 di autorizzazione negata, sarà necessario aggiungere il nome del NetBIOS e il nome di dominio completo (FQDN) per <nome> all'elenco di BackConnectionHostNames archiviato nel Registro di sistema di Windows. Riavviare il computer dopo avere apportato la modifica al Registro di sistema.

Per ulteriori informazioni sulla modifica del Registro di sistema, vedere la sezione relativa al metodo 2 per la specifica dei nomi host nell'articolo 896861 della Microsoft Knowledge Base 896861 riguardante la ricezione dell'errore 401.1 durante l'esplorazione di un sito Web che utilizza l'autenticazione integrata ed è ospitato in IIS 5.1 o versione successiva.

Messaggi di errore

Nel file di log di traccia del servizio del server di report potrebbe essere presente l'elenco di messaggi seguente:

Messaggio di errore

Tipo

Causa

Procedura per la risoluzione del problema

Missing or Invalid ExtendedProtectionScenario setting

Errore

  • RSWindowsExtendedProtectionScenario non è presente nel file rsreportserver.config.

  • Aggiornare il file di configurazione ai valori predefiniti.

  • Il valore predefinito per l'impostazione RSWindowsExtendedProtectionLevel è Off.

  • Il valore predefinito per l'impostazione RSWindowsExtendedProtectionScenario è Proxy.

SSL is required on Report Server connections when ExtendedProtectionScenario is set to Direct

Errore

  • RSWindowsExtendedProtectionScenario è impostata su Direct.

  • L'opzione Direct richiede una connessione SSL.

  • Ottenere un certificato SSL e configurare un URL SSL per il server di report e Gestione report. È necessario eseguire le stesse operazioni per Amministrazione centrale SharePoint quando si utilizza Reporting Services in modalità integrata SharePoint.

  • Impostare RSWindowsExtendedProtectionLevel su Off fino a quando un certificato SSL non verrà ottenuto e configurato.

  • Impostare RSWindowsExtendedProtectionScenario su Any se non verrà configurato alcun certificato SSL, ma si desidera disporre di un livello di protezione.

HTTP traffic to Report Server will fail NTLM, Kerberos, Negotiate authentication

Avviso

  • RSWindowsExtendedProtectionScenario è impostata su Direct.

  • L'opzione Direct richiede SSL.

  • Una prenotazione di URL HTTP è stata configurata. L'autenticazione di questa prenotazione di URL non riuscirà.

  • Per comunicare con il server di report, utilizzare HTTPS.

  • Rimuovere la prenotazione di URL HTTP utilizzando Gestione configurazione Reporting Services.

SSL is required on Report Manager connections when ExtendedProtectionScenario is set to Direct

Errore

  • RSWindowsExtendedProtectionScenario è impostata su Direct.

  • L'opzione Direct richiede SSL.

  • Gestione report non dispone di un URL SSL configurato.

  • Ottenere un certificato SSL e configurare un URL SSL per il server di report e Gestione report. È necessario eseguire le stesse operazioni per Amministrazione centrale SharePoint quando si utilizza Reporting Services in modalità integrata SharePoint.

  • Impostare RSWindowsExtendedProtectionLevel su Off fino a quando un certificato SSL non verrà ottenuto e configurato.

  • Impostare RSWindowsExtendedProtectionScenario su Any se non verrà configurato alcun certificato SSL, ma si desidera disporre di un livello di protezione.

Direct connections to Report Server will fail NTLM, Kerberos, Negotiate Authentication

Avviso

  • RSWindowsExtendedProtectionScenario è impostata su Proxy. Nessun URI SSL configurato per Gestione report.

  • In questa modalità di configurazione l'utente DEVE stabilire una connessione su un canale SSL al PROXY. La connessione può essere terminata da un dispositivo proxy. Se viene stabilita una connessione diretta al server SSRS senza un canale SSL, l'autenticazione avrà esito negativo.

  • Verificare che i client utilizzino solo HTTPS.

  • Verificare che sia configurato un proxy dotato di una terminazione SSL configurata.

  • Verificare che tutti i computer, locali e remoti, siano configurati per utilizzare il proxy per le connessioni al server di report e a Gestione report. È possibile che siano necessari aggiornamenti DNS, aggiornamenti del proxy del browser o voci del file HOSTS personalizzate per il computer locale.

  • Configurare un URL SSL nel server Reporting Services per il server report e Gestione report oppure per Amministrazione centrale SharePoint quando si utilizza Reporting Services in modalità integrata SharePoint. Tutte le connessioni locali devono utilizzare l'URL SSL. Questo presuppone che non sia stato configurato alcun proxy con terminazione.

  • Impostare in modo esplicito l'URL di Gestione report per l'utilizzo dell'URL del proxy con SSL.

HTTP traffic to Report Manager may fail NTLM, Kerberos, Negotiate authentication

Avviso

  • ExtendedProtectionScenario è impostata su Proxy e un URI SSL è stato configurato per Gestione report.

  • In questa modalità di configurazione, gli utenti che accedono tramite un proxy si aspettano che l'autenticazione abbia esito positivo, anche se la connessione dal proxy a Gestione report non avviene su un canale SSL.

  • Le connessioni locali a Gestione report devono utilizzare SSL.

  • Verificare che i client utilizzino solo HTTPS (canale SSL).

  • Verificare che sia configurato un proxy dotato di una terminazione SSL configurata.

  • Verificare che tutti i computer, locali e remoti, siano configurati per utilizzare il proxy per le connessioni al server di report e a Gestione report. È possibile che siano necessari aggiornamenti DNS, aggiornamenti del proxy del browser o voci del file HOSTS personalizzate per il computer locale.

  • Configurare un URL SSL nel server Reporting Services per il server di report e Gestione report. Tutte le connessioni locali devono utilizzare l'URL SSL. Questo presuppone che non sia stato configurato alcun proxy con terminazione.

  • Impostare in modo esplicito l'URL di Gestione report per l'utilizzo dell'URL del proxy con SSL.

Contesti di errore

In questa sezione sono inclusi i nomi e le descrizioni dei codici di errore che potrebbero essere presenti nel log di traccia del servizio del server di report correlati alla protezione estesa. Per ulteriori informazioni, vedere Log di traccia del servizio del server di report.

codice

Nome del contesto di errore

Descrizione

44

SNIAUTH_ERRST_SSPIHANDSHAKE_CHANNELBINDINGS_NOTSUPPORTED

Il sistema operativo non supporta i binding di canale, ma il server di report è configurato per richiedere la protezione estesa. Aggiornare il sistema operativo o disabilitare la protezione estesa.

45

SNIAUTH_ERRST_SSPIHANDSHAKE_CHANNELBINDINGS_EMPTYORWRONG

I binding di canale dal client non corrispondono al canale Transport Layer Security stabilito. Il servizio potrebbe essere sotto attacco oppure il provider di dati potrebbe richiedere un aggiornamento per supportare la protezione estesa. La connessione è stata chiusa.

46

SNIAUTH_ERRST_SSPIHANDSHAKE_CHANNELBINDINGS_NULLOREMPTYORWRONG

I binding di canale da questo client non sono disponibili o non corrispondono al canale Transport Layer Security stabilito. Il servizio potrebbe essere sotto attacco oppure il provider di dati o il sistema operativo client potrebbe richiedere un aggiornamento per supportare la protezione estesa. La connessione è stata chiusa.

48

SNIAUTH_ERRST_SSPIHANDSHAKE_SERVICEBINDINGS_UNSUPPORTED

Il sistema operativo non supporta le associazioni ai servizi, ma il server è configurato per richiedere la protezione estesa. Aggiornare il sistema operativo o disabilitare la protezione estesa.

49

SNIAUTH_ERRST_SSPIHANDSHAKE_SERVICEBINDINGS_QUERYCONTEXTATTRIBUTES

QueryContextAttributes non ha potuto recuperare le associazioni ai servizi. Il codice di errore di Windows indica la causa del problema.

51

SNIAUTH_ERRST_SSPIHANDSHAKE_SERVICEBINDINGS_NULL

Il livello della protezione estesa del server è impostato su Consentito o Obbligatorio e il client non ha fornito un nome SPN (Service Principal Name). Per connettersi, il client deve supportare la protezione estesa. Potrebbe essere necessario installare un service pack del sistema operativo che consenta l'associazione al servizio e il binding di canale.

52

SNIAUTH_ERRST_SSPIHANDSHAKE_SERVICEBINDINGS_EMPTY

Il livello della protezione estesa del server è impostato su Consentito o Obbligatorio e il client non ha fornito un nome SPN. Per connettersi, il client deve supportare la protezione estesa.

53

SNIAUTH_ERRST_SSPIHANDSHAKE_SERVICEBINDINGS_SERVICECLASSMISMATCH

L'elemento Classe Service del nome SPN ricevuto non è valido.

54

SNIAUTH_ERRST_SSPIHANDSHAKE_SERVICEBINDINGS_IPADDRESSMISMATCH

L'elemento Indirizzo IP del nome SPN ricevuto non è valido.

55

SNIAUTH_ERRST_SSPIHANDSHAKE_SERVICEBINDINGS_HOSTNAMEMISMATCH

L'elemento Host del nome SPN ricevuto non è valido.

56

SNIAUTH_ERRST_SSPIHANDSHAKE_OOM

Allocazione di memoria non riuscita durante la convalida del nome SPN ricevuto.

57

SNIAUTH_ERRST_SSPIHANDSHAKE_SERVICEBINDINGS_WSASTRINGTOADDRESSFAILEDFORIPV6

WSAStringToAddress non è stato in grado di convertire l'elemento Indirizzo IP del nome SPN ricevuto in una struttura dell'indirizzo. Il codice di errore di Windows indica la causa del problema.