Registrare un nome dell'entità servizio (SPN) per un server di report

Se si distribuisce Reporting Services in una rete che usa il protocollo Kerberos per l'autenticazione reciproca, è necessario creare un nome dell'entità servizio (SPN) per il servizio del server di report. È necessario creare il nome se lo si configura per l'esecuzione come account utente di dominio.

Informazioni sugli SPN

Un SPN è un identificatore univoco per un servizio in una rete che utilizza l'autenticazione Kerberos. È costituito da una classe di servizio, un nome host e talvolta una porta. I nomi dell'entità servizio HTTP non richiedono 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 usare l'utilità della riga di comando SetSPN . Per altre informazioni, vedi:

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

Sintassi

Quando si modificano i nomi SPN con SetSPN, il nome SPN deve essere immesso nel formato corretto. Il formato di un nome SPN HTTP è http/host. 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 -s http/<computer-name>.<domain-name> <domain-user-account>

SetSPN è disponibile in Windows Server. L'argomento -s aggiunge un nome SPN dopo avere verificato che non sono presenti duplicati.

Nota

-s è disponibile in Windows Server a partire da Windows Server 2008.

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, vengono concessi ticket basati sull'account utente di dominio. Se tali servizi vengono eseguiti con un account diverso, le richieste di autenticazione hanno 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 <computername> e <domainname> identificano l'indirizzo di rete univoco del computer che ospita il server di report. Questo valore può essere un nome host locale o di un nome di dominio completo (FQDN). Se è presente un solo dominio, è possibile omettere <domainname> dalla riga di comando. <domain-user-account> è l'account utente usato per l'esecuzione del servizio del server di report e per la registrazione dell'SPN.

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. Gli utenti non sono in grado di connettersi al server di report fino a quando non vengono completati i passaggi seguenti.

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

  3. Aprire un prompt dei comandi.

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

    Setspn -s http/<computer-name>.<domain-name> <domain-user-account>
    

    Ad esempio: Setspn -s http/MyReportServer.MyDomain.com MyDomainUser

  5. Eseguire il comando .

  6. Aprire il file RsReportServer.config e individuare la sezione <AuthenticationTypes>.

  7. Aggiungere <RSWindowsNegotiate> come prima voce in questa sezione per abilitare Kerberos.