Procedura: Registrazione di un nome dell'entità servizio (SPN) per un server di report

Se si distribuisce Reporting Services in una rete che utilizza il protocollo Kerberos per l'autenticazione reciproca, è necessario creare un nome dell'entità servizio (SPN) per il server di report se questo è configurato per l'esecuzione come account utente di dominio. Inoltre, quando si configura un utente del dominio come account del servizio, il server di report deve essere configurato in modo da utilizzare l'autenticazione NTLM.

Informazioni sugli SPN

Un SPN è un identificatore univoco per un servizio in una rete che utilizza l'autenticazione Kerberos. Un SPN è costituito da una classe del servizio, un nome host e una porta. In una rete che utilizza l'autenticazione Kerberos un SPN per il server deve essere registrato con un account computer predefinito, ad esempio NetworkService o LocalSystem, o un account utente. Gli SPN vengono registrati automaticamente per gli account predefiniti. Quando, tuttavia, si esegue un servizio utilizzando un account utente di dominio, è necessario registrare manualmente l'SPN per l'account che si desidera utilizzare.

Per creare un SPN, è possibile utilizzare l'utilità della riga di comando SetSPN. Per ulteriori informazioni, vedere la panoramica su Setspn (la pagina potrebbe essere in inglese) in Microsoft Windows Server TechCenter.

Per eseguire l'utilità nel controller di dominio, è necessario essere un amministratore di dominio.

Sintassi

La sintassi del comando per l'utilizzo dell'utilità SetSPN per la creazione di un SPN per il server di report è analoga alla seguente:

Setspn -a http/<computername>.<domainname>:<port> <domain-user-account>

SetSPN è disponibile nel pacchetto degli strumenti di supporto di Windows Server 2003 Service Pack 1, che è necessario scaricare separatamente. L'argomento -a viene utilizzato per registrare un nome dell'entità servizio con un account specifico.

HTTPè la classe del servizio. Il servizio Web ReportServer viene eseguito in HTTP.SYS. Una conseguenza della creazione di un SPN per HTTP è che a tutte le applicazioni Web presenti nello stesso computer ed eseguite in HTTP.SYS, incluse le applicazioni ospitate in IIS, verranno concessi ticket basati sull'account utente di dominio. Se tali servizi vengono eseguiti con un account diverso, le richieste di autenticazione avranno esito negativo. Per evitare questo problema, assicurarsi di configurare tutte le applicazioni HTTP per l'esecuzione con lo stesso account oppure creare intestazioni host per ogni applicazione e quindi SPN distinti per ciascuna intestazione host. Quando si configurano le intestazioni host, è necessario apportare le modifiche DNS indipendentemente dalla configurazione di Reporting Services.

I valori specificati per <nomecomputer>, <nomedominio>, e <porta> identificano l'indirizzo di rete univoco del computer che ospita il server di report. Può trattarsi di un nome host locale o di un nome di dominio completo (FQDN). Se è presente solo un dominio e si utilizza la porta 80, è possibile omettere <nomedominio> e <porta> dalla riga di comando. <account-utente-dominio> è l'account utente utilizzato per l'esecuzione del servizio ReportServer e per la registrazione dell'SPN.

Nota

NOTA: se si utilizzano Internet Explorer e l'autenticazione Kerberos è consigliabile non specificare la porta come parte della riga di comando. Per ulteriori informazioni, vedere la pagina relativa all'impossibilità di utilizzare il protocollo di autenticazione Kerberos in Internet Explorer per connettersi a un sito Web.

Registrare un SPN per l'account utente di dominio

Per registrare un SPN per un servizio del server di report eseguito come utente di dominio

  1. Installare Reporting Services e configurare il servizio del server di report per l'esecuzione come account utente di dominio. Si noti che gli utenti non saranno in grado di connettersi al server di report fino a quando non vengono completati i passaggi seguenti.

  2. Scaricare e installare gli strumenti di supporto di Windows Server 2003 Service Pack 1 dall'Area download.

  3. Accedere al controller di dominio come amministratore di dominio.

  4. Aprire la finestra del prompt dei comandi.

  5. Copiare il comando seguente, sostituendo i valori segnaposto con quelli effettivi, validi per la rete in uso:

    Setspn -a http/<computer-name>.<domain-name>:<port> <domain-user-account>
    
  6. Eseguire il comando.

  7. Aprire il file RsReportServer.config e individuare la sezione <AuthenticationTypes>. Aggiungere <RSWindowsNegotiate/> come prima voce in questa sezione per attivare NTLM.