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 usato 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 usando 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.
Suggerimento
Microsoft Kerberos Configuration Manager for SQL Server è uno strumento di diagnostica che semplifica la risoluzione dei problemi di connettività correlati a Kerberos con SQL Server. Per altre informazioni, vedere Microsoft Kerberos Configuration Manager per SQL Server.
Suggerimento
Microsoft Kerberos Configuration Manager for SQL Server è uno strumento di diagnostica che semplifica la risoluzione dei problemi di connettività correlati a Kerberos con SQL Server. Per altre informazioni, vedere Microsoft Kerberos Configuration Manager per SQL Server.
In questo argomento sono incluse le sezioni seguenti:
Quando è necessaria la registrazione spn
Formato SPN per Analysis Services
Registrazione SPN per un account virtuale
Registrazione SPN per un account di dominio
Registrazione SPN per un account predefinito
Registrazione SPN per un'istanza denominata
Registrazione SPN per un cluster SSAS
Registrazione SPN per le istanze di SSAS configurate per l'accesso HTTP
Registrazione del nome SPN per le istanze di SSAS in attesa su porte fisse
Quando è necessaria la registrazione del nome SPN
Qualsiasi connessione client che specifica "SSPI=Kerberos" nella stringa di connessione introdurrà i requisiti di registrazione SPN per un'istanza di Analysis Services.
La registrazione del nome SPN è necessaria nei casi seguenti. Per informazioni più dettagliate, vedere Configure Analysis Services for Kerberos constrained delegation.
È 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 usata 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
Usare setspn per registrare un nome SPN. Nei sistemi operativi più recenti, setspn viene installato come utilità di sistema. Per altre informazioni, vedere SetSPN.
Nella tabella seguente vengono descritte le singole parti di un nome SPN di Analysis Services.
Elemento | Descrizione |
---|---|
Classe servizio | MSOLAPSvc.3 identifica il servizio come istanza di Analysis Services. L'estensione .3 è un riferimento alla versione del protocollo XMLA-over-TCP/IP usato 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 usare 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 usando l'indirizzo IP. Kerberos usano 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 utilizzati per fornire un numero di porta nella sintassi standard del nome SPN, vengono utilizzati da Analysis Services per specificare il nome dell'istanza. Per un'istanza di Analysis Services, si presume che la porta usata 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 usata da altre istanze di SQL Server. Altri servizi usano 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$<instance-name> 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 usare 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$<instance-name>
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, è l'account computer specificato per il nome SPN, anziché l'account virtuale NT Service\MSOLAP$<instance-name>.
Setspn -s MSOLAPSvc.3/AW-SRV02.AdventureWorks.com:AW-FINANCE AW-SRV02
Registrazione del nome SPN per un account di dominio
È pratica comune usare 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
Suggerimento
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 verrà visualizzato MSOLAPSVC.3/<nome host> .
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 usata per l'account virtuale. Anziché il nome account, usare 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 usate assegnazioni di porta dinamiche che vengono rilevate dal servizio SQL Server Browser. Quando si usano un'istanza denominata, registrare un nome SPN sia per il servizio SQL Server Browser sia per l'istanza denominata di Analysis Services. Per altre 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, È anche possibile trovarlo nella schedaRisorse ruologestione | | cluster di failover. Il nome del server nella scheda Risorse è quello che deve essere usato 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 usare 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 altre informazioni, vedere "Configurare le impostazioni nel computer che esegue IIS" in Come configurare SQL Server 2008 Analysis Services e SQL Server 2005 Analysis Services per l'uso dell'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, usando l'estensione ISAPI MSMDPUMP, è sempre TCP.
Pertanto, per registrare il nome SPN è possibile usare le istruzioni delle sezioni precedenti per l'istanza predefinita o denominata. Quando si specifica il nome host, assicurarsi di usare il nome host specificato nel file msmdpump.ini quanto è stato configurato il servizio per l'accesso HTTP.
Per altre informazioni sull'accesso HTTP, vedere Configurare l'accesso HTTP a Analysis Services in Internet Information Services (IIS) 8.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 usare 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 altre informazioni sulla configurazione della porta, vedere Configure the Windows Firewall to Allow Analysis Services Access.
Vedere anche
Delega dell'identità e autenticazione di Microsoft Business Intelligence
Autenticazione reciproca tramite Kerberos
Come configurare SQL Server 2008 Analysis Services e SQL Server 2005 Analysis Services per usare l'autenticazione Kerberos
Sintassi SetSPN dei nomi dell'entità servizio (SPN, Setspn.exe)
Quale nome SPN usare e come si crea
SetSPN
Guida dettagliata agli account del servizio gestiti
Configurare account di servizio e autorizzazioni di Windows
Come usare i nomi SPN quando si configurano le applicazioni Web ospitate in Internet Information Services
novità negli account del servizio
Configurare l'autenticazione Kerberos per prodotti SharePoint 2010 (white paper)