Procedura: Configurazione dell'autenticazione di Windows in Reporting Services

Per impostazione predefinita, Reporting Services accetta richieste che specificano l'autenticazione con negoziazione o NTLM. Se nella distribuzione sono incluse applicazioni client e browser che utilizzano tali provider di protezione, è possibile utilizzare i valori predefiniti senza alcuna configurazione aggiuntiva. Se si desidera utilizzare un provider di protezione diverso per la protezione integrata di Windows, ad esempio se si desidera utilizzare direttamente l'autenticazione Kerberos, o se i valori predefiniti sono stati modificati e si desidera ripristinare le impostazioni originali, è possibile utilizzare le informazioni contenute in questo argomento per specificare le impostazioni di autenticazione nel server di report.

Per utilizzare la protezione integrata di Windows, ogni utente che richiede l'accesso a un server di report deve disporre di un account utente di dominio o locale di Windows valido o essere membro di un account di gruppo di dominio o locale di Windows. È possibile includere account di altri domini, purché tali domini siano di tipo trusted. Per accedere a operazioni specifiche del server di report, gli account devono disporre dell'accesso al computer relativo e devono quindi essere assegnati a ruoli.

È necessario inoltre che siano soddisfatti i seguenti requisiti aggiuntivi:

  • Nei file RSeportServer.config AuthenticationType deve essere impostato su RSWindowsNegotiate, RSWindowsKerberos o RSWindowsNTLM. Per impostazione predefinita, il file RSReportServer.config include l'impostazione RSWindowsNegotiate se l'account del servizio del server di report è NetworkService o LocalSystem; in caso contrario, viene utilizzata l'impostazione RSWindowsNTLM. Se sono presenti applicazioni che utilizzano solo l'autenticazione Kerberos, è possibile aggiungere RSWindowsKerberos.

    Nota importanteImportante

    L'utilizzo di RSWindowsNegotiate comporterà un errore di autenticazione Kerberos se il servizio del server di report è stato configurato per essere eseguito con un account utente di dominio e non è stato registrato un nome SPN per l'account. Per ulteriori informazioni, vedere Risoluzione di errori di autenticazione Kerberos durante la connessione a un server di report in questo argomento.

  • È necessario che ASP.NET sia configurato per utilizzare l'autenticazione di Windows. Per impostazione predefinita, i file Web.config per il servizio Web ReportServer e Gestione report includono l'impostazione <authentication mode="Windows">. Se tale impostazione viene modificata in <authentication mode="Forms">, l'autenticazione di Windows per Reporting Services avrà esito negativo.

  • Nei file Web.config per il servizio Web ReportServer e Gestione report deve essere presente l'impostazione <identity impersonate= "true" />.

  • Nell'applicazione client o nel browser deve essere supportata la protezione integrata di Windows.

Per modificare le impostazioni di autenticazione del server di report, modificare gli elementi XML e i valori nel file RSReportServer.config. È possibile copiare e incollare gli esempi disponibili in questo argomento per implementare combinazioni specifiche.

Le impostazioni predefinite funzionano in modo ottimale se tutti i computer client e server si trovano nello stesso dominio o in un dominio di tipo trusted e se il server di report è distribuito per l'accesso Intranet attraverso un firewall aziendale. I domini singoli e di tipo trusted sono un requisito per il passaggio delle credenziali di Windows. Le credenziali possono essere passate più volte se si abilita il protocollo Kerberos versione 5 per i server. In caso contrario, le credenziali possono essere passate solo una volta prima che scadano. Per ulteriori informazioni sulla configurazione delle credenziali per più connessioni di computer, vedere Specifica di credenziale e informazioni sulla connessione per le origini dati del report.

Le istruzioni seguenti sono relative a un server di report in modalità nativa. Se il server di report è distribuito in modalità integrata SharePoint, è necessario utilizzare le impostazioni di autenticazione predefinite che specificano la protezione integrata di Windows. Per supportare server di report in modalità integrata SharePoint, il server di report utilizza funzionalità interne nell'estensione di autenticazione di Windows predefinita.

Per configurare un server di report per l'utilizzo della protezione integrata di Windows

  1. Aprire RSReportServer.config in un editor di testo.

  2. Individuare <Authentication>.

  3. Copiare una delle strutture XML seguenti che corrisponde meglio alle proprie esigenze. È possibile specificare RSWindowsNegotiate, RSWindowsNTLM e RSWindowsKerberos in qualsiasi ordine. Se si desidera autenticare la connessione anziché ogni singola richiesta, è necessario abilitare la persistenza dell'autenticazione in modo che tutte le richieste per cui è necessaria l'autenticazione verranno consentite per la durata della connessione.

    La prima struttura XML è la configurazione predefinita quando l'account del servizio del server di report è NetworkService o LocalSystem:

    <Authentication>
          <AuthenticationTypes>
                 <RSWindowsNegotiate />
          </AuthenticationTypes>
          <EnableAuthPersistence>true</EnableAuthPersistence>
    </Authentication>
    

    La seconda struttura XML è la configurazione predefinita quando l'account del servizio del server di report non è NetworkService o LocalSystem:

    <Authentication>
          <AuthenticationTypes>
                 <RSWindowsNTLM />
          </AuthenticationTypes>
          <EnableAuthPersistence>true</EnableAuthPersistence>
    

    </Authentication>

    La terza struttura XML specifica tutti i pacchetti di protezione utilizzati nella protezione integrata di Windows:

          <AuthenticationTypes>
                 <RSWindowsNegotiate />
                 <RSWindowsKerberos />
                 <RSWindowsNTLM />
          </AuthenticationTypes>
    

    La quarta struttura XML specifica l'autenticazione NTLM solo per distribuzioni che non supportano l'autenticazione Kerberos o per risolvere errori di autenticazione Kerberos:

          <AuthenticationTypes>
                 <RSWindowsNTLM />
          </AuthenticationTypes>
    
  4. Incollare la struttura sulle voci esistenti per <Authentication>.

    Si noti che non è possibile utilizzare Custom con i tipi RSWindows.

  5. Salvare il file.

  6. Se è stata configurata una distribuzione con scalabilità orizzontale, ripetere questi passaggi per altri server di report presenti nella distribuzione.

  7. Riavviare il server di report per cancellare qualsiasi sessione attualmente aperta.

Risoluzione di errori di autenticazione Kerberos durante la connessione a un server di report

In un server di report configurato per l'autenticazione con negoziazione o Kerberos, se si verifica un errore di autenticazione Kerberos la connessione client al server di report avrà esito negativo. Di seguito vengono riportate le condizioni che indicano la presenza di errori di autenticazione Kerberos:

  • Il servizio del server di report è in esecuzione come account utente di dominio di Windows, ma non è stato registrato un nome SPN per l'account.

  • Il server di report è configurato con l'impostazione RSWindowsNegotiate.

  • Nell'intestazione dell'autenticazione della richiesta inviata al server di report dal browser viene scelta l'autenticazione Kerberos anziché l'autenticazione NTLM.

È possibile rilevare l'errore se è stata abilitata la registrazione Kerberos. Un altro sintomo dell'errore consiste in più richieste delle credenziali e successivamente nella visualizzazione di una finestra del browser vuota.

Per confermare che si è verificato un errore di autenticazione Kerberos, rimuovere < RSWindowsNegotiate /> dal file di configurazione, quindi riprovare a stabilire la connessione.

Dopo avere confermato la presenza del problema, è possibile risolverlo nei modi seguenti:

  • Registrare un nome SPN per il servizio del server di report con l'account utente di dominio. Per ulteriori informazioni, vedere Procedura: Registrazione di un nome dell'entità servizio (SPN) per un server di report.

  • Modificare l'account del servizio in modo che venga eseguito con un account predefinito, ad esempio Servizio di rete. Gli account predefiniti eseguono il mapping del nome SPN HTTP al nome SPN dell'host, definito quando un computer viene collegato a una rete. Per ulteriori informazioni, vedere Procedura: Configurazione di un account del servizio per Reporting Services.

  • Utilizzare NTLM, che in genere funzionerà nei casi in cui l'autenticazione Kerberos ha esito negativo. Per utilizzare NTLM, rimuovere RSWindowsNegotiate dal file RSReportServer.config e verificare che sia specificato solo RSWindowsNTLM. Se si sceglie questo approccio, è possibile continuare a utilizzare un account utente di dominio per il servizio del server di report anche se per tale account non si definisce un nome SPN.

Scelta tra l'autenticazione negoziata Kerberos o NTLM da parte del browser

Quando si utilizza Internet Explorer per connettersi al server di report, nell'intestazione di autenticazione viene specificata l'autenticazione negoziata Kerberos o NTLM. Di seguito vengono riportati i casi in cui viene utilizzata l'autenticazione NTLM anziché l'autenticazione Kerberos:

  • Invio della richiesta a un server di report locale.

  • Invio della richiesta a un indirizzo IP del computer del server di report anziché a un'intestazione host oppure a un nome del server.

  • Blocco delle porte utilizzate per l'autenticazione Kerberos da parte del software firewall.

  • Autenticazione Kerberos non abilitata nel sistema operativo di un server specifico.

  • Presenza nel dominio di versioni precedenti di sistemi operativi client e server Windows che non supportano la funzionalità di autenticazione Kerberos disponibile nelle versioni più recenti del sistema operativo.

Internet Explorer potrebbe inoltre scegliere l'autenticazione negoziata Kerberos o NTLM in base alla configurazione delle impostazioni LAN, dell'URL e del proxy.

URL del server di report

Se nell'URL è incluso un nome di dominio completo o se nell'URL è specificato localhost, Internet Explorer seleziona l'autenticazione NTLM. Se nell'URL è specificato il nome di rete del computer, Internet Explorer seleziona l'autenticazione con negoziazione, che avrà esito positivo o negativo in base all'esistenza o meno di un nome SPN per l'account del servizio del server di report.

Impostazioni LAN e del proxy nel client

Le impostazioni LAN e del proxy specificate in Internet Explorer possono determinare la scelta dell'autenticazione NTLM rispetto all'autenticazione Kerberos. Poiché le impostazioni LAN e del proxy variano tra le organizzazioni, non è possibile tuttavia determinare con precisione le impostazioni esatte che contribuiscono agli errori di autenticazione Kerberos. Un'organizzazione potrebbe ad esempio applicare impostazioni del proxy che trasformano gli URL Intranet in URL con nome di dominio completo che vengono risolti durante le connessioni Internet. Se per tipi diversi di URL vengono utilizzati provider di autenticazione differenti, alcune connessioni potrebbero avere esito positivo sebbene sia previsto un esito negativo.

Se si verificano problemi di connessione che si ritiene siano dovuti a errori di autenticazione, è possibile provare a utilizzare combinazioni diverse di impostazioni LAN e del proxy per isolare il problema. In Internet Explorer le impostazioni LAN e del proxy sono presenti nella finestra di dialogo Impostazioni rete locale (LAN). Per aprire tale finestra, fare clic su Impostazioni LAN nella scheda Connessioni in Opzioni Internet.