Condividi tramite


Registrazione del nome SPN per un'istanza di Analysis Services

Un nome SPN (Service Principle Name) identifica in modo univoco un'istanza del servizio in un dominio Active Directory quando Kerberos viene utilizzato per l'autenticazione reciproca delle identità del servizio e del client. Il nome SPN è associato all'account di accesso con cui viene eseguita l'istanza del servizio.

Per le applicazioni client che si connettono ad Analysis Services tramite l'autenticazione Kerberos, le librerie client di Analysis Services creano un nome SPN utilizzando il nome host dalla stringa di connessione e altre variabili note, ad esempio la classe del servizio, che vengono risolte in qualsiasi versione specificata di Analysis Services.

Per eseguire l'autenticazione reciproca, i nomi SPN creati dal client devono corrispondere a un oggetto SPN corrispondente in un controller di dominio Active Directory. Pertanto potrebbe essere necessario registrare più nomi SPN per una singola istanza di Analysis Services per includere tutte le modalità con cui un utente può specificare il nome host in una stringa di connessione. Ad esempio, probabilmente sono necessari due nomi SPN per gestire il nome di dominio completo (FQDN) di un server e il nome breve di un computer. Una corretta registrazione del nome SPN di Analysis Services è essenziale per una valida connessione. Se il nome SPN è inesistente, in formato non valido o duplicato, la connessione avrà esito negativo.

La registrazione del nome SPN è un'attività manuale eseguita dall'amministratore di Analysis Services. Diversamente da quanto accade per il motore di database di SQL Server, in Analysis Services non viene mai eseguita la registrazione automatica del nome SPN all'avvio del servizio. È necessaria la registrazione manuale quando Analysis Services viene eseguito con l'account virtuale predefinito, un account utente di dominio o un account predefinito, compreso un SID per servizio.

La registrazione del nome SPN non è necessaria se il servizio viene eseguito con un account del servizio gestito predefinito creato da un amministratore di dominio. Si noti che a seconda del livello funzionale del dominio, è possibile che per registrare un nome SPN siano necessarie le autorizzazioni di amministratore di dominio.

SuggerimentoSuggerimento

Microsoft Kerberos Configuration Manager per SQL Server è uno strumento di diagnostica che semplifica la risoluzione dei problemi di connettività correlati a Kerberos con SQL Server. Per ulteriori informazioni, vedere Microsoft Kerberos Configuration Manager per SQL Server.

In questo argomento sono incluse le sezioni seguenti:

When SPN registration is required

SPN format for Analysis Services

SPN registration for a virtual account

SPN registration for a domain account

SPN registration for a built-in account

SPN registration for a named instance

SPN registration for an SSAS cluster

SPN registration for SSAS instances configured for HTTP access

SPN registration for SSAS instances listening on fixed ports

Quando è necessaria la registrazione del nome SPN

Tramite qualsiasi connessione client in cui viene specificato "SSPI=Kerberos" nella stringa di connessione vengono introdotti i requisiti di registrazione del nome SPN per un'istanza di Analysis Services.

La registrazione del nome SPN è necessaria nei casi seguenti. Per informazioni più dettagliate, vedere Configurare Analysis Services per la delega vincolata Kerberos.

  • È necessaria la delega dell'identità per far passare l'identità dell'utente dall'applicazione client o da un servizio di livello intermedio ad Analysis Services. La delega dell'identità viene in genere utilizzata quando vengono definiti filtri o autorizzazioni per utente in oggetti specifici.

    Uno scenario comune relativo alla delega dell'identità è quando si configurano servizi di livello intermedio, ad esempio Excel Services o Reporting Services, per la delega vincolata al fine di rappresentare l'identità di un utente per il recupero dati in Analysis Services. Per supportare questo comportamento, è necessario fornire un nome SPN di Analysis Services come servizio di destinazione quando si configura Excel Services o Reporting Services per la delega vincolata.

  • Analysis Services delega un'identità utente quando vengono recuperati i dati da un database relazionale di SQL Server per i database tabulari tramite la modalità DirectQuery. Questo è l'unico scenario in cui Analysis Services delegherà l'identità utente a un altro servizio.

Formato SPN per Analysis Services

Utilizzare setspn per registrare un nome SPN. Nei sistemi operativi più recenti, setspn viene installato come utilità di sistema. Per ulteriori informazioni, vedere SetSPN.

Nella tabella seguente vengono descritte le singole parti di un nome SPN di Analysis Services.

Elemento

Descrizione

Classe del servizio

MSOLAPSvc.3 identifica il servizio come istanza di Analysis Services. L'estensione .3 è un riferimento alla versione del protocollo XMLA-over-TCP/IP utilizzato nelle trasmissioni di Analysis Services. È indipendente dalla versione del prodotto. Di conseguenza, MSOLAPSvc.3 è la classe del servizio corretta per SQL Server 2005, 2008, 2008 R2, 2012 e per qualsiasi versione successiva di Analysis Services finché il protocollo non viene revisionato.

Nome host

Viene identificato il computer in cui viene eseguito il servizio. Può trattarsi di un nome di dominio completo o di un nome NetBIOS. È consigliabile registrare un nome SPN per entrambi.

Quando si registra un nome SPN per il nome NetBIOS di un server, accertarsi di utilizzare SetupSPN –S per verificare eventuali registrazioni duplicate. Per i nomi NetBIOS non viene garantita l'univocità nella foresta e l'esistenza di una registrazione duplicata del nome SPN causerà un errore di connessione.

Per i cluster con carico bilanciato di Analysis Services, il nome host deve essere il nome virtuale assegnato al cluster.

Non creare mai un nome SPN utilizzando l'indirizzo IP. Kerberos utilizza le funzionalità di risoluzione DNS del dominio. Specificando un indirizzo IP si ignora tale funzionalità.

Numero di porta

Sebbene il numero di porta faccia parte della sintassi del nome SPN, non specificare mai un numero di porta quando si registra un nome SPN di Analysis Services. I due punti ( : ), in genere usati per specificare un numero di porta nella sintassi standard del nome SPN, vengono usati da Analysis Services per specificare il nome dell'istanza. Per un'istanza di Analysis Services, si presume che la porta utilizzata sia la porta predefinita (TCP 2383) o una porta assegnata dal servizio SQL Server Browser (TCP 2382).

Nome istanza

Analysis Services è un servizio replicabile che è possibile installare più volte nello stesso computer. Ogni istanza viene identificata tramite il nome.

Il nome dell'istanza è preceduto dai due punti ( : ). Ad esempio, per un computer host denominato SRV01 e un'istanza denominata SSAS-Tabular, il nome SPN sarà SRV01:SSAS-Tabular.

Si noti che la sintassi per specificare un'istanza denominata di Analysis Services differisce da quella utilizzata da altre istanze di SQL Server. Altri servizi utilizzano una barra rovesciata (\) per aggiungere il nome dell'istanza in un nome SPN.

Account servizio

Si tratta dell'account di avvio del servizio Windows MSSQLServerOLAPService. Può essere un account utente di dominio di Windows, un account virtuale, un account dei servizi gestiti o un account predefinito, ad esempio un SID per servizio, NetworkService o LocalSystem. Un account utente di dominio di Windows può essere nel formato dominio\utente o utente@dominio.

Registrazione del nome SPN per un account virtuale

Gli account virtuali sono il tipo di account predefinito per i servizi di SQL Server. L'account virtuale è NT Service\MSOLAPService per un'istanza predefinita e NT Service\MSOLAP$<nome-istanza> per un'istanza denominata.

Come indicato dal nome, questi account non esistono in Active Directory. Un account virtuale esiste solo nel computer locale. Quando si effettua la connessione a servizi, applicazioni o dispositivi esterni, l'operazione viene eseguita tramite l'account del computer locale. Per questo motivo, la registrazione di un nome SPN per Analysis Services in esecuzione con un account virtuale è in effetti la registrazione di un nome SPN per l'account del computer.

Sintassi di esempio per un'istanza predefinita in esecuzione come NT Service\MSOLAPService

In questo esempio viene mostrata la sintassi setspn per un'istanza predefinita di Analysis Services in esecuzione con l'account virtuale predefinito. Nell'esempio, il nome host del computer è AW-SRV01. Come accennato, per la registrazione del nome SPN deve essere specificato l'account del computer anziché l'account virtuale, NT Service\MSOLAPService.

Setspn -s MSOLAPSvc.3/AW-SRV01.AdventureWorks.com AW-SRV01

[!NOTA]

Ricordarsi di creare due registrazioni del nome SPN, una per il nome host NetBIOS e una seconda per il nome di dominio completo dell'host. In applicazioni client differenti vengono utilizzare convenzioni di nomi host diversi per la connessione ad Analysis Services. La presenza di due registrazioni del nome SPN garantisce che sono state considerate entrambe le versioni del nome host.

Sintassi di esempio per un'istanza denominata in esecuzione come NT Service\MSOLAP$<nome-istanza>

In questo esempio viene mostrata la sintassi setspn per un'istanza denominata in esecuzione con l'account virtuale predefinito. Nell'esempio, il nome host del computer è AW-SRV02 e il nome dell'istanza è AW-FINANCE. Anche in questo caso, si tratta dell'account del computer specificato per il nome SPN, anziché dell'account virtuale NT Service\MSOLAP$<nome-istanza>.

Setspn -s MSOLAPSvc.3/AW-SRV02.AdventureWorks.com:AW-FINANCE AW-SRV02

Registrazione del nome SPN per un account di dominio

È pratica comune utilizzare un account di dominio per eseguire un'istanza di Analysis Services.

Per istanze di Analysis Services eseguite in una rete o in un cluster hardware con carico bilanciato, è necessario un account di dominio, con ciascuna istanza del cluster in esecuzione con lo stesso account di dominio.

Sintassi di esempio per un'istanza predefinita in esecuzione come utente di dominio

Questo esempio mostra la sintassi setspn per un'istanza predefinita di Analysis Services in esecuzione con un account utente di dominio, SSAS-Service, nel dominio AdventureWorks.

Setspn –s msolapsvc.3\AW-SRV01.Adventureworks.com AdventureWorks\SSAS-Service
SuggerimentoSuggerimento

Verificare se il nome SPN è stato creato per il server Analysis Services eseguendo Setspn -L <domain account> o Setspn -L <machinename>, a seconda della modalità di registrazione del nome SPN. Nell'elenco si dovrebbe visualizzare MSOLAPSVC.3/<nomehost>.

Registrazione del nome SPN per un account predefinito

Anche se questa pratica non è consigliata, le installazioni precedenti di Analysis Services sono talvolta configurate per l'esecuzione con account predefiniti come Servizio di rete, Servizio locale o Sistema locale.

Sintassi di esempio per un'istanza predefinita in esecuzione con un account predefinito

La registrazione del nome SPN per un servizio in esecuzione con un account predefinito o SID per servizio è equivalente alla sintassi SPN utilizzata per l'account virtuale. Anziché il nome account, utilizzare l'account del computer:

Setspn -s MSOLAPSvc.3/AW-SRV01.AdventureWorks.com AW-SRV01

Registrazione del nome SPN per un'istanza denominata

Nelle istanze denominate di Analysis Services vengono utilizzate assegnazioni di porta dinamiche che vengono rilevate dal servizio SQL Server Browser. Quando si utilizza un'istanza denominata, registrare un nome SPN sia per il servizio SQL Server Browser sia per l'istanza denominata di Analysis Services. Per ulteriori informazioni, vedere È necessario un nome SPN per il servizio SQL Server Browser quando si stabilisce una connessione a un'istanza denominata di SQL Server Analysis Services o di SQL Server.

Esempio di sintassi SPN per il servizio SQL Server Browser in esecuzione come LocalService

La classe del servizio è MSOLAPDisco.3. Per impostazione predefinita, questo servizio viene eseguito come NT AUTHORITY\LocalService, pertanto la registrazione del nome SPN viene impostata per l'account del computer. In questo esempio, l'account del computer è AW-SRV01, che corrisponde al nome del computer.

Setspn -S MSOLAPDisco.3/AW-SRV01.AdventureWorks.com AW-SRV01

Registrazione del nome SPN per un cluster SSAS

Per i cluster di failover Analysis Services, il nome host deve essere il nome virtuale assegnato al cluster. Si tratta del nome di rete SQL Server, specificato durante l'installazione di SQL Server quando si è installato Analysis Services in un cluster WSFC esistente. È possibile trovare questo nome in Active Directory, oltre che in Gestione cluster di failover | Ruolo | scheda Risorse. Il nome del server nella scheda Risorse è il nome da usare come "nome virtuale" nel comando SPN.

Sintassi SPN per un cluster di Analysis Services

Setspn –s msolapsvc.3/<virtualname.FQDN > <domain user account>

I nodi di un cluster Analysis Services devono utilizzare la porta predefinita (TCP 2383) e devono essere eseguiti con lo stesso account utente di dominio in modo che ogni nodo abbia lo stesso SID. Per altre informazioni, vedere Come eseguire il clustering di SQL Server Analysis Services.

Registrazione del nome SPN per le istanze di SSAS configurate per l'accesso HTTP

A seconda dei requisiti della soluzione, è possibile configurare Analysis Services per l'accesso HTTP. Se la soluzione include IIS come componente di livello intermedio e l'autenticazione Kerberos è un requisito della soluzione, potrebbe essere necessario registrare manualmente un nome SPN per IIS. Per ulteriori informazioni, vedere la sezione "Configurare le impostazioni del computer che esegue IIS" in Come configurare SQL Server 2008 Analysis Services e SQL Server 2005 Analysis Services per utilizzare l'autenticazione Kerberos.

Per quanto riguarda la registrazione del nome SPN per l'istanza di Analysis Services, non esiste alcuna differenza tra un'istanza configurata per TCP o HTTP. La connessione ad Analysis Services da IIS, utilizzando l'estensione ISAPI MSMDPUMP, è sempre TCP.

Pertanto, per registrare il nome SPN è possibile utilizzare le istruzioni delle sezioni precedenti per l'istanza predefinita o denominata. Quando si specifica il nome host, assicurarsi di utilizzare il nome host specificato nel file msmdpump.ini quanto è stato configurato il servizio per l'accesso HTTP.

Per ulteriori informazioni sull'accesso HTTP, vedere Configurare l'accesso HTTP ad Analysis Services in Internet Information Services (IIS) 7.0.

Registrazione del nome SPN per le istanze di SSAS in attesa su porte fisse

Non è possibile specificare un numero di porta nella registrazione del nome SPN di Analysis Services. Se Analysis Services è stato installato come istanza predefinita ed è stato configurato per l'attesa su una porta fissa, è necessario a questo punto configurarlo per l'attesa sulla porta predefinita (TCP 2383). Per le istanze denominate, è necessario utilizzare il servizio SQL Server Browser e le assegnazioni di porta dinamiche.

Un'istanza di Analysis Services può restare in ascolto solo su una singola porta. L'utilizzo di più porte non è supportato. Per ulteriori informazioni sulla configurazione della porta, vedere Configurare Windows Firewall per consentire l'accesso ad Analysis Services.

Vedere anche

Riferimento

Configurare account di servizio e autorizzazioni di Windows

Altre risorse

Autenticazione di Microsoft Business Intelligence e delega d'identità

Autenticazione reciproca tramite Kerberos

Come configurare SQL Server 2008 Analysis Services e SQL Server 2005 Analysis Services per utilizzare l'autenticazione Kerberos

Sintassi SetSPN dei nomi dell'entità servizio (SPN, Setspn.exe)

Quale nome SPN utilizzare e come si crea

SetSPN

Guida dettagliata agli account di servizio

Come utilizzare SPN durante la configurazione di applicazioni Web ospitate su Internet Information Services

Novità degli account del servizio

Configurare l'autenticazione Kerberos per prodotti SharePoint 2010 (white paper)